linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nuno Das Neves <nunodasneves@linux.microsoft.com>
To: linux-hyperv@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	mhklinux@outlook.com, tglx@linutronix.de, bhelgaas@google.com,
	romank@linux.microsoft.com
Cc: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, catalin.marinas@arm.com, will@kernel.org,
	mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
	hpa@zytor.com, lpieralisi@kernel.org, kw@linux.com,
	robh@kernel.org, jinankjain@linux.microsoft.com,
	skinsburskii@linux.microsoft.com, mrathor@linux.microsoft.com,
	x86@kernel.org, Nuno Das Neves <nunodasneves@linux.microsoft.com>
Subject: [PATCH v2 0/6] Nested virtualization fixes for root partition
Date: Thu,  3 Jul 2025 15:44:31 -0700	[thread overview]
Message-ID: <1751582677-30930-1-git-send-email-nunodasneves@linux.microsoft.com> (raw)

Fixes for running as nested root partition on the Microsoft Hypervisor.

Address issues with vmbus. The first patch prevents the Hyper-V PCI driver
being registered on baremetal, since there's no vmbus.

The second patch changes vmbus to make hypercalls to the L0 hypervisor
instead of the L1. This is needed because L0 hypervisor, not the L1, is
the one hosting the Windows root partition with the VMM that provides
vmbus.

The 3rd patch fixes a bug where cpu_online_mask is used unnecessarily
in an interrupt chip callback.

The 4th patch fixes up error return values in hv_map/unmap_interrupt() and
their callers, and cleans up style issues.

The 5th and 6th patches fix interrupt unmasking on nested. In this
scenario, the L1 (nested) hypervisor does the interrupt mapping to root
partition cores. The vectors just need to be mapped with
MAP_DEVICE_INTERRUPT instead of affinitized with RETARGET_INTERRUPT.

Changes in v2:
- Reword commit messages for clarity (Michael Kelley, Bjorn Helgaas)
- Open-code nested hypercalls to reduce unnecessary code (Michael Kelley)
- Add patch (#3) to fix cpu_online_mask issue (Thomas Gleixner)
- Add patch (#4) to fix error return values (Michael Kelley)
- Remove several redundant error messages and checks (Michael Kelley)

Mukesh Rathor (1):
  PCI: hv: Don't load the driver for baremetal root partition

Nuno Das Neves (3):
  Drivers: hv: Use nested hypercall for post message and signal event
  x86/hyperv: Fix usage of cpu_online_mask to get valid cpu
  x86/hyperv: Clean up hv_map/unmap_interrupt() return values

Stanislav Kinsburskii (2):
  x86: hyperv: Expose hv_map_msi_interrupt function
  PCI: hv: Use the correct hypercall for unmasking interrupts on nested

 arch/x86/hyperv/irqdomain.c         | 66 +++++++++++++++++------------
 arch/x86/include/asm/mshyperv.h     | 22 +---------
 drivers/hv/connection.c             |  7 ++-
 drivers/hv/hv.c                     |  6 ++-
 drivers/iommu/hyperv-iommu.c        | 33 ++++++---------
 drivers/pci/controller/pci-hyperv.c | 21 ++++++++-
 6 files changed, 80 insertions(+), 75 deletions(-)

-- 
2.34.1


             reply	other threads:[~2025-07-03 22:44 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-03 22:44 Nuno Das Neves [this message]
2025-07-03 22:44 ` [PATCH v2 1/6] PCI: hv: Don't load the driver for baremetal root partition Nuno Das Neves
2025-07-07  3:12   ` Michael Kelley
2025-07-07 16:04   ` Bjorn Helgaas
2025-07-03 22:44 ` [PATCH v2 2/6] Drivers: hv: Use nested hypercall for post message and signal event Nuno Das Neves
2025-07-07  3:13   ` Michael Kelley
2025-07-07 18:19     ` Nuno Das Neves
2025-07-03 22:44 ` [PATCH v2 3/6] x86/hyperv: Fix usage of cpu_online_mask to get valid cpu Nuno Das Neves
2025-07-07  3:13   ` Michael Kelley
2025-07-03 22:44 ` [PATCH v2 4/6] x86/hyperv: Clean up hv_map/unmap_interrupt() return values Nuno Das Neves
2025-07-07  3:14   ` Michael Kelley
2025-07-03 22:44 ` [PATCH v2 5/6] x86: hyperv: Expose hv_map_msi_interrupt function Nuno Das Neves
2025-07-07  3:14   ` Michael Kelley
2025-07-07 18:23     ` Nuno Das Neves
2025-07-03 22:44 ` [PATCH v2 6/6] PCI: hv: Use the correct hypercall for unmasking interrupts on nested Nuno Das Neves
2025-07-07  3:15   ` Michael Kelley
2025-07-07 16:05   ` Bjorn Helgaas
2025-07-09 23:51 ` [PATCH v2 0/6] Nested virtualization fixes for root partition Wei Liu
2025-07-10  0:33   ` Wei Liu

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=1751582677-30930-1-git-send-email-nunodasneves@linux.microsoft.com \
    --to=nunodasneves@linux.microsoft.com \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=decui@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=hpa@zytor.com \
    --cc=jinankjain@linux.microsoft.com \
    --cc=kw@linux.com \
    --cc=kys@microsoft.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=mhklinux@outlook.com \
    --cc=mingo@redhat.com \
    --cc=mrathor@linux.microsoft.com \
    --cc=robh@kernel.org \
    --cc=romank@linux.microsoft.com \
    --cc=skinsburskii@linux.microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=wei.liu@kernel.org \
    --cc=will@kernel.org \
    --cc=x86@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;
as well as URLs for NNTP newsgroup(s).