aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/book3s/64/mmu.h2
-rw-r--r--arch/powerpc/include/asm/mmu.h15
-rw-r--r--arch/powerpc/kernel/entry_64.S2
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S8
-rw-r--r--arch/powerpc/kernel/idle_book3s.S2
-rw-r--r--arch/powerpc/kernel/prom.c2
-rw-r--r--arch/powerpc/mm/init_64.c2
7 files changed, 16 insertions, 17 deletions
diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h
index 9ee00c2576d0..ad2d501cddcf 100644
--- a/arch/powerpc/include/asm/book3s/64/mmu.h
+++ b/arch/powerpc/include/asm/book3s/64/mmu.h
@@ -24,7 +24,7 @@ struct mmu_psize_def {
24extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT]; 24extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
25 25
26#ifdef CONFIG_PPC_RADIX_MMU 26#ifdef CONFIG_PPC_RADIX_MMU
27#define radix_enabled() mmu_has_feature(MMU_FTR_RADIX) 27#define radix_enabled() mmu_has_feature(MMU_FTR_TYPE_RADIX)
28#else 28#else
29#define radix_enabled() (0) 29#define radix_enabled() (0)
30#endif 30#endif
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index 14220c5c12c9..599781e48552 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -12,7 +12,7 @@
12 */ 12 */
13 13
14/* 14/*
15 * First half is MMU families 15 * MMU families
16 */ 16 */
17#define MMU_FTR_HPTE_TABLE ASM_CONST(0x00000001) 17#define MMU_FTR_HPTE_TABLE ASM_CONST(0x00000001)
18#define MMU_FTR_TYPE_8xx ASM_CONST(0x00000002) 18#define MMU_FTR_TYPE_8xx ASM_CONST(0x00000002)
@@ -21,9 +21,13 @@
21#define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010) 21#define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010)
22#define MMU_FTR_TYPE_47x ASM_CONST(0x00000020) 22#define MMU_FTR_TYPE_47x ASM_CONST(0x00000020)
23 23
24/* Radix page table supported and enabled */
25#define MMU_FTR_TYPE_RADIX ASM_CONST(0x00000040)
26
24/* 27/*
25 * This is individual features 28 * Individual features below.
26 */ 29 */
30
27/* 31/*
28 * We need to clear top 16bits of va (from the remaining 64 bits )in 32 * We need to clear top 16bits of va (from the remaining 64 bits )in
29 * tlbie* instructions 33 * tlbie* instructions
@@ -93,11 +97,6 @@
93 */ 97 */
94#define MMU_FTR_1T_SEGMENT ASM_CONST(0x40000000) 98#define MMU_FTR_1T_SEGMENT ASM_CONST(0x40000000)
95 99
96/*
97 * Radix page table available
98 */
99#define MMU_FTR_RADIX ASM_CONST(0x80000000)
100
101/* MMU feature bit sets for various CPUs */ 100/* MMU feature bit sets for various CPUs */
102#define MMU_FTRS_DEFAULT_HPTE_ARCH_V2 \ 101#define MMU_FTRS_DEFAULT_HPTE_ARCH_V2 \
103 MMU_FTR_HPTE_TABLE | MMU_FTR_PPCAS_ARCH_V2 102 MMU_FTR_HPTE_TABLE | MMU_FTR_PPCAS_ARCH_V2
@@ -131,7 +130,7 @@ enum {
131 MMU_FTR_LOCKLESS_TLBIE | MMU_FTR_CI_LARGE_PAGE | 130 MMU_FTR_LOCKLESS_TLBIE | MMU_FTR_CI_LARGE_PAGE |
132 MMU_FTR_1T_SEGMENT | MMU_FTR_TLBIE_CROP_VA | 131 MMU_FTR_1T_SEGMENT | MMU_FTR_TLBIE_CROP_VA |
133#ifdef CONFIG_PPC_RADIX_MMU 132#ifdef CONFIG_PPC_RADIX_MMU
134 MMU_FTR_RADIX | 133 MMU_FTR_TYPE_RADIX |
135#endif 134#endif
136 0, 135 0,
137}; 136};
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index fcb2887f5a33..6b8bc0dd09d4 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -532,7 +532,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
532#ifdef CONFIG_PPC_STD_MMU_64 532#ifdef CONFIG_PPC_STD_MMU_64
533BEGIN_MMU_FTR_SECTION 533BEGIN_MMU_FTR_SECTION
534 b 2f 534 b 2f
535END_MMU_FTR_SECTION_IFSET(MMU_FTR_RADIX) 535END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_RADIX)
536BEGIN_FTR_SECTION 536BEGIN_FTR_SECTION
537 clrrdi r6,r8,28 /* get its ESID */ 537 clrrdi r6,r8,28 /* get its ESID */
538 clrrdi r9,r1,28 /* get current sp ESID */ 538 clrrdi r9,r1,28 /* get current sp ESID */
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 6200e4925d26..334c7fac7a4a 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -938,7 +938,7 @@ BEGIN_MMU_FTR_SECTION
938 b do_hash_page /* Try to handle as hpte fault */ 938 b do_hash_page /* Try to handle as hpte fault */
939MMU_FTR_SECTION_ELSE 939MMU_FTR_SECTION_ELSE
940 b handle_page_fault 940 b handle_page_fault
941ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_RADIX) 941ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TYPE_RADIX)
942 942
943 .align 7 943 .align 7
944 .globl h_data_storage_common 944 .globl h_data_storage_common
@@ -969,7 +969,7 @@ BEGIN_MMU_FTR_SECTION
969 b do_hash_page /* Try to handle as hpte fault */ 969 b do_hash_page /* Try to handle as hpte fault */
970MMU_FTR_SECTION_ELSE 970MMU_FTR_SECTION_ELSE
971 b handle_page_fault 971 b handle_page_fault
972ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_RADIX) 972ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TYPE_RADIX)
973 973
974 STD_EXCEPTION_COMMON(0xe20, h_instr_storage, unknown_exception) 974 STD_EXCEPTION_COMMON(0xe20, h_instr_storage, unknown_exception)
975 975
@@ -1390,7 +1390,7 @@ slb_miss_realmode:
1390#ifdef CONFIG_PPC_STD_MMU_64 1390#ifdef CONFIG_PPC_STD_MMU_64
1391BEGIN_MMU_FTR_SECTION 1391BEGIN_MMU_FTR_SECTION
1392 bl slb_allocate_realmode 1392 bl slb_allocate_realmode
1393END_MMU_FTR_SECTION_IFCLR(MMU_FTR_RADIX) 1393END_MMU_FTR_SECTION_IFCLR(MMU_FTR_TYPE_RADIX)
1394#endif 1394#endif
1395 /* All done -- return from exception. */ 1395 /* All done -- return from exception. */
1396 1396
@@ -1404,7 +1404,7 @@ BEGIN_MMU_FTR_SECTION
1404 beq- 2f 1404 beq- 2f
1405FTR_SECTION_ELSE 1405FTR_SECTION_ELSE
1406 b 2f 1406 b 2f
1407ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_RADIX) 1407ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TYPE_RADIX)
1408 1408
1409.machine push 1409.machine push
1410.machine "power4" 1410.machine "power4"
diff --git a/arch/powerpc/kernel/idle_book3s.S b/arch/powerpc/kernel/idle_book3s.S
index 335eb6cedae5..4c2222cffbbc 100644
--- a/arch/powerpc/kernel/idle_book3s.S
+++ b/arch/powerpc/kernel/idle_book3s.S
@@ -570,7 +570,7 @@ common_exit:
570 570
571BEGIN_MMU_FTR_SECTION 571BEGIN_MMU_FTR_SECTION
572 b no_segments 572 b no_segments
573END_MMU_FTR_SECTION_IFSET(MMU_FTR_RADIX) 573END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_RADIX)
574 /* Restore SLB from PACA */ 574 /* Restore SLB from PACA */
575 ld r8,PACA_SLBSHADOWPTR(r13) 575 ld r8,PACA_SLBSHADOWPTR(r13)
576 576
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index b4b6952e8991..b0245bed6f54 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -170,7 +170,7 @@ static struct ibm_pa_feature {
170 */ 170 */
171 {CPU_FTR_TM_COMP, 0, 0, 171 {CPU_FTR_TM_COMP, 0, 0,
172 PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0}, 172 PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0},
173 {0, MMU_FTR_RADIX, 0, 0, 40, 0, 0}, 173 {0, MMU_FTR_TYPE_RADIX, 0, 0, 40, 0, 0},
174}; 174};
175 175
176static void __init scan_features(unsigned long node, const unsigned char *ftrs, 176static void __init scan_features(unsigned long node, const unsigned char *ftrs,
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index e0ab33d20a10..6259f5db525b 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -425,7 +425,7 @@ void __init mmu_early_init_devtree(void)
425{ 425{
426 /* Disable radix mode based on kernel command line. */ 426 /* Disable radix mode based on kernel command line. */
427 if (disable_radix) 427 if (disable_radix)
428 cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX; 428 cur_cpu_spec->mmu_features &= ~MMU_FTR_TYPE_RADIX;
429 429
430 if (radix_enabled()) 430 if (radix_enabled())
431 radix__early_init_devtree(); 431 radix__early_init_devtree();