[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/5] KVM: Pass EventNotifier into kvm_irqchip_assign_irqfd
From: |
Peter Xu |
Subject: |
[PATCH 3/5] KVM: Pass EventNotifier into kvm_irqchip_assign_irqfd |
Date: |
Wed, 26 Feb 2020 17:54:57 -0500 |
So that kvm_irqchip_assign_irqfd() can have access to the
EventNotifiers, especially the resample event. It is needed in follow
up patch to cache and kick resamplefds from QEMU.
Signed-off-by: Peter Xu <address@hidden>
---
accel/kvm/kvm-all.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 439a4efe52..d49b74512a 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -1628,9 +1628,13 @@ int kvm_irqchip_update_msi_route(KVMState *s, int virq,
MSIMessage msg,
return kvm_update_routing_entry(s, &kroute);
}
-static int kvm_irqchip_assign_irqfd(KVMState *s, int fd, int rfd, int virq,
+static int kvm_irqchip_assign_irqfd(KVMState *s, EventNotifier *event,
+ EventNotifier *resample, int virq,
bool assign)
{
+ int fd = event_notifier_get_fd(event);
+ int rfd = resample ? event_notifier_get_fd(resample) : -1;
+
struct kvm_irqfd irqfd = {
.fd = fd,
.gsi = virq,
@@ -1735,7 +1739,9 @@ int kvm_irqchip_add_hv_sint_route(KVMState *s, uint32_t
vcpu, uint32_t sint)
return -ENOSYS;
}
-static int kvm_irqchip_assign_irqfd(KVMState *s, int fd, int virq, bool assign)
+static int kvm_irqchip_assign_irqfd(KVMState *s, EventNotifier *event,
+ EventNotifier *resample, int virq,
+ bool assign)
{
abort();
}
@@ -1749,15 +1755,13 @@ int kvm_irqchip_update_msi_route(KVMState *s, int virq,
MSIMessage msg)
int kvm_irqchip_add_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
EventNotifier *rn, int virq)
{
- return kvm_irqchip_assign_irqfd(s, event_notifier_get_fd(n),
- rn ? event_notifier_get_fd(rn) : -1, virq, true);
+ return kvm_irqchip_assign_irqfd(s, n, rn, virq, true);
}
int kvm_irqchip_remove_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
int virq)
{
- return kvm_irqchip_assign_irqfd(s, event_notifier_get_fd(n), -1, virq,
- false);
+ return kvm_irqchip_assign_irqfd(s, n, NULL, virq, false);
}
int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n,
--
2.24.1
- [PATCH 0/5] vfio/pci: Fix up breakage against split irqchip and INTx, Peter Xu, 2020/02/26
- [PATCH 1/5] vfio/pci: Disable INTx fast path if using split irqchip, Peter Xu, 2020/02/26
- [PATCH 2/5] vfio/pci: Use kvm_irqchip_add_irqfd_notifier_gsi() for irqfds, Peter Xu, 2020/02/26
- [PATCH 3/5] KVM: Pass EventNotifier into kvm_irqchip_assign_irqfd,
Peter Xu <=
- [PATCH 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/26
- [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Auger Eric, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Auger Eric, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Auger Eric, 2020/02/27
- Re: [PATCH v1.1 4/5] KVM: Kick resamplefd for split kernel irqchip, Peter Xu, 2020/02/27