ACK: [PULL REQUEST][kinetic/linux-azure] Kinetic: Enable MSFT Hyper-v TDX guest support

Bartlomiej Zolnierkiewicz bartlomiej.zolnierkiewicz at canonical.com
Mon Jan 16 18:13:16 UTC 2023


Acked-by: Bartlomiej Zolnierkiewicz <bartlomiej.zolnierkiewicz at canonical.com>

On Thu, Jan 12, 2023 at 3:45 PM Tim Gardner <tim.gardner at canonical.com> wrote:
>
> SRU Justification
>
> BugLink: https://bugs.launchpad.net/bugs/2002658
>
> [Impact]
>
> Support for Intel TDX guest driver is just now appearing upstream. This
> patch set is a backport of the patches essential to enabling TDX guest
> support on the Microsoft hypervisor.
>
> Most of these patches are not yet upstream, but are considered benign
> with respect to MSFT hypervisors that do not yet have support for TDX. I
> have boot tested on an existing Hyper-v hypervisor to ensure backwards
> compatibility.
>
> This patch set will eventually be replaced by upstream patches.
>
> [Test Plan]
>
> Boot on a TDX enabled Hyper-v instance.
>
> [Where things could go wrong]
>
> Existing Azure instances could have boot issues.
>
> -----------------------------------------------------------------------
>
> The following changes since commit 1c80ad05e8fbba41a36a1dcccdf7ddf9916b6e1a:
>
>    UBUNTU: Ubuntu-azure-5.19.0-1016.17 (2022-12-15 11:28:09 -0700)
>
> are available in the Git repository at:
>
>    git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/kinetic
> 102f198aac3f164c595a552165900fa63bc1f1e6
>
> for you to fetch changes up to 102f198aac3f164c595a552165900fa63bc1f1e6:
>
>    UBUNTU: SAUCE: tdx: Drivers: hv: vmbus:: Fix the ARM64 build caused
> by recent TDX patches (2023-01-12 07:37:26 -0700)
>
> ----------------------------------------------------------------
> Anirudh Rayabharam (1):
>        clocksource/drivers/hyperv: add data structure for reference TSC MSR
>
> Dexuan Cui (14):
>        Revert "UBUNTU: SAUCE: x86/tdx: Add TDX Guest attestation
> interface driver"
>        Revert "UBUNTU: SAUCE: selftests: tdx: Test GetReport TDX
> attestation feature"
>        Revert "x86/hyper-v: Add hyperv Isolation VM check in the
> cc_platform_has()"
>        UBUNTU: SAUCE: tdx: enable DEBUG:
> tools/testing/selftests/tdx/tdx_guest_test.c
>        UBUNTU: SAUCE: tdx: swiotlb: check set_memory_decrypted()'s
> return value
>        UBUNTU: SAUCE: tdx: x86/sev: mem_encrypt_free_decrypted_mem():
> encrypt the pages for AMD SME only
>        UBUNTU: SAUCE: tdx: x86/hyperv: Do not run
> swiotlb_update_mem_attributes() in hyperv_init()
>        UBUNTU: SAUCE: tdx: x86/tdx: Retry TDVMCALL_MAP_GPA() when needed
>        UBUNTU: SAUCE: tdx: x86/tdx: Support vmalloc() for
> tdx_enc_status_changed()
>        UBUNTU: SAUCE: tdx: x86/hyperv: Add hv_isolation_type_tdx() to
> detect TDX guests
>        UBUNTU: SAUCE: tdx: x86/hyperv: Support hypercalls for TDX guests
>        UBUNTU: SAUCE: tdx: Drivers: hv: vmbus: Support TDX guests
>        UBUNTU: SAUCE: tdx: x86/hyperv: Fix serial console interrupts for
> TDX guests
>        UBUNTU: SAUCE: tdx: Drivers: hv: vmbus:: Fix the ARM64 build
> caused by recent TDX patches
>
> Kirill A. Shutemov (1):
>        UBUNTU: SAUCE: tdx: x86/tdx: Expand __tdx_hypercall() to handle
> more arguments
>
> Kuppuswamy Sathyanarayanan (3):
>        x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module
>        virt: Add TDX guest driver
>        selftests/tdx: Test TDX attestation GetReport support
>
> Tim Gardner (1):
>        UBUNTU: [Config] azure: Enable TDX guest driver
>
>   Documentation/virt/coco/tdx-guest.rst         |  52 +++++++++++++++++
>   Documentation/virt/index.rst                  |   1 +
>   Documentation/x86/tdx.rst                     |  43 ++++++++++++++
>   arch/x86/coco/core.c                          |   6 --
>   arch/x86/coco/tdx/tdcall.S                    |  82
> +++++++++++++++++++--------
>   arch/x86/coco/tdx/tdx.c                       | 262
> ++++++++++++++++++++++++++++++++++++++++---------------------------------------------
>   arch/x86/hyperv/hv_init.c                     |  32 +++++++++--
>   arch/x86/hyperv/ivm.c                         |  28 +++++++++
>   arch/x86/include/asm/hyperv-tlfs.h            |   3 +-
>   arch/x86/include/asm/mshyperv.h               |  20 +++++++
>   arch/x86/include/asm/shared/tdx.h             |   6 ++
>   arch/x86/include/asm/tdx.h                    |   2 +
>   arch/x86/include/uapi/asm/tdx.h               |  51 -----------------
>   arch/x86/kernel/asm-offsets.c                 |   6 ++
>   arch/x86/kernel/cpu/mshyperv.c                |  44 ++++++++++++++-
>   arch/x86/mm/mem_encrypt_amd.c                 |   2 +-
>   arch/x86/mm/pat/set_memory.c                  |   2 +-
>   debian.azure/config/config.common.ubuntu      |   1 +
>   drivers/clocksource/hyperv_timer.c            |  29 +++++-----
>   drivers/hv/connection.c                       |   4 +-
>   drivers/hv/hv.c                               |  60 +++++++++++++++++++-
>   drivers/hv/hv_common.c                        |  12 ++++
>   drivers/hv/ring_buffer.c                      |   4 ++
>   drivers/virt/Kconfig                          |   2 +
>   drivers/virt/Makefile                         |   1 +
>   drivers/virt/coco/tdx-guest/Kconfig           |  10 ++++
>   drivers/virt/coco/tdx-guest/Makefile          |   2 +
>   drivers/virt/coco/tdx-guest/tdx-guest.c       | 102
> +++++++++++++++++++++++++++++++++
>   include/asm-generic/hyperv-tlfs.h             |   9 +++
>   include/asm-generic/mshyperv.h                |   3 +
>   include/uapi/linux/tdx-guest.h                |  42 ++++++++++++++
>   kernel/dma/swiotlb.c                          |   5 +-
>   tools/arch/x86/include/uapi/asm/tdx.h         |  51 -----------------
>   tools/testing/selftests/tdx/Makefile          |   8 +--
>   tools/testing/selftests/tdx/config            |   2 +-
>   tools/testing/selftests/tdx/tdx_attest_test.c | 156
> ---------------------------------------------------
>   tools/testing/selftests/tdx/tdx_guest_test.c  | 163
> +++++++++++++++++++++++++++++++++++++++++++++++++++++
>   37 files changed, 847 insertions(+), 461 deletions(-)
>   create mode 100644 Documentation/virt/coco/tdx-guest.rst
>   delete mode 100644 arch/x86/include/uapi/asm/tdx.h
>   create mode 100644 drivers/virt/coco/tdx-guest/Kconfig
>   create mode 100644 drivers/virt/coco/tdx-guest/Makefile
>   create mode 100644 drivers/virt/coco/tdx-guest/tdx-guest.c
>   create mode 100644 include/uapi/linux/tdx-guest.h
>   delete mode 100644 tools/arch/x86/include/uapi/asm/tdx.h
>   delete mode 100644 tools/testing/selftests/tdx/tdx_attest_test.c
>   create mode 100644 tools/testing/selftests/tdx/tdx_guest_test.c
> --
> -----------
> Tim Gardner
> Canonical, Inc
>



More information about the kernel-team mailing list