powerpc/8xx: Implement 16k pages
authorLEROY Christophe <christophe.leroy@c-s.fr>
Fri, 19 Sep 2014 08:36:09 +0000 (10:36 +0200)
committerScott Wood <scottwood@freescale.com>
Sat, 8 Nov 2014 00:10:42 +0000 (18:10 -0600)
This patch activates the handling of 16k pages on the MPC8xx.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/Kconfig
arch/powerpc/include/asm/mmu-8xx.h
arch/powerpc/kernel/head_8xx.S

index 88eace4e28c3dfbdbbe35261f0f03656f8616a1e..abb8709d8b2ae254228f2f5f6a4ec4cc495f59eb 100644 (file)
@@ -549,7 +549,7 @@ config PPC_4K_PAGES
        bool "4k page size"
 
 config PPC_16K_PAGES
-       bool "16k page size" if 44x
+       bool "16k page size" if 44x || PPC_8xx
 
 config PPC_64K_PAGES
        bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64
index 3d11d3ce79ec61fa3192381e21214b54f6db6cdf..986b9e1e1044f62a9b66454ae71d9a69a3bbd366 100644 (file)
@@ -56,6 +56,7 @@
  * additional information from the MI_EPN, and MI_TWC registers.
  */
 #define SPRN_MI_RPN    790
+#define MI_SPS16K      0x00000008      /* Small page size (0 = 4k, 1 = 16k) */
 
 /* Define an RPN value for mapping kernel memory to large virtual
  * pages for boot initialization.  This has real page number of 0,
  * additional information from the MD_EPN, and MD_TWC registers.
  */
 #define SPRN_MD_RPN    798
+#define MD_SPS16K      0x00000008      /* Small page size (0 = 4k, 1 = 16k) */
 
 /* This is a temporary storage register that could be used to save
  * a processor working register during a tablewalk.
index 38efa8622176ee2ec381cf5d26c725356e726b0a..84b0b9778065de1f1596a9bb85cb350c3bbe6bd7 100644 (file)
  * Value for the bits that have fixed value in RPN entries.
  * Also used for tagging DAR for DTLBerror.
  */
+#ifdef CONFIG_PPC_16K_PAGES
+#define RPN_PATTERN    (0x00f0 | MD_SPS16K)
+#else
 #define RPN_PATTERN    0x00f0
+#endif
 
        __HEAD
 _ENTRY(_stext);