> There's some special handling for CPU_FTR_HVMODE in 
> cpufeatures_setup_cpu() in kernel/dt_cpu_ftrs.c:
>
>          /* Initialize the base environment -- clear FSCR/HFSCR.  */
>          hv_mode = !!(mfmsr() & MSR_HV);
>          if (hv_mode) {
>                  /* CPU_FTR_HVMODE is used early in PACA setup */
>                  cur_cpu_spec->cpu_features |= CPU_FTR_HVMODE;
>                  mtspr(SPRN_HFSCR, 0);
>          }
>
> With this patch, the comment about PACA setup I assume is no longer 
> true. It looks like we still rely on hv_mode being set to deal with 
> discrepancies between the device tree and the MSR.

This code confuses me. IIUC it sets the CPU feature if we're in HV mode,
which will catch the case where the HV bit is set in the MSR but for
some reason it's not listed in the DT. With my patch, we'll directly
test the MSR so we don't need the cpu feature set for that.

However, the CPU feature is tested elsewhere, so I think the correct
behaviour is to keep the code but drop the comment. Having said that
bootstrapping is hard so lmk if I've misunderstood.

Regards,
Daniel
>
> -- 
> Andrew Donnellan              OzLabs, ADL Canberra
> a...@linux.ibm.com             IBM Australia Limited

Reply via email to