summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-10-11 23:50:02 +0100
committerDavid Woodhouse <dwmw@amazon.co.uk>2023-11-07 08:54:20 +0000
commit8473607bcfef62fd8f6bb98b27807bbfce30a81a (patch)
tree09771965e27ba579deebbe7866adf1aeb8a1c1bf
parent8ac98aeddaac1778e7c725609f1fd5eaa38e2285 (diff)
downloadfocaccia-qemu-8473607bcfef62fd8f6bb98b27807bbfce30a81a.tar.gz
focaccia-qemu-8473607bcfef62fd8f6bb98b27807bbfce30a81a.zip
i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
This will allow Linux guests (since v6.0) to use the per-vCPU upcall
vector delivered as MSI through the local APIC.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
-rw-r--r--target/i386/kvm/kvm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 770e81d56e..11b8177eff 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1837,6 +1837,10 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 c->eax |= XEN_HVM_CPUID_VCPU_ID_PRESENT;
                 c->ebx = cs->cpu_index;
             }
+
+            if (cs->kvm_state->xen_version >= XEN_VERSION(4, 17)) {
+                c->eax |= XEN_HVM_CPUID_UPCALL_VECTOR;
+            }
         }
 
         r = kvm_xen_init_vcpu(cs);