aboutsummaryrefslogtreecommitdiff
path: root/target/ppc/kvm_ppc.h
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2020-03-26 00:29:03 +1000
committerDavid Gibson <david@gibson.dropbear.id.au>2020-04-07 08:55:10 +1000
commitec010c00665ba1e78e6b3df104f923c4ea68504a (patch)
treefd21867008d11d44d80364a2bf6359049d3a7e47 /target/ppc/kvm_ppc.h
parent79178edd2a0b012c5cd27e0168beb83ef4b617ef (diff)
downloadqemu-ec010c00665ba1e78e6b3df104f923c4ea68504a.zip
qemu-ec010c00665ba1e78e6b3df104f923c4ea68504a.tar.gz
qemu-ec010c00665ba1e78e6b3df104f923c4ea68504a.tar.bz2
ppc/spapr: KVM FWNMI should not be enabled until guest requests it
The KVM FWNMI capability should be enabled with the "ibm,nmi-register" rtas call. Although MCEs from KVM will be delivered as architected interrupts to the guest before "ibm,nmi-register" is called, KVM has different behaviour depending on whether the guest has enabled FWNMI (it attempts to do more recovery on behalf of a non-FWNMI guest). Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Message-Id: <20200325142906.221248-2-npiggin@gmail.com> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target/ppc/kvm_ppc.h')
-rw-r--r--target/ppc/kvm_ppc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/ppc/kvm_ppc.h b/target/ppc/kvm_ppc.h
index 332fa0a..fcaf745 100644
--- a/target/ppc/kvm_ppc.h
+++ b/target/ppc/kvm_ppc.h
@@ -27,6 +27,7 @@ void kvmppc_enable_h_page_init(void);
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_smt_threads(void);
void kvmppc_error_append_smt_possible_hint(Error *const *errp);
@@ -163,6 +164,11 @@ static inline void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int mpic_proxy)
{
}
+static inline bool kvmppc_get_fwnmi(void)
+{
+ return false;
+}
+
static inline int kvmppc_set_fwnmi(void)
{
return -1;