[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/12] i386/xen: fix per-vCPU upcall vector for Xen emulation
From: |
David Woodhouse |
Subject: |
[PATCH 01/12] i386/xen: fix per-vCPU upcall vector for Xen emulation |
Date: |
Mon, 16 Oct 2023 16:18:58 +0100 |
From: David Woodhouse <dwmw@amazon.co.uk>
The per-vCPU upcall vector support had two problems. Firstly it was
using the wrong hypercall argument and would always return -EFAULT.
And secondly it was using the wrong ioctl() to pass the vector to
the kernel and thus the *kernel* would always return -EINVAL.
Linux doesn't (yet) use this mode so it went without decent testing
for a while.
Fixes: 105b47fdf2d0 ("i386/xen: implement HVMOP_set_evtchn_upcall_vector")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
target/i386/kvm/xen-emu.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index c4fa84a982..b49a840438 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -306,7 +306,7 @@ static int kvm_xen_set_vcpu_callback_vector(CPUState *cs)
trace_kvm_xen_set_vcpu_callback(cs->cpu_index, vector);
- return kvm_vcpu_ioctl(cs, KVM_XEN_HVM_SET_ATTR, &xva);
+ return kvm_vcpu_ioctl(cs, KVM_XEN_VCPU_SET_ATTR, &xva);
}
static void do_set_vcpu_callback_vector(CPUState *cs, run_on_cpu_data data)
@@ -849,8 +849,7 @@ static bool kvm_xen_hcall_hvm_op(struct kvm_xen_exit *exit,
X86CPU *cpu,
int ret = -ENOSYS;
switch (cmd) {
case HVMOP_set_evtchn_upcall_vector:
- ret = kvm_xen_hcall_evtchn_upcall_vector(exit, cpu,
- exit->u.hcall.params[0]);
+ ret = kvm_xen_hcall_evtchn_upcall_vector(exit, cpu, arg);
break;
case HVMOP_pagetable_dying:
--
2.40.1
- Re: [PATCH 12/12] hw/xen: add support for Xen primary console in emulated mode, (continued)
[PATCH 02/12] hw/xen: select kernel mode for per-vCPU event channel upcall vector, David Woodhouse, 2023/10/16
[PATCH 03/12] include: update Xen public headers to Xen 4.17.2 release, David Woodhouse, 2023/10/16
[PATCH 05/12] hw/xen: populate store frontend nodes with XenStore PFN/port, David Woodhouse, 2023/10/16
[PATCH 01/12] i386/xen: fix per-vCPU upcall vector for Xen emulation,
David Woodhouse <=
[PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/10/16
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, Paul Durrant, 2023/10/24
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/10/24
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, Paul Durrant, 2023/10/24
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/10/24
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, Paul Durrant, 2023/10/24
- Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/10/25
[PATCH 09/12] hw/xen: prevent duplicate device registrations, David Woodhouse, 2023/10/16