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: 27+ 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-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.