diff options
Diffstat (limited to 'arch/powerpc/kernel/cputable.c')
-rw-r--r-- | arch/powerpc/kernel/cputable.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 272e43622fd6..190a57e20765 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -39,7 +39,10 @@ extern void __setup_cpu_7400(unsigned long offset, struct cpu_spec* spec); | |||
39 | extern void __setup_cpu_7410(unsigned long offset, struct cpu_spec* spec); | 39 | extern void __setup_cpu_7410(unsigned long offset, struct cpu_spec* spec); |
40 | extern void __setup_cpu_745x(unsigned long offset, struct cpu_spec* spec); | 40 | extern void __setup_cpu_745x(unsigned long offset, struct cpu_spec* spec); |
41 | #endif /* CONFIG_PPC32 */ | 41 | #endif /* CONFIG_PPC32 */ |
42 | #ifdef CONFIG_PPC64 | ||
42 | extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec); | 43 | extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec); |
44 | extern void __restore_cpu_ppc970(void); | ||
45 | #endif /* CONFIG_PPC64 */ | ||
43 | 46 | ||
44 | /* This table only contains "desktop" CPUs, it need to be filled with embedded | 47 | /* This table only contains "desktop" CPUs, it need to be filled with embedded |
45 | * ones as well... | 48 | * ones as well... |
@@ -55,6 +58,9 @@ extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec); | |||
55 | #define COMMON_USER_POWER6 (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_05 |\ | 58 | #define COMMON_USER_POWER6 (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_05 |\ |
56 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \ | 59 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP | \ |
57 | PPC_FEATURE_TRUE_LE) | 60 | PPC_FEATURE_TRUE_LE) |
61 | #define COMMON_USER_PA6T (COMMON_USER_PPC64 | PPC_FEATURE_PA6T |\ | ||
62 | PPC_FEATURE_TRUE_LE | \ | ||
63 | PPC_FEATURE_HAS_ALTIVEC_COMP) | ||
58 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | 64 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ |
59 | PPC_FEATURE_BOOKE) | 65 | PPC_FEATURE_BOOKE) |
60 | 66 | ||
@@ -184,6 +190,7 @@ struct cpu_spec cpu_specs[] = { | |||
184 | .dcache_bsize = 128, | 190 | .dcache_bsize = 128, |
185 | .num_pmcs = 8, | 191 | .num_pmcs = 8, |
186 | .cpu_setup = __setup_cpu_ppc970, | 192 | .cpu_setup = __setup_cpu_ppc970, |
193 | .cpu_restore = __restore_cpu_ppc970, | ||
187 | .oprofile_cpu_type = "ppc64/970", | 194 | .oprofile_cpu_type = "ppc64/970", |
188 | .oprofile_type = PPC_OPROFILE_POWER4, | 195 | .oprofile_type = PPC_OPROFILE_POWER4, |
189 | .platform = "ppc970", | 196 | .platform = "ppc970", |
@@ -199,6 +206,7 @@ struct cpu_spec cpu_specs[] = { | |||
199 | .dcache_bsize = 128, | 206 | .dcache_bsize = 128, |
200 | .num_pmcs = 8, | 207 | .num_pmcs = 8, |
201 | .cpu_setup = __setup_cpu_ppc970, | 208 | .cpu_setup = __setup_cpu_ppc970, |
209 | .cpu_restore = __restore_cpu_ppc970, | ||
202 | .oprofile_cpu_type = "ppc64/970", | 210 | .oprofile_cpu_type = "ppc64/970", |
203 | .oprofile_type = PPC_OPROFILE_POWER4, | 211 | .oprofile_type = PPC_OPROFILE_POWER4, |
204 | .platform = "ppc970", | 212 | .platform = "ppc970", |
@@ -214,6 +222,7 @@ struct cpu_spec cpu_specs[] = { | |||
214 | .dcache_bsize = 128, | 222 | .dcache_bsize = 128, |
215 | .num_pmcs = 8, | 223 | .num_pmcs = 8, |
216 | .cpu_setup = __setup_cpu_ppc970, | 224 | .cpu_setup = __setup_cpu_ppc970, |
225 | .cpu_restore = __restore_cpu_ppc970, | ||
217 | .oprofile_cpu_type = "ppc64/970", | 226 | .oprofile_cpu_type = "ppc64/970", |
218 | .oprofile_type = PPC_OPROFILE_POWER4, | 227 | .oprofile_type = PPC_OPROFILE_POWER4, |
219 | .platform = "ppc970", | 228 | .platform = "ppc970", |
@@ -280,6 +289,17 @@ struct cpu_spec cpu_specs[] = { | |||
280 | .dcache_bsize = 128, | 289 | .dcache_bsize = 128, |
281 | .platform = "ppc-cell-be", | 290 | .platform = "ppc-cell-be", |
282 | }, | 291 | }, |
292 | { /* PA Semi PA6T */ | ||
293 | .pvr_mask = 0x7fff0000, | ||
294 | .pvr_value = 0x00900000, | ||
295 | .cpu_name = "PA6T", | ||
296 | .cpu_features = CPU_FTRS_PA6T, | ||
297 | .cpu_user_features = COMMON_USER_PA6T, | ||
298 | .icache_bsize = 64, | ||
299 | .dcache_bsize = 64, | ||
300 | .num_pmcs = 6, | ||
301 | .platform = "pa6t", | ||
302 | }, | ||
283 | { /* default match */ | 303 | { /* default match */ |
284 | .pvr_mask = 0x00000000, | 304 | .pvr_mask = 0x00000000, |
285 | .pvr_value = 0x00000000, | 305 | .pvr_value = 0x00000000, |
@@ -929,6 +949,7 @@ struct cpu_spec cpu_specs[] = { | |||
929 | PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC, | 949 | PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC, |
930 | .icache_bsize = 32, | 950 | .icache_bsize = 32, |
931 | .dcache_bsize = 32, | 951 | .dcache_bsize = 32, |
952 | .platform = "ppc405", | ||
932 | }, | 953 | }, |
933 | { /* 405EP */ | 954 | { /* 405EP */ |
934 | .pvr_mask = 0xffff0000, | 955 | .pvr_mask = 0xffff0000, |