[PATCH V3 0/2] xen: privcmd: Add ioeventfd support

Viresh Kumar posted 2 patches 6 months, 3 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
drivers/xen/Kconfig               |   8 +-
drivers/xen/events/events_base.c  |   3 +-
drivers/xen/evtchn.c              |   2 +-
drivers/xen/privcmd.c             | 405 +++++++++++++++++++++++++++++-
include/uapi/xen/privcmd.h        |  18 ++
include/xen/interface/hvm/ioreq.h |  51 ++++
6 files changed, 479 insertions(+), 8 deletions(-)
create mode 100644 include/xen/interface/hvm/ioreq.h
[PATCH V3 0/2] xen: privcmd: Add ioeventfd support
Posted by Viresh Kumar 6 months, 3 weeks ago
Hello,

Now that irqfd support (backend to guest interrupt) is already merged, this
series solves the other part of the problem, i.e. ioeventfd (guest to backend
interrupt).

More details inside the commits.

--
Viresh

V2->V3:
- Remove explicit barriers and depend on spin lock instead to take care of it.
- Move check for empty ioeventfds list to privcmd_ioeventfd_deassign(), which
  could earlier call ioreq_free() even when the list wasn't empty and so we
  returned without printing a warning in v1 earlier. V2 implemented it
  incorrectly.

V1->V2:
- Increment irq_info refcnt only for valid info.
- Use u64 type for addr.
- Add comments for use of barriers.
- Use spin lock instead of mutex as we need to use them in irq handler.
- Add a warning when kioreq is getting freed and ioeventfds list isn't empty.
- Use struct_size().
- Validate number of vcpus as well.

Viresh Kumar (2):
  xen: evtchn: Allow shared registration of IRQ handers
  xen: privcmd: Add support for ioeventfd

 drivers/xen/Kconfig               |   8 +-
 drivers/xen/events/events_base.c  |   3 +-
 drivers/xen/evtchn.c              |   2 +-
 drivers/xen/privcmd.c             | 405 +++++++++++++++++++++++++++++-
 include/uapi/xen/privcmd.h        |  18 ++
 include/xen/interface/hvm/ioreq.h |  51 ++++
 6 files changed, 479 insertions(+), 8 deletions(-)
 create mode 100644 include/xen/interface/hvm/ioreq.h

-- 
2.31.1.272.g89b43f80a514