diff options
-rw-r--r-- | arch/powerpc/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/include/asm/mmu-8xx.h | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/head_8xx.S | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 88eace4e28c3..abb8709d8b2a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -549,7 +549,7 @@ config PPC_4K_PAGES | |||
549 | bool "4k page size" | 549 | bool "4k page size" |
550 | 550 | ||
551 | config PPC_16K_PAGES | 551 | config PPC_16K_PAGES |
552 | bool "16k page size" if 44x | 552 | bool "16k page size" if 44x || PPC_8xx |
553 | 553 | ||
554 | config PPC_64K_PAGES | 554 | config PPC_64K_PAGES |
555 | bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64 | 555 | bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64 |
diff --git a/arch/powerpc/include/asm/mmu-8xx.h b/arch/powerpc/include/asm/mmu-8xx.h index 3d11d3ce79ec..986b9e1e1044 100644 --- a/arch/powerpc/include/asm/mmu-8xx.h +++ b/arch/powerpc/include/asm/mmu-8xx.h | |||
@@ -56,6 +56,7 @@ | |||
56 | * additional information from the MI_EPN, and MI_TWC registers. | 56 | * additional information from the MI_EPN, and MI_TWC registers. |
57 | */ | 57 | */ |
58 | #define SPRN_MI_RPN 790 | 58 | #define SPRN_MI_RPN 790 |
59 | #define MI_SPS16K 0x00000008 /* Small page size (0 = 4k, 1 = 16k) */ | ||
59 | 60 | ||
60 | /* Define an RPN value for mapping kernel memory to large virtual | 61 | /* Define an RPN value for mapping kernel memory to large virtual |
61 | * pages for boot initialization. This has real page number of 0, | 62 | * pages for boot initialization. This has real page number of 0, |
@@ -129,6 +130,7 @@ | |||
129 | * additional information from the MD_EPN, and MD_TWC registers. | 130 | * additional information from the MD_EPN, and MD_TWC registers. |
130 | */ | 131 | */ |
131 | #define SPRN_MD_RPN 798 | 132 | #define SPRN_MD_RPN 798 |
133 | #define MD_SPS16K 0x00000008 /* Small page size (0 = 4k, 1 = 16k) */ | ||
132 | 134 | ||
133 | /* This is a temporary storage register that could be used to save | 135 | /* This is a temporary storage register that could be used to save |
134 | * a processor working register during a tablewalk. | 136 | * a processor working register during a tablewalk. |
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 38efa8622176..84b0b9778065 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S | |||
@@ -45,7 +45,11 @@ | |||
45 | * Value for the bits that have fixed value in RPN entries. | 45 | * Value for the bits that have fixed value in RPN entries. |
46 | * Also used for tagging DAR for DTLBerror. | 46 | * Also used for tagging DAR for DTLBerror. |
47 | */ | 47 | */ |
48 | #ifdef CONFIG_PPC_16K_PAGES | ||
49 | #define RPN_PATTERN (0x00f0 | MD_SPS16K) | ||
50 | #else | ||
48 | #define RPN_PATTERN 0x00f0 | 51 | #define RPN_PATTERN 0x00f0 |
52 | #endif | ||
49 | 53 | ||
50 | __HEAD | 54 | __HEAD |
51 | _ENTRY(_stext); | 55 | _ENTRY(_stext); |