linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] irqfd and ioeventfd support for mshv
@ 2021-06-02 17:20 Vineeth Pillai
  2021-06-02 17:20 ` [PATCH 01/17] hyperv: Few TLFS definitions Vineeth Pillai
                   ` (16 more replies)
  0 siblings, 17 replies; 26+ messages in thread
From: Vineeth Pillai @ 2021-06-02 17:20 UTC (permalink / raw)
  To: Nuno Das Neves, Wei Liu, Sunil Muthuswamy, Michael Kelley,
	Vitaly Kuznetsov
  Cc: Vineeth Pillai, K. Y. Srinivasan, virtualization, linux-kernel,
	linux-hyperv

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

-- 
2.25.1


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2021-06-30 15:03 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02 17:20 [PATCH 00/17] irqfd and ioeventfd support for mshv Vineeth Pillai
2021-06-02 17:20 ` [PATCH 01/17] hyperv: Few TLFS definitions Vineeth Pillai
2021-06-02 17:20 ` [PATCH 02/17] drivers: hv: vmbus: Use TLFS definition for VMBUS_MESSAGE_SINT Vineeth Pillai
2021-06-02 17:20 ` [PATCH 03/17] acpi: export node_to_pxm Vineeth Pillai
2021-06-02 17:20 ` [PATCH 04/17] hyperv: Wrapper for setting proximity_domain_info Vineeth Pillai
2021-06-02 17:20 ` [PATCH 05/17] mshv: SynIC event ring and event flags support Vineeth Pillai
2021-06-02 17:20 ` [PATCH 06/17] mshv: SynIC port and connection hypercalls Vineeth Pillai
2021-06-10 12:19   ` Vitaly Kuznetsov
2021-06-29 12:55     ` Wei Liu
2021-06-29 16:19       ` Vineeth Pillai
2021-06-29 13:06   ` Wei Liu
2021-06-29 16:21     ` Vineeth Pillai
2021-06-30 10:44   ` Wei Liu
2021-06-30 11:10   ` Wei Liu
2021-06-30 15:03     ` Vineeth Pillai
2021-06-02 17:20 ` [PATCH 07/17] hyperv: Configure SINT for Doorbell Vineeth Pillai
2021-06-02 17:20 ` [PATCH 08/17] mshv: Port id management Vineeth Pillai
2021-06-02 17:20 ` [PATCH 09/17] mshv: Doorbell handler in hypercall ISR Vineeth Pillai
2021-06-02 17:20 ` [PATCH 10/17] mshv: Doorbell register/unregister API Vineeth Pillai
2021-06-02 17:20 ` [PATCH 11/17] mshv: HvClearVirtualInterrupt hypercall Vineeth Pillai
2021-06-02 17:20 ` [PATCH 12/17] mshv: Add irqfd support for mshv Vineeth Pillai
2021-06-02 17:20 ` [PATCH 13/17] mshv: Add ioeventfd " Vineeth Pillai
2021-06-02 17:20 ` [PATCH 14/17] mshv: Notifier framework for EOI for level triggered interrupts Vineeth Pillai
2021-06-02 17:21 ` [PATCH 15/17] mshv: Level-triggered interrupt support for irqfd Vineeth Pillai
2021-06-02 17:21 ` [PATCH 16/17] mshv: User space controlled MSI irq routing for mshv Vineeth Pillai
2021-06-02 17:21 ` [PATCH 17/17] mshv: Use in kernel MSI routing for irqfd Vineeth Pillai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).