[Pull Request][mantic/linux-azure] Azure 6.5: Fix TDX regressions
Tim Gardner
tim.gardner at canonical.com
Tue Feb 6 15:20:07 UTC 2024
BugLink: https://bugs.launchpad.net/bugs/2052519
SRU Justification
[Impact]
TDX support in Microsoft Azure kernels based on 6.5 has regressed from 6.2.
Microsoft has provided a backport that brings TDX functionality back to
that of Azure 6.2.
[Test Case]
Microsoft tested
[Regression Potential]
TDX support has been backported from Linux v6.6, so there could be some
lingering issues.
[Other Information]
SF: #00378027
----------------------------------------------------------------------
The following changes since commit 46d81a550d38e5d944d84ac9ac079d5927475001:
UBUNTU: Ubuntu-azure-6.5.0-1012.12 (2024-01-15 14:08:21 -0700)
are available in the Git repository at:
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux-azure/+git/mantic
mantic-dexuan-tdx-backport-lp2052519
for you to fetch changes up to 1efe32b05538cccc2e97d55a13ecb59bdde35c13:
UBUNTU: SAUCE: clocksource: hyper-v: Use InvariantTSC and enable TSC
page for a TDX VM without paravisor (2024-02-06 07:18:40 -0700)
----------------------------------------------------------------
Dexuan Cui (17):
x86/hyperv: Fix undefined reference to isolation_type_en_snp
without CONFIG_HYPERV
x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests
x86/hyperv: Support hypercalls for fully enlightened TDX guests
Drivers: hv: vmbus: Support fully enlightened TDX guests
x86/hyperv: Fix serial console interrupts for fully enlightened
TDX guests
Drivers: hv: vmbus: Support >64 VPs for a fully enlightened
TDX/SNP VM
x86/hyperv: Introduce a global variable hyperv_paravisor_present
Drivers: hv: vmbus: Bring the post_msg_page back for TDX VMs with
the paravisor
x86/hyperv: Use TDX GHCI to access some MSRs in a TDX VM with the
paravisor
x86/hyperv: Remove hv_isolation_type_en_snp
x86/hyperv: Move the code in ivm.c around to avoid unnecessary
ifdef's
x86/tdx: Retry partially-completed page conversion hypercalls
UBUNTU: SAUCE: x86/EISA: Don't probe EISA bus for a TDX VM (with
the paravisor) on Hyper-V
UBUNTU: SAUCE: Drivers: hv: vmbus: Hardcode MMIO resources in
vmbus_walk_resources() when necessary
UBUNTU: SAUCE: x86/tdx: Support vmalloc() for
tdx_enc_status_changed()
UBUNTU: SAUCE: x86/coco: Allow CPU online/offline for a TDX VM
with the paravisor on Hyper-V
UBUNTU: SAUCE: clocksource: hyper-v: Use InvariantTSC and enable
TSC page for a TDX VM without paravisor
Jiapeng Chong (1):
x86/hyperv: Remove duplicate include
Kirill A. Shutemov (1):
x86/mm: Fix memory encryption features advertisement
Nathan Chancellor (1):
x86/hyperv: Add missing 'inline' to hv_snp_boot_ap() stub
Tianyu Lan (8):
x86/hyperv: Add sev-snp enlightened guest static key
x86/hyperv: Set Virtual Trust Level in VMBus init message
x86/hyperv: Mark Hyper-V vp assist page unencrypted in SEV-SNP
enlightened guest
drivers: hv: Mark percpu hvcall input arg page unencrypted in
SEV-SNP enlightened guest
x86/hyperv: Use vmmcall to implement Hyper-V hypercall in sev-snp
enlightened guest
clocksource: hyper-v: Mark hyperv tsc page unencrypted in sev-snp
enlightened guest
x86/hyperv: Add smp support for SEV-SNP guest
x86/hyperv: Add hyperv-specific handling for VMMCALL under SEV-ES
arch/x86/coco/core.c | 6 +++-
arch/x86/coco/tdx/tdx.c | 88
++++++++++++++++++++++++++++++++++++++++++++++++--------
arch/x86/entry/vdso/vma.c | 11 +++++--
arch/x86/hyperv/hv_apic.c | 15 ++++++++--
arch/x86/hyperv/hv_init.c | 105
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
arch/x86/hyperv/ivm.c | 264
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
arch/x86/include/asm/coco.h | 1 +
arch/x86/include/asm/hyperv-tlfs.h | 10 ++++++-
arch/x86/include/asm/mshyperv.h | 71
+++++++++++++++++++++++++++++++++++++++------
arch/x86/include/asm/shared/tdx.h | 2 ++
arch/x86/kernel/cpu/mshyperv.c | 88
+++++++++++++++++++++++++++++++++++++++++++++++++++-----
arch/x86/kernel/eisa.c | 10 +++++++
arch/x86/mm/mem_encrypt.c | 56
+++++++++++++++++++-----------------
drivers/clocksource/hyperv_timer.c | 16 +++++++++--
drivers/hv/connection.c | 16 ++++++++---
drivers/hv/hv.c | 131
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
drivers/hv/hv_common.c | 48 +++++++++++++++++++++++++++++--
drivers/hv/hyperv_vmbus.h | 11 +++++++
drivers/hv/vmbus_drv.c | 15 ++++++++++
include/asm-generic/hyperv-tlfs.h | 1 +
include/asm-generic/mshyperv.h | 17 ++++++++---
include/linux/hyperv.h | 4 +--
22 files changed, 876 insertions(+), 110 deletions(-)
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list