diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-26 21:55:48 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-08-01 11:14:56 +1000 |
commit | 9e8066f398396d26010d9c6c3c2538ff25461ef8 (patch) | |
tree | f742bb1082d57ee8c980d32f1e15e583d8a56ff3 /arch | |
parent | 2537b09c939fca26447f0ac3e688691de06eadda (diff) | |
download | linux-stable-9e8066f398396d26010d9c6c3c2538ff25461ef8.tar.gz linux-stable-9e8066f398396d26010d9c6c3c2538ff25461ef8.tar.bz2 linux-stable-9e8066f398396d26010d9c6c3c2538ff25461ef8.zip |
powerpc/64: Do feature patching before MMU init
Up until now we needed to do the MMU init before feature patching,
because part of the MMU init was scanning the device tree and setting
and/or clearing some MMU feature bits.
Now that we have split that MMU feature modification out into routines
called from early_init_devtree() (called earlier) we can now do feature
patching before calling MMU init.
The advantage of this is it means the remainder of the MMU init runs
with the final set of features which will apply for the rest of the life
of the system. This means we don't have to special case anything called
from MMU init to deal with a changing set of feature bits.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index d8216aed22b7..984696136f96 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c @@ -298,12 +298,12 @@ void __init early_setup(unsigned long dt_ptr) */ configure_exceptions(); - /* Initialize the hash table or TLB handling */ - early_init_mmu(); - /* Apply all the dynamic patching */ apply_feature_fixups(); + /* Initialize the hash table or TLB handling */ + early_init_mmu(); + /* * At this point, we can let interrupts switch to virtual mode * (the MMU has been setup), so adjust the MSR in the PACA to |