[Pull Request][Kinetic linux-azure] Azure: Add PCI pass-thru support to Hyper-V Confidential VMs
Cengiz Can
cengiz.can at canonical.com
Thu May 25 20:32:38 UTC 2023
On Fri, 2023-05-05 at 13:41 +0200, Tim Gardner wrote:
> 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)
>
I think this commit hash is different now:
8fda1bef5c07 ("PCI: hv: Replace retarget_msi_interrupt_params with
hyperv_pcpu_input_arg")
> ----------------------------------------------------------------
> 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