|
@@ -19,6 +19,7 @@
|
|
|
#include <asm/oprofile_impl.h>
|
|
|
#include <asm/cputable.h>
|
|
|
#include <asm/prom.h> /* for PTRRELOC on ARCH=ppc */
|
|
|
+#include <asm/mmu.h>
|
|
|
|
|
|
struct cpu_spec* cur_cpu_spec = NULL;
|
|
|
EXPORT_SYMBOL(cur_cpu_spec);
|
|
@@ -94,6 +95,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER3 (630)",
|
|
|
.cpu_features = CPU_FTRS_POWER3,
|
|
|
.cpu_user_features = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -109,6 +111,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER3 (630+)",
|
|
|
.cpu_features = CPU_FTRS_POWER3,
|
|
|
.cpu_user_features = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -124,6 +127,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "RS64-II (northstar)",
|
|
|
.cpu_features = CPU_FTRS_RS64,
|
|
|
.cpu_user_features = COMMON_USER_PPC64,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -139,6 +143,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "RS64-III (pulsar)",
|
|
|
.cpu_features = CPU_FTRS_RS64,
|
|
|
.cpu_user_features = COMMON_USER_PPC64,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -154,6 +159,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "RS64-III (icestar)",
|
|
|
.cpu_features = CPU_FTRS_RS64,
|
|
|
.cpu_user_features = COMMON_USER_PPC64,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -169,6 +175,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "RS64-IV (sstar)",
|
|
|
.cpu_features = CPU_FTRS_RS64,
|
|
|
.cpu_user_features = COMMON_USER_PPC64,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -184,6 +191,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER4 (gp)",
|
|
|
.cpu_features = CPU_FTRS_POWER4,
|
|
|
.cpu_user_features = COMMON_USER_POWER4,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -199,6 +207,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER4+ (gq)",
|
|
|
.cpu_features = CPU_FTRS_POWER4,
|
|
|
.cpu_user_features = COMMON_USER_POWER4,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -215,6 +224,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC970,
|
|
|
.cpu_user_features = COMMON_USER_POWER4 |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -233,6 +243,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC970,
|
|
|
.cpu_user_features = COMMON_USER_POWER4 |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -251,6 +262,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC970,
|
|
|
.cpu_user_features = COMMON_USER_POWER4 |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -269,6 +281,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC970,
|
|
|
.cpu_user_features = COMMON_USER_POWER4 |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -287,6 +300,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC970,
|
|
|
.cpu_user_features = COMMON_USER_POWER4 |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 8,
|
|
@@ -303,6 +317,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER5 (gr)",
|
|
|
.cpu_features = CPU_FTRS_POWER5,
|
|
|
.cpu_user_features = COMMON_USER_POWER5,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -323,6 +338,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER5+ (gs)",
|
|
|
.cpu_features = CPU_FTRS_POWER5,
|
|
|
.cpu_user_features = COMMON_USER_POWER5_PLUS,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -339,6 +355,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER5+ (gs)",
|
|
|
.cpu_features = CPU_FTRS_POWER5,
|
|
|
.cpu_user_features = COMMON_USER_POWER5_PLUS,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -356,6 +373,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER5+",
|
|
|
.cpu_features = CPU_FTRS_POWER5,
|
|
|
.cpu_user_features = COMMON_USER_POWER5_PLUS,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.machine_check = machine_check_generic,
|
|
@@ -369,6 +387,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_POWER6,
|
|
|
.cpu_user_features = COMMON_USER_POWER6 |
|
|
|
PPC_FEATURE_POWER6_EXT,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -388,6 +407,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER6 (architected)",
|
|
|
.cpu_features = CPU_FTRS_POWER6,
|
|
|
.cpu_user_features = COMMON_USER_POWER6,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.machine_check = machine_check_generic,
|
|
@@ -400,6 +420,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER7 (architected)",
|
|
|
.cpu_features = CPU_FTRS_POWER7,
|
|
|
.cpu_user_features = COMMON_USER_POWER7,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.machine_check = machine_check_generic,
|
|
@@ -412,6 +433,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER7 (raw)",
|
|
|
.cpu_features = CPU_FTRS_POWER7,
|
|
|
.cpu_user_features = COMMON_USER_POWER7,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -434,6 +456,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_user_features = COMMON_USER_PPC64 |
|
|
|
PPC_FEATURE_CELL | PPC_FEATURE_HAS_ALTIVEC_COMP |
|
|
|
PPC_FEATURE_SMT,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 4,
|
|
@@ -449,6 +472,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "PA6T",
|
|
|
.cpu_features = CPU_FTRS_PA6T,
|
|
|
.cpu_user_features = COMMON_USER_PA6T,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 64,
|
|
|
.dcache_bsize = 64,
|
|
|
.num_pmcs = 6,
|
|
@@ -466,6 +490,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "POWER4 (compatible)",
|
|
|
.cpu_features = CPU_FTRS_COMPATIBLE,
|
|
|
.cpu_user_features = COMMON_USER_PPC64,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 128,
|
|
|
.dcache_bsize = 128,
|
|
|
.num_pmcs = 6,
|
|
@@ -483,6 +508,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_PPC601,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_601_INSTR |
|
|
|
PPC_FEATURE_UNIFIED_CACHE | PPC_FEATURE_NO_TB,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_generic,
|
|
@@ -494,6 +520,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "603",
|
|
|
.cpu_features = CPU_FTRS_603,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = 0,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -506,6 +533,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "603e",
|
|
|
.cpu_features = CPU_FTRS_603,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = 0,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -518,6 +546,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "603ev",
|
|
|
.cpu_features = CPU_FTRS_603,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = 0,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -530,6 +559,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "604",
|
|
|
.cpu_features = CPU_FTRS_604,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 2,
|
|
@@ -543,6 +573,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "604e",
|
|
|
.cpu_features = CPU_FTRS_604,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -556,6 +587,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "604r",
|
|
|
.cpu_features = CPU_FTRS_604,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -569,6 +601,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "604ev",
|
|
|
.cpu_features = CPU_FTRS_604,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -582,6 +615,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "740/750",
|
|
|
.cpu_features = CPU_FTRS_740_NOTAU,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -595,6 +629,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750CX",
|
|
|
.cpu_features = CPU_FTRS_750,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -608,6 +643,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750CX",
|
|
|
.cpu_features = CPU_FTRS_750,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -622,6 +658,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750CXe",
|
|
|
.cpu_features = CPU_FTRS_750,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -636,6 +673,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750CXe",
|
|
|
.cpu_features = CPU_FTRS_750,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -650,6 +688,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750CL",
|
|
|
.cpu_features = CPU_FTRS_750CL,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -664,6 +703,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "745/755",
|
|
|
.cpu_features = CPU_FTRS_750,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -678,6 +718,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750FX",
|
|
|
.cpu_features = CPU_FTRS_750FX1,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -692,6 +733,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750FX",
|
|
|
.cpu_features = CPU_FTRS_750FX2,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -706,6 +748,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750FX",
|
|
|
.cpu_features = CPU_FTRS_750FX,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -720,6 +763,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "750GX",
|
|
|
.cpu_features = CPU_FTRS_750GX,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -734,6 +778,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "740/750",
|
|
|
.cpu_features = CPU_FTRS_740,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -749,6 +794,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7400_NOTAU,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -764,6 +810,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7400,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -779,6 +826,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7400,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -794,6 +842,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7450_20,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -811,6 +860,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7450_21,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -828,6 +878,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7450_23,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -845,6 +896,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7455_1,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -862,6 +914,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7455_20,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -879,6 +932,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7455,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -896,6 +950,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7447_10,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -913,6 +968,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7447_10,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -929,6 +985,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "7447/7457",
|
|
|
.cpu_features = CPU_FTRS_7447,
|
|
|
.cpu_user_features = COMMON_USER | PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -946,6 +1003,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7447A,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -963,6 +1021,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_7448,
|
|
|
.cpu_user_features = COMMON_USER |
|
|
|
PPC_FEATURE_HAS_ALTIVEC_COMP | PPC_FEATURE_PPC_LE,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE | MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 6,
|
|
@@ -979,6 +1038,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "82xx",
|
|
|
.cpu_features = CPU_FTRS_82XX,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = 0,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -991,6 +1051,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "G2_LE",
|
|
|
.cpu_features = CPU_FTRS_G2_LE,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -1003,6 +1064,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "e300c1",
|
|
|
.cpu_features = CPU_FTRS_E300,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -1015,6 +1077,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "e300c2",
|
|
|
.cpu_features = CPU_FTRS_E300C2,
|
|
|
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
|
|
|
+ .mmu_features = MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -1027,6 +1090,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "e300c3",
|
|
|
.cpu_features = CPU_FTRS_E300,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -1041,6 +1105,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "e300c4",
|
|
|
.cpu_features = CPU_FTRS_E300,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = MMU_FTR_USE_HIGH_BATS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_603,
|
|
@@ -1056,6 +1121,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "(generic PPC)",
|
|
|
.cpu_features = CPU_FTRS_CLASSIC32,
|
|
|
.cpu_user_features = COMMON_USER,
|
|
|
+ .mmu_features = MMU_FTR_HPTE_TABLE,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_generic,
|
|
@@ -1071,6 +1137,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
* if the 8xx code is there.... */
|
|
|
.cpu_features = CPU_FTRS_8XX,
|
|
|
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_8xx,
|
|
|
.icache_bsize = 16,
|
|
|
.dcache_bsize = 16,
|
|
|
.platform = "ppc823",
|
|
@@ -1083,6 +1150,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "403GC",
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 16,
|
|
|
.dcache_bsize = 16,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1095,6 +1163,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_NO_TB,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 16,
|
|
|
.dcache_bsize = 16,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1106,6 +1175,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "403G ??",
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 16,
|
|
|
.dcache_bsize = 16,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1118,6 +1188,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1130,6 +1201,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1142,6 +1214,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1154,6 +1227,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1166,6 +1240,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1178,6 +1253,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1190,6 +1266,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1202,6 +1279,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1213,6 +1291,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "405LP",
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1225,6 +1304,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1237,6 +1317,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1249,6 +1330,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1261,6 +1343,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1273,6 +1356,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1286,6 +1370,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1298,6 +1383,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_features = CPU_FTRS_40X,
|
|
|
.cpu_user_features = PPC_FEATURE_32 |
|
|
|
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_40x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1312,6 +1398,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GR Rev. A",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1323,6 +1410,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440EP Rev. A",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440ep,
|
|
@@ -1335,6 +1423,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GR Rev. B",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1346,6 +1435,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440EP Rev. C",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440ep,
|
|
@@ -1358,6 +1448,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440EP Rev. B",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440ep,
|
|
@@ -1370,6 +1461,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GRX",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440grx,
|
|
@@ -1382,6 +1474,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440EPX",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440epx,
|
|
@@ -1394,6 +1487,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GP Rev. B",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1405,6 +1499,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GP Rev. C",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1416,6 +1511,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GX Rev. A",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440gx,
|
|
@@ -1428,6 +1524,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GX Rev. B",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440gx,
|
|
@@ -1440,6 +1537,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GX Rev. C",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440gx,
|
|
@@ -1452,6 +1550,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440GX Rev. F",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440gx,
|
|
@@ -1464,6 +1563,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440SP Rev. A",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1475,6 +1575,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440SPe Rev. A",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440spe,
|
|
@@ -1487,6 +1588,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440SPe Rev. B",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440spe,
|
|
@@ -1499,6 +1601,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "440 in Virtex-5 FXT",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_440x5,
|
|
@@ -1511,6 +1614,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "460EX",
|
|
|
.cpu_features = CPU_FTRS_440x6,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_460ex,
|
|
@@ -1523,6 +1627,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "460GT",
|
|
|
.cpu_features = CPU_FTRS_440x6,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.cpu_setup = __setup_cpu_460gt,
|
|
@@ -1535,6 +1640,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "(generic 44x PPC)",
|
|
|
.cpu_features = CPU_FTRS_44X,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_44x,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_4xx,
|
|
@@ -1551,6 +1657,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_user_features = COMMON_USER_BOOKE |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE |
|
|
|
PPC_FEATURE_UNIFIED_CACHE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_e200,
|
|
|
.platform = "ppc5554",
|
|
@@ -1565,6 +1672,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
PPC_FEATURE_HAS_SPE_COMP |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE_COMP |
|
|
|
PPC_FEATURE_UNIFIED_CACHE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_e200,
|
|
|
.platform = "ppc5554",
|
|
@@ -1577,6 +1685,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_user_features = COMMON_USER_BOOKE |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE |
|
|
|
PPC_FEATURE_UNIFIED_CACHE,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_e200,
|
|
|
.platform = "ppc5554",
|
|
@@ -1591,6 +1700,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_user_features = COMMON_USER_BOOKE |
|
|
|
PPC_FEATURE_HAS_SPE_COMP |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE_COMP,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -1608,6 +1718,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
PPC_FEATURE_HAS_SPE_COMP |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE_COMP |
|
|
|
PPC_FEATURE_HAS_EFP_DOUBLE_COMP,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.num_pmcs = 4,
|
|
@@ -1622,6 +1733,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_name = "e500mc",
|
|
|
.cpu_features = CPU_FTRS_E500MC,
|
|
|
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS,
|
|
|
.icache_bsize = 64,
|
|
|
.dcache_bsize = 64,
|
|
|
.num_pmcs = 4,
|
|
@@ -1638,6 +1750,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
|
|
.cpu_user_features = COMMON_USER_BOOKE |
|
|
|
PPC_FEATURE_HAS_SPE_COMP |
|
|
|
PPC_FEATURE_HAS_EFP_SINGLE_COMP,
|
|
|
+ .mmu_features = MMU_FTR_TYPE_FSL_E,
|
|
|
.icache_bsize = 32,
|
|
|
.dcache_bsize = 32,
|
|
|
.machine_check = machine_check_e500,
|