diff options
author | Suraj Jitindar Singh | 2017-01-13 07:28:09 +0100 |
---|---|---|
committer | David Gibson | 2017-01-31 00:10:14 +0100 |
commit | 216c944eebdcbc428beecd3b5aa53d4c5b81d682 (patch) | |
tree | 82d3ead4e176effd83ea0b72c9bb7b61ba8f51ea | |
parent | powerpc/cpu-models: rename ISAv3.00 logical PVR definition (diff) | |
download | qemu-216c944eebdcbc428beecd3b5aa53d4c5b81d682.tar.gz qemu-216c944eebdcbc428beecd3b5aa53d4c5b81d682.tar.xz qemu-216c944eebdcbc428beecd3b5aa53d4c5b81d682.zip |
target/ppc: Add pcr_supported to POWER9 cpu class definition
pcr_supported is used to define the supported PCR values for a given
processor. A POWER9 processor can support 3.00, 2.07, 2.06 and 2.05
compatibility modes, thus we set this accordingly.
Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | target/ppc/cpu.h | 1 | ||||
-rw-r--r-- | target/ppc/translate_init.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 4d72d75e83..bc2a2ce431 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -2290,6 +2290,7 @@ enum { PCR_COMPAT_2_05 = 1ull << (63-62), PCR_COMPAT_2_06 = 1ull << (63-61), PCR_COMPAT_2_07 = 1ull << (63-60), + PCR_COMPAT_3_00 = 1ull << (63-59), PCR_VEC_DIS = 1ull << (63-0), /* Vec. disable (bit NA since POWER8) */ PCR_VSX_DIS = 1ull << (63-1), /* VSX disable (bit NA since POWER8) */ PCR_TM_DIS = 1ull << (63-2), /* Trans. memory disable (POWER8) */ diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index 388a3e8ba8..c7f76247da 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -8797,6 +8797,8 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data) dc->props = powerpc_servercpu_properties; pcc->pvr_match = ppc_pvr_match_power9; pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07; + pcc->pcr_supported = PCR_COMPAT_3_00 | PCR_COMPAT_2_07 | PCR_COMPAT_2_06 | + PCR_COMPAT_2_05; pcc->init_proc = init_proc_POWER9; pcc->check_pow = check_pow_nocheck; pcc->insns_flags = PPC_INSNS_BASE | PPC_ISEL | PPC_STRING | PPC_MFTB | |