powerpc/8xx: Avoid testing for kernel space in ITLB Miss.
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>
Tue, 2 Mar 2010 05:37:10 +0000 (05:37 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 7 Apr 2010 08:00:32 +0000 (18:00 +1000)
Only modules will cause ITLB Misses as we always pin
the first 8MB of kernel memory.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/head_8xx.S

index ecc4a02..84ca1d9 100644 (file)
@@ -318,12 +318,16 @@ InstructionTLBMiss:
        /* If we are faulting a kernel address, we have to use the
         * kernel page tables.
         */
+#ifdef CONFIG_MODULES
+       /* Only modules will cause ITLB Misses as we always
+        * pin the first 8MB of kernel memory */
        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
        lwz     r11, 0(r10)     /* Get the level 1 entry */
        rlwinm. r10, r11,0,0,19 /* Extract page descriptor page address */
        beq     2f              /* If zero, don't try to find a pte */