aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-07-27 09:33:04 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-07-27 09:33:04 +0100
commit4215d3413272ad6d1c6c9d0234450b602e46a74c (patch)
treefc4f00504ff96a3814a5da405e7a9e3a0f64c77d
parent194f8ca825854abef3aceca1ed7eb5a53b08751f (diff)
parentaef92d87c59d257c0ff24ba1dc82506a03f1f522 (diff)
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-5.1-20200727' into staging
ppc patch queue 2020-07-27 Only one patch in this batch, but it fixes a fairly important regression, so we want it in qemu-5.1 # gpg: Signature made Mon 27 Jul 2020 06:51:57 BST # gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full] # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full] # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full] # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown] # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-5.1-20200727: pseries: fix kvmppc_set_fwnmi() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/ppc/spapr_rtas.c2
-rw-r--r--target/ppc/kvm.c3
-rw-r--r--target/ppc/kvm_ppc.h4
3 files changed, 4 insertions, 5 deletions
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index bcac0d00e7..513c7a8435 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -438,7 +438,7 @@ static void rtas_ibm_nmi_register(PowerPCCPU *cpu,
}
if (kvm_enabled()) {
- if (kvmppc_set_fwnmi() < 0) {
+ if (kvmppc_set_fwnmi(cpu) < 0) {
rtas_st(rets, 0, RTAS_OUT_NOT_SUPPORTED);
return;
}
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 2692f76130..d85ba8ffe0 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2071,9 +2071,8 @@ bool kvmppc_get_fwnmi(void)
return cap_fwnmi;
}
-int kvmppc_set_fwnmi(void)
+int kvmppc_set_fwnmi(PowerPCCPU *cpu)
{
- PowerPCCPU *cpu = POWERPC_CPU(first_cpu);
CPUState *cs = CPU(cpu);
return kvm_vcpu_enable_cap(cs, KVM_CAP_PPC_FWNMI, 0);
diff --git a/target/ppc/kvm_ppc.h b/target/ppc/kvm_ppc.h
index 701c0c262b..72e05f1cd2 100644
--- a/target/ppc/kvm_ppc.h
+++ b/target/ppc/kvm_ppc.h
@@ -28,7 +28,7 @@ void kvmppc_set_papr(PowerPCCPU *cpu);
int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr);
void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int mpic_proxy);
bool kvmppc_get_fwnmi(void);
-int kvmppc_set_fwnmi(void);
+int kvmppc_set_fwnmi(PowerPCCPU *cpu);
int kvmppc_smt_threads(void);
void kvmppc_error_append_smt_possible_hint(Error *const *errp);
int kvmppc_set_smt_threads(int smt);
@@ -169,7 +169,7 @@ static inline bool kvmppc_get_fwnmi(void)
return false;
}
-static inline int kvmppc_set_fwnmi(void)
+static inline int kvmppc_set_fwnmi(PowerPCCPU *cpu)
{
return -1;
}