[Pull Request][Kinetic linux-azure] Azure: Add PCI pass-thru support to Hyper-V Confidential VMs
Tim Gardner
tim.gardner at canonical.com
Fri May 5 11:41:09 UTC 2023
BugLink: https://bugs.launchpad.net/bugs/2015369
SRU Justification
[Impact]
Microsoft has requested the inclusion of this patch set:
https://lore.kernel.org/linux-hyperv/1679838727-87310-1-git-send-email-mikelley@microsoft.com/T/
[Regression Potential]
Private memory mappings could be incorrect.
[Test Plan]
Microsoft tested:
Hi Tim, I finished the backport and pushed the patches to my github branch:
https://github.com/dcui/tdx/commits/decui/kinetic-azure-Add-PCI-pass-thru-to-cvm-lp2015369/2023-0504
With the branch, I'm able to start a TDX VM and a SNP VM with a NVMe
device assigned, and the NVMe device works in both the VMs.
[Other Info]
SF: #00355859
--------------------------------------------------------------------
The following changes since commit a70f4dfe3bda868700187ab3073a566fa9a4135b:
UBUNTU: Ubuntu-azure-5.19.0-1026.29 (2023-04-24 07:35:21 -0600)
are available in the Git repository at:
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/kinetic
kinetic-azure-Add-PCI-pass-thru-to-cvm-lp2015369
for you to fetch changes up to 73eb0bf020e6d05f9389f235b974f1845c73840b:
PCI: hv: Replace retarget_msi_interrupt_params with
hyperv_pcpu_input_arg (2023-05-05 04:21:17 -0600)
----------------------------------------------------------------
Dexuan Cui (5):
UBUNTU: SAUCE: Drivers: hv: vmbus: Revert Dexuan's changes to
hv_ringbuffer_init()
UBUNTU: SAUCE: Drivers: hv: vmbus: Hardcode MMIO resources in
vmbus_walk_resources() when necessary
UBUNTU: SAUCE: x86/hyperv: Support hypercalls for TDX guests (part 2)
Drivers: hv: vmbus: Remove the per-CPU post_msg_page
PCI: hv: Replace retarget_msi_interrupt_params with
hyperv_pcpu_input_arg
Jinank Jain (4):
x86/hyperv: Add support for detecting nested hypervisor
Drivers: hv: Setup synic registers in case of nested root partition
x86/hyperv: Add an interface to do nested hypercalls
Drivers: hv: Enable vmbus driver for nested root partition
Michael Kelley (13):
x86/ioremap: Add hypervisor callback for private MMIO mapping in
coco VM
x86/hyperv: Reorder code to facilitate future work
Drivers: hv: Explicitly request decrypted in vmap_pfn() calls
x86/mm: Handle decryption/re-encryption of bss_decrypted consistently
init: Call mem_encrypt_init() after Hyper-V hypercall init is done
x86/hyperv: Change vTOM handling to use standard coco mechanisms
UBUNTU: SAUCE: swiotlb: Remove bounce buffer remapping for Hyper-V
UBUNTU: SAUCE: Drivers: hv: vmbus: Remove second mapping of VMBus
monitor pages
Drivers: hv: vmbus: Remove second way of mapping ring buffers
hv_netvsc: Remove second mapping of send and recv buffers
x86/hyperv: Block root partition functionality in a Confidential VM
Drivers: hv: Don't remap addresses that are above shared_gpa_boundary
PCI: hv: Enable PCI pass-thru devices in Confidential VMs
arch/x86/coco/core.c | 40 +++++++++++++-----
arch/x86/hyperv/hv_init.c | 21 +++-------
arch/x86/hyperv/ivm.c | 153
++++++++++++++++++++++++++++++++++++++------------------------------
arch/x86/include/asm/coco.h | 1 -
arch/x86/include/asm/hyperv-tlfs.h | 20 ++++++++-
arch/x86/include/asm/mem_encrypt.h | 1 +
arch/x86/include/asm/mshyperv.h | 88
++++++++++++++++++++++++---------------
arch/x86/include/asm/x86_init.h | 4 ++
arch/x86/kernel/apic/io_apic.c | 10 ++++-
arch/x86/kernel/cpu/mshyperv.c | 110
+++++++++++++++++++++++++++++++++++++++----------
arch/x86/kernel/x86_init.c | 2 +
arch/x86/mm/ioremap.c | 5 +++
arch/x86/mm/mem_encrypt_amd.c | 10 +++--
arch/x86/mm/pat/set_memory.c | 3 --
drivers/hv/Kconfig | 1 -
drivers/hv/channel_mgmt.c | 2 +-
drivers/hv/connection.c | 115
+++++++++++++--------------------------------------
drivers/hv/hv.c | 76
+++++++++++++---------------------
drivers/hv/hv_common.c | 44 +++++++++++++-------
drivers/hv/hyperv_vmbus.h | 6 ---
drivers/hv/ring_buffer.c | 66 +++++++++--------------------
drivers/hv/vmbus_drv.c | 14 ++++++-
drivers/net/hyperv/hyperv_net.h | 2 -
drivers/net/hyperv/netvsc.c | 48 +---------------------
drivers/pci/controller/pci-hyperv.c | 280
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------
include/asm-generic/hyperv-tlfs.h | 23 +++++++++++
include/asm-generic/mshyperv.h | 5 ++-
include/linux/swiotlb.h | 2 -
init/main.c | 19 +++++----
kernel/dma/swiotlb.c | 47 +--------------------
30 files changed, 643 insertions(+), 575 deletions(-)
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list