aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-03-06 10:21:35 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-03-06 10:21:35 +0000
commite1ee9ee139ed7091c2c592d5b784fbb7227bfc0d (patch)
treee245e0c71a0b7f7c5bc1f0de6d5ba05034666f07 /target
parentf2bb2d14c2958f3f5aef456bd2cdb1ff99f4a562 (diff)
parent21b786f607b11d888f90bbb8c3414500515d11e7 (diff)
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.12-20180306' into staging
ppc patch queue 2018-03-06 This pull request supersedes ppc-for-2.12-20180302 which had compile problems with some gcc versions. It also contains a few additional patches. Highlights are: * New Sam460ex machine type * Yet more fixes related to vcpu id allocation for spapr * Numerous macio cleanupsr * Some enhancements to the Spectre/Meltdown fixes for pseries, allowing use of a better mitigation for indirect branch based exploits * New pseries machine types with Spectre/Meltdown mitigations enabled (stop gap until libvirt and management understands the machine options) * A handful of other fixes # gpg: Signature made Tue 06 Mar 2018 04:01:00 GMT # gpg: using RSA key 6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-2.12-20180306: (30 commits) PowerPC: Add TS bits into msr_mask adb: add trace-events for monitoring keyboard/mouse during bus enumeration PPC: e500: Fix duplicate kernel load and device tree overlap hw/ppc/spapr,e500: Use new property "stdout-path" for boot console ppc/spapr-caps: Define the pseries-2.12-sxxm machine type ppc/spapr-caps: Convert cap-ibs to custom spapr-cap ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap ppc/spapr-caps: Add support for custom spapr_capabilities target/ppc: Check mask when setting cap_ppc_safe_indirect_branch macio: remove macio_init() function macio: move setting of CUDA timebase frequency to macio_common_realize() mac_newworld: use object link to pass OpenPIC object to macio openpic: move OpenPIC state and related definitions to openpic.h openpic: move KVM-specific declarations into separate openpic_kvm.h file mac_oldworld: use object link to pass heathrow PIC object to macio macio: move macio related structures and defines into separate macio.h file heathrow: change heathrow_pic_init() to return the heathrow device heathrow: convert to trace-events heathrow: QOMify heathrow PIC ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target')
-rw-r--r--target/ppc/kvm-stub.c2
-rw-r--r--target/ppc/kvm.c6
-rw-r--r--target/ppc/translate_init.c2
3 files changed, 7 insertions, 3 deletions
diff --git a/target/ppc/kvm-stub.c b/target/ppc/kvm-stub.c
index efeafca1df..b8aa97f2d4 100644
--- a/target/ppc/kvm-stub.c
+++ b/target/ppc/kvm-stub.c
@@ -12,7 +12,7 @@
#include "qemu/osdep.h"
#include "qemu-common.h"
#include "cpu.h"
-#include "hw/ppc/openpic.h"
+#include "hw/ppc/openpic_kvm.h"
int kvm_openpic_connect_vcpu(DeviceState *d, CPUState *cs)
{
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 9842b3bb12..79a436a384 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2494,8 +2494,10 @@ static void kvmppc_get_cpu_characteristics(KVMState *s)
cap_ppc_safe_bounds_check = 1;
}
/* Parse and set cap_ppc_safe_indirect_branch */
- if (c.character & H_CPU_CHAR_BCCTRL_SERIALISED) {
- cap_ppc_safe_indirect_branch = 2;
+ if (c.character & c.character_mask & H_CPU_CHAR_CACHE_COUNT_DIS) {
+ cap_ppc_safe_indirect_branch = SPAPR_CAP_FIXED_CCD;
+ } else if (c.character & c.character_mask & H_CPU_CHAR_BCCTRL_SERIALISED) {
+ cap_ppc_safe_indirect_branch = SPAPR_CAP_FIXED_IBS;
}
}
diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
index 17a87df654..391b94b97d 100644
--- a/target/ppc/translate_init.c
+++ b/target/ppc/translate_init.c
@@ -8692,6 +8692,8 @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
(1ull << MSR_DR) |
(1ull << MSR_PMM) |
(1ull << MSR_RI) |
+ (1ull << MSR_TS0) |
+ (1ull << MSR_TS1) |
(1ull << MSR_LE);
pcc->mmu_model = POWERPC_MMU_2_07;
#if defined(CONFIG_SOFTMMU)