From: Vineeth Pillai <viremana@linux.microsoft.com>
To: Nuno Das Neves <nunodasneves@linux.microsoft.com>,
Wei Liu <wei.liu@kernel.org>,
Sunil Muthuswamy <sunilmut@microsoft.com>,
Michael Kelley <mikelley@microsoft.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Vineeth Pillai <viremana@linux.microsoft.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org
Subject: [PATCH 00/17] irqfd and ioeventfd support for mshv
Date: Wed, 2 Jun 2021 17:20:45 +0000 [thread overview]
Message-ID: <cover.1622654100.git.viremana@linux.microsoft.com> (raw)
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
next reply other threads:[~2021-06-02 17:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-02 17:20 Vineeth Pillai [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1622654100.git.viremana@linux.microsoft.com \
--to=viremana@linux.microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=nunodasneves@linux.microsoft.com \
--cc=sunilmut@microsoft.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=vkuznets@redhat.com \
--cc=wei.liu@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox