powerpc: Free up some CPU feature bits by moving out MMU-related features
Some of the 64bit PPC CPU features are MMU-related, so this patch moves them to MMU_FTR_ bits. All cpu_has_feature()-style tests are moved to mmu_has_feature(), and seven feature bits are freed as a result. Signed-off-by: Matt Evans <matt@ozlabs.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
eca590f402
commit
44ae3ab335
@ -201,7 +201,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,
|
||||
.mmu_features = MMU_FTRS_POWER4,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -216,7 +216,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,
|
||||
.mmu_features = MMU_FTRS_POWER4,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -232,7 +232,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,
|
||||
.mmu_features = MMU_FTRS_PPC970,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -250,7 +250,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,
|
||||
.mmu_features = MMU_FTRS_PPC970,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -286,7 +286,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,
|
||||
.mmu_features = MMU_FTRS_PPC970,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -304,7 +304,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,
|
||||
.mmu_features = MMU_FTRS_PPC970,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 8,
|
||||
@ -320,7 +320,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,
|
||||
.mmu_features = MMU_FTRS_POWER5,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -340,7 +340,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,
|
||||
.mmu_features = MMU_FTRS_POWER5,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -356,7 +356,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,
|
||||
.mmu_features = MMU_FTRS_POWER5,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -373,7 +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,
|
||||
.mmu_features = MMU_FTRS_POWER5,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.oprofile_cpu_type = "ppc64/ibm-compat-v1",
|
||||
@ -387,7 +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,
|
||||
.mmu_features = MMU_FTRS_POWER6,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -406,7 +406,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,
|
||||
.mmu_features = MMU_FTRS_POWER6,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.oprofile_cpu_type = "ppc64/ibm-compat-v1",
|
||||
@ -419,8 +419,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 |
|
||||
MMU_FTR_TLBIE_206,
|
||||
.mmu_features = MMU_FTRS_POWER7,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.oprofile_type = PPC_OPROFILE_POWER4,
|
||||
@ -435,8 +434,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 |
|
||||
MMU_FTR_TLBIE_206,
|
||||
.mmu_features = MMU_FTRS_POWER7,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -453,8 +451,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 |
|
||||
MMU_FTR_TLBIE_206,
|
||||
.mmu_features = MMU_FTRS_POWER7,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -473,7 +470,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,
|
||||
.mmu_features = MMU_FTRS_CELL,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 4,
|
||||
@ -488,7 +485,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,
|
||||
.mmu_features = MMU_FTRS_PA6T,
|
||||
.icache_bsize = 64,
|
||||
.dcache_bsize = 64,
|
||||
.num_pmcs = 6,
|
||||
@ -505,7 +502,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,
|
||||
.mmu_features = MMU_FTRS_DEFAULT_HPTE_ARCH_V2,
|
||||
.icache_bsize = 128,
|
||||
.dcache_bsize = 128,
|
||||
.num_pmcs = 6,
|
||||
@ -2020,11 +2017,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
|
||||
.cpu_name = "A2 (>= DD2)",
|
||||
.cpu_features = CPU_FTRS_A2,
|
||||
.cpu_user_features = COMMON_USER_PPC64,
|
||||
.mmu_features = MMU_FTR_TYPE_3E | MMU_FTR_USE_TLBILX |
|
||||
MMU_FTR_USE_TLBIVAX_BCAST |
|
||||
MMU_FTR_LOCK_BCAST_INVAL |
|
||||
MMU_FTR_USE_TLBRSRV |
|
||||
MMU_FTR_USE_PAIRED_MAS,
|
||||
.mmu_features = MMU_FTRS_A2,
|
||||
.icache_bsize = 64,
|
||||
.dcache_bsize = 64,
|
||||
.num_pmcs = 0,
|
||||
|
Reference in New Issue
Block a user