irqfd and ioeventfd support for mshv
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest17 patches 8 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/17 | hyperv: Few TLFS definitionsarch/ include/ include/ | +9 | 0 replies | |
| 2/17 | drivers: hv: vmbus: Use TLFS definition for VMBUS_MESSAGE_SINTdrivers/ | +1 | 0 replies | |
| 3/17 | acpi: export node_to_pxmdrivers/ | +1 | 0 replies | |
| 4/17 | hyperv: Wrapper for setting proximity_domain_infoarch/ include/ | +18 | 0 replies | |
| 5/17 | mshv: SynIC event ring and event flags supportarch/ drivers/ drivers/ +2 more | +115 | 0 replies | |
| 6/17 | mshv: SynIC port and connection hypercallsdrivers/ drivers/ include/ +2 more | +304 | 8 replies | |
| 7/17 | hyperv: Configure SINT for Doorbelldrivers/ include/ | +39 | 0 replies | |
| 8/17 | mshv: Port id managementdrivers/ drivers/ drivers/ +1 more | +121 | 0 replies | |
| 9/17 | mshv: Doorbell handler in hypercall ISRarch/ arch/ drivers/ +2 more | +186 | 0 replies | |
| 10/17 | mshv: Doorbell register/unregister APIdrivers/ drivers/ | +85 | 0 replies | |
| 11/17 | mshv: HvClearVirtualInterrupt hypercalldrivers/ drivers/ include/ | +22 | 0 replies | |
| 12/17 | mshv: Add irqfd support for mshvdrivers/ drivers/ drivers/ +4 more | +389 | 0 replies | |
| 13/17 | mshv: Add ioeventfd support for mshvdrivers/ drivers/ include/ +2 more | +300 | 0 replies | |
| 14/17 | mshv: Notifier framework for EOI for level triggered interruptsdrivers/ drivers/ drivers/ +2 more | +79 | 0 replies | |
| 15/17 | mshv: Level-triggered interrupt support for irqfddrivers/ drivers/ include/ +2 more | +154 | 0 replies | |
| 16/17 | mshv: User space controlled MSI irq routing for mshvdrivers/ drivers/ drivers/ +2 more | +202 | 0 replies | |
| 17/17 | mshv: Use in kernel MSI routing for irqfddrivers/ drivers/ include/ +2 more | +87 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/17] irqfd and ioeventfd support for mshv
This patch series adds irqfd and ioeventfd support for VMMs on Hyper-V. Also adds support for in-kernel MSI irq routing framework. Both these features are inspired from the kvm implementation and all credits to kvm developers.
Patches 1-11 are preparatory patches for enabling irqfd/ioeventfd. Hyper-v features like ports, connections, doorbell etc needs to be enabled to implement irqfd and ioeventfd feature.
Patches 12-15 implements irqfd and ioeventfd, and 16 and 17 implements the in-kernel MSI routing framework.
This patchset is rebased on Nuno's root partition ioctl interface series:
https://lkml.org/lkml/2021/5/28/820
---
Vineeth Pillai (17):
hyperv: Few TLFS definitions
drivers: hv: vmbus: Use TLFS definition for VMBUS_MESSAGE_SINT
acpi: export node_to_pxm
hyperv: Wrapper for setting proximity_domain_info
mshv: SynIC event ring and event flags support
mshv: SynIC port and connection hypercalls
hyperv: Configure SINT for Doorbell
mshv: Port id management
mshv: Doorbell handler in hypercall ISR
mshv: Doorbell register/unregister API
mshv: HvClearVirtualInterrupt hypercall
mshv: Add irqfd support for mshv
mshv: Add ioeventfd support for mshv
mshv: Notifier framework for EOI for level triggered interrupts
mshv: Level-triggered interrupt support for irqfd
mshv: User space controlled MSI irq routing for mshv
mshv: Use in kernel MSI routing for irqfd
arch/x86/hyperv/hv_init.c | 32 +- arch/x86/hyperv/hv_proc.c | 15 +- arch/x86/include/asm/hyperv-tlfs.h | 2 + arch/x86/include/asm/mshyperv.h | 2 + arch/x86/include/uapi/asm/hyperv-tlfs.h | 2 + drivers/acpi/numa/srat.c | 1 + drivers/hv/Kconfig | 1 + drivers/hv/Makefile | 3 +- drivers/hv/hv_call.c | 181 ++++++ drivers/hv/hv_eventfd.c | 723 ++++++++++++++++++++++++ drivers/hv/hv_portid_table.c | 83 +++ drivers/hv/hv_synic.c | 383 +++++++++++-- drivers/hv/hyperv_vmbus.h | 2 +- drivers/hv/mshv.h | 52 ++ drivers/hv/mshv_main.c | 96 +++- drivers/hv/mshv_msi.c | 128 +++++ include/asm-generic/hyperv-tlfs.h | 106 +++- include/asm-generic/mshyperv.h | 14 + include/linux/hyperv.h | 9 - include/linux/mshv.h | 65 ++- include/linux/mshv_eventfd.h | 78 +++ include/uapi/asm-generic/hyperv-tlfs.h | 81 +++ include/uapi/linux/mshv.h | 48 ++ 23 files changed, 2043 insertions(+), 64 deletions(-) create mode 100644 drivers/hv/hv_eventfd.c create mode 100644 drivers/hv/hv_portid_table.c create mode 100644 drivers/hv/mshv_msi.c create mode 100644 include/linux/mshv_eventfd.h
Signature · 1 line
2.25.1