diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/cputable.h | 13 | ||||
-rw-r--r-- | arch/powerpc/kernel/cputable.c | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index be3cdf9134ce..f1fbf6092ed2 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h | |||
@@ -386,6 +386,9 @@ extern const char *powerpc_base_platform; | |||
386 | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \ | 386 | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN | \ |
387 | CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \ | 387 | CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \ |
388 | CPU_FTR_DBELL) | 388 | CPU_FTR_DBELL) |
389 | #define CPU_FTRS_E5500 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | \ | ||
390 | CPU_FTR_L2CSR | CPU_FTR_LWSYNC | CPU_FTR_NOEXECUTE | \ | ||
391 | CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD) | ||
389 | #define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN) | 392 | #define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN) |
390 | 393 | ||
391 | /* 64-bit CPUs */ | 394 | /* 64-bit CPUs */ |
@@ -435,11 +438,15 @@ extern const char *powerpc_base_platform; | |||
435 | #define CPU_FTRS_COMPATIBLE (CPU_FTR_USE_TB | CPU_FTR_PPCAS_ARCH_V2) | 438 | #define CPU_FTRS_COMPATIBLE (CPU_FTR_USE_TB | CPU_FTR_PPCAS_ARCH_V2) |
436 | 439 | ||
437 | #ifdef __powerpc64__ | 440 | #ifdef __powerpc64__ |
441 | #ifdef CONFIG_PPC_BOOK3E | ||
442 | #define CPU_FTRS_POSSIBLE (CPU_FTRS_E5500) | ||
443 | #else | ||
438 | #define CPU_FTRS_POSSIBLE \ | 444 | #define CPU_FTRS_POSSIBLE \ |
439 | (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 | \ | 445 | (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 | \ |
440 | CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 | \ | 446 | CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 | \ |
441 | CPU_FTRS_POWER7 | CPU_FTRS_CELL | CPU_FTRS_PA6T | \ | 447 | CPU_FTRS_POWER7 | CPU_FTRS_CELL | CPU_FTRS_PA6T | \ |
442 | CPU_FTR_1T_SEGMENT | CPU_FTR_VSX) | 448 | CPU_FTR_1T_SEGMENT | CPU_FTR_VSX) |
449 | #endif | ||
443 | #else | 450 | #else |
444 | enum { | 451 | enum { |
445 | CPU_FTRS_POSSIBLE = | 452 | CPU_FTRS_POSSIBLE = |
@@ -473,16 +480,21 @@ enum { | |||
473 | #endif | 480 | #endif |
474 | #ifdef CONFIG_E500 | 481 | #ifdef CONFIG_E500 |
475 | CPU_FTRS_E500 | CPU_FTRS_E500_2 | CPU_FTRS_E500MC | | 482 | CPU_FTRS_E500 | CPU_FTRS_E500_2 | CPU_FTRS_E500MC | |
483 | CPU_FTRS_E5500 | | ||
476 | #endif | 484 | #endif |
477 | 0, | 485 | 0, |
478 | }; | 486 | }; |
479 | #endif /* __powerpc64__ */ | 487 | #endif /* __powerpc64__ */ |
480 | 488 | ||
481 | #ifdef __powerpc64__ | 489 | #ifdef __powerpc64__ |
490 | #ifdef CONFIG_PPC_BOOK3E | ||
491 | #define CPU_FTRS_ALWAYS (CPU_FTRS_E5500) | ||
492 | #else | ||
482 | #define CPU_FTRS_ALWAYS \ | 493 | #define CPU_FTRS_ALWAYS \ |
483 | (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 & \ | 494 | (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 & \ |
484 | CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_POWER6 & \ | 495 | CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_POWER6 & \ |
485 | CPU_FTRS_POWER7 & CPU_FTRS_CELL & CPU_FTRS_PA6T & CPU_FTRS_POSSIBLE) | 496 | CPU_FTRS_POWER7 & CPU_FTRS_CELL & CPU_FTRS_PA6T & CPU_FTRS_POSSIBLE) |
497 | #endif | ||
486 | #else | 498 | #else |
487 | enum { | 499 | enum { |
488 | CPU_FTRS_ALWAYS = | 500 | CPU_FTRS_ALWAYS = |
@@ -513,6 +525,7 @@ enum { | |||
513 | #endif | 525 | #endif |
514 | #ifdef CONFIG_E500 | 526 | #ifdef CONFIG_E500 |
515 | CPU_FTRS_E500 & CPU_FTRS_E500_2 & CPU_FTRS_E500MC & | 527 | CPU_FTRS_E500 & CPU_FTRS_E500_2 & CPU_FTRS_E500MC & |
528 | CPU_FTRS_E5500 & | ||
516 | #endif | 529 | #endif |
517 | CPU_FTRS_POSSIBLE, | 530 | CPU_FTRS_POSSIBLE, |
518 | }; | 531 | }; |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index c9b68d07ac4f..b9602ee06deb 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -1973,7 +1973,7 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1973 | .pvr_mask = 0xffff0000, | 1973 | .pvr_mask = 0xffff0000, |
1974 | .pvr_value = 0x80240000, | 1974 | .pvr_value = 0x80240000, |
1975 | .cpu_name = "e5500", | 1975 | .cpu_name = "e5500", |
1976 | .cpu_features = CPU_FTRS_E500MC, | 1976 | .cpu_features = CPU_FTRS_E5500, |
1977 | .cpu_user_features = COMMON_USER_BOOKE, | 1977 | .cpu_user_features = COMMON_USER_BOOKE, |
1978 | .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | | 1978 | .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | |
1979 | MMU_FTR_USE_TLBILX, | 1979 | MMU_FTR_USE_TLBILX, |