mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-02-04 23:30:42 -07:00
i386/tdx: Disable SMM for TDX VMs
TDX doesn't support SMM and VMM cannot emulate SMM for TDX VMs because VMM cannot manipulate TDX VM's memory. Disable SMM for TDX VMs and error out if user requests to enable SMM. Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Link: https://lore.kernel.org/r/20250508150002.689633-37-xiaoyao.li@intel.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
da6728658b
commit
810d4e83d0
1 changed files with 9 additions and 0 deletions
|
|
@ -367,11 +367,20 @@ static Notifier tdx_machine_done_notify = {
|
|||
|
||||
static int tdx_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
|
||||
{
|
||||
MachineState *ms = MACHINE(qdev_get_machine());
|
||||
X86MachineState *x86ms = X86_MACHINE(ms);
|
||||
TdxGuest *tdx = TDX_GUEST(cgs);
|
||||
int r = 0;
|
||||
|
||||
kvm_mark_guest_state_protected();
|
||||
|
||||
if (x86ms->smm == ON_OFF_AUTO_AUTO) {
|
||||
x86ms->smm = ON_OFF_AUTO_OFF;
|
||||
} else if (x86ms->smm == ON_OFF_AUTO_ON) {
|
||||
error_setg(errp, "TDX VM doesn't support SMM");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!tdx_caps) {
|
||||
r = get_tdx_capabilities(errp);
|
||||
if (r) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue