diff options
Diffstat (limited to 'arch/powerpc/kernel/cputable.c')
| -rw-r--r-- | arch/powerpc/kernel/cputable.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 2a8f5cc5184f..26ffb44e2701 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned long offset, struct cpu_spec* spec); | |||
| 36 | extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); | 36 | extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); |
| 37 | extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); | 37 | extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); |
| 38 | extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); | 38 | extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); |
| 39 | extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); | ||
| 40 | extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); | ||
| 39 | extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); | 41 | extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); |
| 40 | extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec); | 42 | extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec); |
| 41 | extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec); | 43 | extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec); |
| @@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 1397 | .machine_check = machine_check_440A, | 1399 | .machine_check = machine_check_440A, |
| 1398 | .platform = "ppc440", | 1400 | .platform = "ppc440", |
| 1399 | }, | 1401 | }, |
| 1402 | { /* 460EX */ | ||
| 1403 | .pvr_mask = 0xffff0002, | ||
| 1404 | .pvr_value = 0x13020002, | ||
| 1405 | .cpu_name = "460EX", | ||
| 1406 | .cpu_features = CPU_FTRS_44X, | ||
| 1407 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | ||
| 1408 | .icache_bsize = 32, | ||
| 1409 | .dcache_bsize = 32, | ||
| 1410 | .cpu_setup = __setup_cpu_460ex, | ||
| 1411 | .machine_check = machine_check_440A, | ||
| 1412 | .platform = "ppc440", | ||
| 1413 | }, | ||
| 1414 | { /* 460GT */ | ||
| 1415 | .pvr_mask = 0xffff0002, | ||
| 1416 | .pvr_value = 0x13020000, | ||
| 1417 | .cpu_name = "460GT", | ||
| 1418 | .cpu_features = CPU_FTRS_44X, | ||
| 1419 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | ||
| 1420 | .icache_bsize = 32, | ||
| 1421 | .dcache_bsize = 32, | ||
| 1422 | .cpu_setup = __setup_cpu_460gt, | ||
| 1423 | .machine_check = machine_check_440A, | ||
| 1424 | .platform = "ppc440", | ||
| 1425 | }, | ||
| 1400 | #endif /* CONFIG_44x */ | 1426 | #endif /* CONFIG_44x */ |
| 1401 | #ifdef CONFIG_FSL_BOOKE | 1427 | #ifdef CONFIG_FSL_BOOKE |
| 1402 | #ifdef CONFIG_E200 | 1428 | #ifdef CONFIG_E200 |
| @@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(unsigned long offset, unsigned int pvr) | |||
| 1512 | *t = *s; | 1538 | *t = *s; |
| 1513 | *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; | 1539 | *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; |
| 1514 | #if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE) | 1540 | #if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE) |
| 1515 | /* ppc64 and booke expect identify_cpu to also call | 1541 | /* ppc64 and booke expect identify_cpu to also call |
| 1516 | * setup_cpu for that processor. I will consolidate | 1542 | * setup_cpu for that processor. I will consolidate |
| 1517 | * that at a later time, for now, just use #ifdef. | 1543 | * that at a later time, for now, just use #ifdef. |
| 1518 | * we also don't need to PTRRELOC the function pointer | 1544 | * we also don't need to PTRRELOC the function pointer |
