[PATCH 06/38] powerpc: Move 64-bit feature fixup earlier
Aneesh Kumar K.V
aneesh.kumar at linux.vnet.ibm.com
Tue Jun 28 21:05:39 AEST 2016
Benjamin Herrenschmidt <benh at 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 <benh at 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
More information about the Linuxppc-dev
mailing list