ACK: [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:40:20 UTC 2023


On 23-05-05 13:41:09, 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)
> 
> ----------------------------------------------------------------
> 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

Acked-by: Cengiz Can <cengiz.can at canonical.com>

> 
>  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
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list