[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH v4 27/36] i386/tdx: Disable SMM for TDX VMs
From: |
Xiaoyao Li |
Subject: |
[RFC PATCH v4 27/36] i386/tdx: Disable SMM for TDX VMs |
Date: |
Thu, 12 May 2022 11:17:54 +0800 |
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>
---
target/i386/kvm/tdx.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/target/i386/kvm/tdx.c b/target/i386/kvm/tdx.c
index 4a7c149f895c..7ff4c6a9a7ca 100644
--- a/target/i386/kvm/tdx.c
+++ b/target/i386/kvm/tdx.c
@@ -322,9 +322,17 @@ static Notifier tdx_machine_done_notify = {
int tdx_kvm_init(MachineState *ms, Error **errp)
{
+ X86MachineState *x86ms = X86_MACHINE(ms);
TdxGuest *tdx = (TdxGuest *)object_dynamic_cast(OBJECT(ms->cgs),
TYPE_TDX_GUEST);
+ 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) {
get_tdx_capabilities();
}
--
2.27.0
- Re: [RFC PATCH v4 22/36] i386/tdx: Track RAM entries for TDX VM, (continued)
- [RFC PATCH v4 24/36] i386/tdx: Add TDVF memory via KVM_TDX_INIT_MEM_REGION, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 25/36] i386/tdx: Call KVM_TDX_INIT_VCPU to initialize TDX vcpu, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 23/36] i386/tdx: Setup the TD HOB list, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 27/36] i386/tdx: Disable SMM for TDX VMs,
Xiaoyao Li <=
- [RFC PATCH v4 29/36] i386/tdx: Don't allow system reset for TDX VMs, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 30/36] hw/i386: add eoi_intercept_unsupported member to X86MachineState, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 26/36] i386/tdx: Finalize TDX VM, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 28/36] i386/tdx: Disable PIC for TDX VMs, Xiaoyao Li, 2022/05/11
- [RFC PATCH v4 33/36] i386/tdx: Only configure MSR_IA32_UCODE_REV in kvm_init_msrs() for TDs, Xiaoyao Li, 2022/05/11