Benjamin Herrenschmidt <b...@kernel.crashing.org> writes: > Make it part of early_setup() as we really want the feature fixups > to be applied before we turn on the MMU since they can have an impact > on the various assembly path related to MMU management and interrupts. > > This makes 64-bit match what 32-bit does. > > Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> > --- > arch/powerpc/kernel/setup_64.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c > index 996bed2..e79cf1b 100644 > --- a/arch/powerpc/kernel/setup_64.c > +++ b/arch/powerpc/kernel/setup_64.c > @@ -286,6 +286,9 @@ void __init early_setup(unsigned long dt_ptr) > /* Initialize the hash table or TLB handling */ > early_init_mmu(); > > + /* Apply all the dynamic patching */ > + apply_feature_fixups(); > + > /* > * At this point, we can let interrupts switch to virtual mode > * (the MMU has been setup), so adjust the MSR in the PACA to > @@ -468,8 +471,6 @@ void __init setup_system(void) > { > DBG(" -> setup_system()\n"); > > - apply_feature_fixups(); > - > /* > * Unflatten the device-tree passed by prom_init or kexec > */
Why not move it immediately after we finish all the device tress scan. ie, early_init_devtree(__va(dt_ptr)); epapr_paravirt_early_init(); + apply_feature_fixups(); /* Now we know the logical id of our boot cpu, setup the paca. */ setup_paca(&paca[boot_cpuid]); fixup_boot_paca(); Also with a comment explaining why we can't move it further up ? -aneesh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev