Re: [PATCHv6 00/16] x86/tdx: Add kexec support

From: Nikolay Borisov
Date: Wed Jan 31 2024 - 07:58:43 EST




On 31.01.24 г. 14:47 ч., Baoquan He wrote:
On 01/31/24 at 09:31am, Nikolay Borisov wrote:


On 30.01.24 г. 15:43 ч., Paolo Bonzini wrote:
On 1/24/24 13:55, Kirill A. Shutemov wrote:
The patchset adds bits and pieces to get kexec (and crashkernel) work on
TDX guest.

The last patch implements CPU offlining according to the approved ACPI
spec change poposal[1]. It unlocks kexec with all CPUs visible in
the target
kernel. It requires BIOS-side enabling. If it missing we fallback to
booting
2nd kernel with single CPU.

Please review. I would be glad for any feedback.

Hi Kirill,

I have a very basic question: is there a reason why this series does not
revert commit cb8eb06d50fc, "x86/virt/tdx: Disable TDX host support when
kexec is enabled"?

While on the topic, Paolo do you think it's better to have a runtime
disable of kexec rather than at compile time:

[RFC PATCH] x86/virt/tdx: Disable KEXEC in the presence of TDX

20240118160118.1899299-1-nik.borisov@xxxxxxxx

Runtime disabling kexec looks better than at cmpile time, esp for
distros. While from above patch, making using of kexec_load_disabled to
achive the runtime disabling may not be so good. Because we have a front
door to enable it through:

/proc/sys/kernel/kexec_load_disabled

AFAIU it can't be enabled via this sysctl because the handler for it expects only 1 to be written to it:

2 .proc_handler = proc_dointvec_minmax,
1 .extra1 = SYSCTL_ONE,
994 .extra2 = SYSCTL_ONE,


If there's a flag or status to check if TDX host is enabled, and does
the checking in kexec_load_permitted(), that could be better. Anyway, I
saw Huang, Kai has posted the tdx host support patchset.


I'm trying to get traction for this patch.



Thanks,

Paolo