powerpc/8xx: CONFIG_DEBUG_PAGEALLOC requires ITLBmiss for kernel addresses
authorChristophe Leroy <christophe.leroy@c-s.fr>
Wed, 3 Feb 2016 22:34:21 +0000 (23:34 +0100)
committerScott Wood <oss@buserror.net>
Wed, 9 Mar 2016 16:44:17 +0000 (10:44 -0600)
When CONFIG_DEBUG_PAGEALLOC is activated, the initial TLB mapping gets
flushed to track accesses to wrong areas. Therefore, kernel addresses
will also generate ITLB misses.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <oss@buserror.net>
arch/powerpc/kernel/head_8xx.S

index 78c1eba..e629e28 100644 (file)
@@ -329,7 +329,7 @@ InstructionTLBMiss:
        /* If we are faulting a kernel address, we have to use the
         * kernel page tables.
         */
-#ifdef CONFIG_MODULES
+#if defined(CONFIG_MODULES) || defined (CONFIG_DEBUG_PAGEALLOC)
        /* Only modules will cause ITLB Misses as we always
         * pin the first 8MB of kernel memory */
        mfspr   r11, SPRN_SRR0  /* Get effective address of fault */