diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/cputable.h | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/process.c | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index 5e2e2cfcc81b..3a40a992e594 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h | |||
@@ -197,6 +197,7 @@ extern const char *powerpc_base_platform; | |||
197 | #define CPU_FTR_SAO LONG_ASM_CONST(0x0020000000000000) | 197 | #define CPU_FTR_SAO LONG_ASM_CONST(0x0020000000000000) |
198 | #define CPU_FTR_CP_USE_DCBTZ LONG_ASM_CONST(0x0040000000000000) | 198 | #define CPU_FTR_CP_USE_DCBTZ LONG_ASM_CONST(0x0040000000000000) |
199 | #define CPU_FTR_UNALIGNED_LD_STD LONG_ASM_CONST(0x0080000000000000) | 199 | #define CPU_FTR_UNALIGNED_LD_STD LONG_ASM_CONST(0x0080000000000000) |
200 | #define CPU_FTR_ASYM_SMT LONG_ASM_CONST(0x0100000000000000) | ||
200 | 201 | ||
201 | #ifndef __ASSEMBLY__ | 202 | #ifndef __ASSEMBLY__ |
202 | 203 | ||
@@ -412,7 +413,7 @@ extern const char *powerpc_base_platform; | |||
412 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 413 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ |
413 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ | 414 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ |
414 | CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \ | 415 | CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \ |
415 | CPU_FTR_DSCR | CPU_FTR_SAO) | 416 | CPU_FTR_DSCR | CPU_FTR_SAO | CPU_FTR_ASYM_SMT) |
416 | #define CPU_FTRS_CELL (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ | 417 | #define CPU_FTRS_CELL (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ |
417 | CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ | 418 | CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \ |
418 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 419 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 551f6713ff42..e78a5add7f15 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
@@ -1299,3 +1299,14 @@ unsigned long randomize_et_dyn(unsigned long base) | |||
1299 | 1299 | ||
1300 | return ret; | 1300 | return ret; |
1301 | } | 1301 | } |
1302 | |||
1303 | #ifdef CONFIG_SMP | ||
1304 | int arch_sd_sibling_asym_packing(void) | ||
1305 | { | ||
1306 | if (cpu_has_feature(CPU_FTR_ASYM_SMT)) { | ||
1307 | printk_once(KERN_INFO "Enabling Asymmetric SMT scheduling\n"); | ||
1308 | return SD_ASYM_PACKING; | ||
1309 | } | ||
1310 | return 0; | ||
1311 | } | ||
1312 | #endif | ||