Lets save one cycle by aligning swapper_pg_dir on 16 bits boundary. Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr>
--- arch/powerpc/kernel/head_8xx.S | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 4a49ff3..6c2aa33 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -310,7 +310,6 @@ InstructionTLBMiss: andi. r11, r10, 0x0800 /* Address >= 0x80000000 */ beq 3f lis r11, swapper_pg_dir@h - ori r11, r11, swapper_pg_dir@l rlwimi r10, r11, 0, 2, 19 3: #endif @@ -383,7 +382,6 @@ DataStoreTLBMiss: andi. r11, r10, 0x0800 beq 3f lis r11, swapper_pg_dir@h - ori r11, r11, swapper_pg_dir@l rlwimi r10, r11, 0, 2, 19 3: lwz r11, 0(r10) /* Get the level 1 entry */ @@ -526,7 +524,6 @@ FixupDAR:/* Entry point for dcbx workaround. */ mfspr r11, SPRN_M_TWB /* Get level 1 table entry address */ beq- 3f /* Branch if user space */ lis r11, (swapper_pg_dir-PAGE_OFFSET)@h - ori r11, r11, (swapper_pg_dir-PAGE_OFFSET)@l rlwimi r11, r10, 32-20, 0xffc /* r11 = r11&~0xffc|(r10>>20)&0xffc */ 3: lwz r11, 0(r11) /* Get the level 1 entry */ DO_8xx_CPU6(0x3b80, r3) @@ -687,7 +684,6 @@ start_here: * easier......until someone changes init's static structures. */ lis r6, swapper_pg_dir@h - ori r6, r6, swapper_pg_dir@l tophys(r6,r6) #ifdef CONFIG_8xx_CPU6 lis r4, cpu6_errata_word@h @@ -912,14 +908,15 @@ set_dec_cpu6: .data .globl sdata sdata: - .globl empty_zero_page -empty_zero_page: - .space 4096 - .globl swapper_pg_dir + .align 16 swapper_pg_dir: .space 4096 + .globl empty_zero_page +empty_zero_page: + .space 4096 + /* Room for two PTE table poiners, usually the kernel and current user * pointer to their respective root page table (pgdir). */ -- 1.7.1 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev