[PATCH 0/4] TDX host: kexec() support

From: Huang, Kai
Date: Wed Jan 31 2024 - 06:35:15 EST


Currently kexec() support and TDX host are muturally exclusive in the
Kconfig. This series adds the TDX host kexec support so that they can
work together and can be enabled at the same time in the Kconfig.

This follows Dave's suggestion to add the CC_ATTR_HOST_MEM_INCOHERENT
attribute to unify both Intel and AMD, instead of having Intel/AMD
specific checks around [1].

Hi Tom,

I've tested on my TDX testig machine but I don't have AMD machine to
test. I highly appreciate if you or any AMD guy can help to review
and/or test this series to make sure I didn't break anything.

Thanks a lot!

[1] https://lore.kernel.org/lkml/cbc9c527-17e5-4a63-80fe-85451394cc7c@xxxxxxx/

Kai Huang (4):
x86/coco: Add a new CC attribute to unify cache flush during kexec
x86/virt/tdx: Advertise the CC_ATTR_HOST_MEM_INCOHERENT for TDX host
x86/kexec(): Reset TDX private memory on platforms with TDX erratum
x86/virt/tdx: Remove the !KEXEC_CORE dependency

arch/x86/Kconfig | 2 +-
arch/x86/coco/core.c | 34 +++++++++-
arch/x86/include/asm/tdx.h | 2 +
arch/x86/kernel/machine_kexec_64.c | 18 ++++-
arch/x86/kernel/process.c | 14 +---
arch/x86/mm/mem_encrypt_identity.c | 11 +++-
arch/x86/virt/vmx/tdx/tdx.c | 101 +++++++++++++++++++++++++++++
include/linux/cc_platform.h | 16 +++++
8 files changed, 183 insertions(+), 15 deletions(-)


base-commit: a6f0b57202b0ee50dc042bae16494008dc6dc992
--
2.34.1