summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt2018-01-12 03:37:13 +0100
committerPaul Mackerras2018-01-19 02:10:21 +0100
commit2267ea7661798a42f0da648a2970e2a03f4bc370 (patch)
treec81a43b275313a69d33b1f8276255739114863d0 /arch/powerpc/include
parentKVM: PPC: Book3S HV: Enable use of the new XIVE "single escalation" feature (diff)
downloadkernel-qcow2-linux-2267ea7661798a42f0da648a2970e2a03f4bc370.tar.gz
kernel-qcow2-linux-2267ea7661798a42f0da648a2970e2a03f4bc370.tar.xz
kernel-qcow2-linux-2267ea7661798a42f0da648a2970e2a03f4bc370.zip
KVM: PPC: Book3S HV: Don't use existing "prodded" flag for XIVE escalations
The prodded flag is only cleared at the beginning of H_CEDE, so every time we have an escalation, we will cause the *next* H_CEDE to return immediately. Instead use a dedicated "irq_pending" flag to indicate that a guest interrupt is pending for the VCPU. We don't reuse the existing exception bitmap so as to avoid expensive atomic ops. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_host.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index 3aa5b577cd60..bfe51356af5e 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -709,6 +709,7 @@ struct kvm_vcpu_arch {
u8 ceded;
u8 prodded;
u8 doorbell_request;
+ u8 irq_pending; /* Used by XIVE to signal pending guest irqs */
u32 last_inst;
struct swait_queue_head *wqp;