summaryrefslogtreecommitdiffstats
path: root/target-ppc/cpu.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy2014-05-23 04:26:56 +0200
committerAlexander Graf2014-06-16 13:24:38 +0200
commit2a48d99335c572b0d3da59c1387ad131ea6ee590 (patch)
treea4fae45358817a2a74dbfc8a85d29809e3d44c03 /target-ppc/cpu.h
parentspapr: Rework spapr_fixup_cpu_dt() (diff)
downloadqemu-2a48d99335c572b0d3da59c1387ad131ea6ee590.tar.gz
qemu-2a48d99335c572b0d3da59c1387ad131ea6ee590.tar.xz
qemu-2a48d99335c572b0d3da59c1387ad131ea6ee590.zip
spapr: Limit threads per core according to current compatibility mode
This puts a limit to the number of threads per core based on the current compatibility mode. Although PowerISA specs do not specify the maximum threads per core number, the linux guest still expects that PowerISA2.05-compatible CPU supports only 2 threads per core as this is what POWER6 (2.05 compliant CPU) implements, the same is for POWER7 (2.06, 4 threads) and POWER8 (2.07, 8 threads). This calls spapr_fixup_cpu_smt_dt() with the maximum allowed number of threads which affects ibm,ppc-interrupt-server#s and ibm,ppc-interrupt-gserver#s properties. The number of CPU nodesremains unchanged. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/cpu.h')
-rw-r--r--target-ppc/cpu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h
index 0d2253b53c..406a406ebb 100644
--- a/target-ppc/cpu.h
+++ b/target-ppc/cpu.h
@@ -1122,6 +1122,7 @@ void ppc_store_sdr1 (CPUPPCState *env, target_ulong value);
void ppc_store_msr (CPUPPCState *env, target_ulong value);
void ppc_cpu_list (FILE *f, fprintf_function cpu_fprintf);
+int ppc_get_compat_smt_threads(PowerPCCPU *cpu);
int ppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version);
/* Time-base and decrementer management */