Re: [patch 23/33] powerpc: Localize mmu_off
From: Milton Miller <hidden>
Date: 2007-06-18 14:08:45
On Sat Jun 16 08:06:19 EST 2007, Geoff Levand wrote:
This just removes the dependency __mmu_off has on the symbol __after_prom_start. I found the current code inconvenient when I wanted to put some debugging code between the call to __mmu_off and the branch to __after_prom_start.
You are entering this code with the mmu on? My first thought was that is unexpected, but aparently Apple machines do that, so its supported for the master -- not the slaves.
quoted hunk ↗ jump to hunk
Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com> --- arch/powerpc/kernel/head_64.S | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)--- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S@@ -1695,9 +1695,11 @@ _GLOBAL(__start_initialization_multiplat 2: /* Switch off MMU if not already */ - LOAD_REG_IMMEDIATE(r4, .__after_prom_start - KERNELBASE) + LOAD_REG_IMMEDIATE(r4, __mmu_off_return - KERNELBASE) add r4,r4,r30 bl .__mmu_off +__mmu_off_return: + b .__after_prom_start _STATIC(__boot_from_prom)--
That seems like a long label. I could stand a 1: there (ie a local numeric label). Hmm... how about always going directly there: - bl .__mmu_off - b .__after_prom_start + mtlr r4 + b .__mmu_off So that there is no space to add code that is skipped if the mmu was on? milton