On Tue, Jan 8, 2019 at 3:08 PM Atish Patra <[email protected]> wrote: > > Currently, we set hwcap based on first valid cpu from > DT. This may not be correct always as that CPU might not > be current booting cpu. > > Set hwcap based on the current cpu instead of first > valid CPU from DT. > > Signed-off-by: Atish Patra <[email protected]> > --- > arch/riscv/kernel/cpufeature.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c > index a6e369ed..ed6122ff 100644 > --- a/arch/riscv/kernel/cpufeature.c > +++ b/arch/riscv/kernel/cpufeature.c > @@ -43,12 +43,15 @@ void riscv_fill_hwcap(void) > elf_hwcap = 0; > > /* > - * We don't support running Linux on hertergenous ISA systems. For > - * now, we just check the ISA of the first "okay" processor. > + * We don't support running Linux on hertergenous ISA systems. > + * But first "okay" processor might not be the boot cpu. > + * Check the ISA of boot cpu. > */ > - while ((node = of_find_node_by_type(node, "cpu"))) > - if (riscv_of_processor_hartid(node) >= 0) > + while ((node = of_find_node_by_type(node, "cpu"))) { > + if (riscv_of_processor_hartid(node) == boot_cpu_hartid) > break; > + } > + > if (!node) { > pr_warning("Unable to find \"cpu\" devicetree entry"); > return; > -- > 2.7.4 >
Looks good to me. Reviewed-by: Anup Patel <[email protected]> Regards, Anup

