Skip to content

Commit 3a83e13

Browse files
committed
KVM: pVMX: Provide stub implementation for SMM mode operations
The pKVM hypervisor doesn't support SMM mode emulation. To satisfy the interface requirement, provide stub implementation for SMM mode operations. Signed-off-by: Chuanxiao Dong <[email protected]>
1 parent 2c12fcf commit 3a83e13

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

arch/x86/kvm/vmx/pkvm_host.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,25 @@ static void pkvm_setup_mce(struct kvm_vcpu *vcpu)
10211021
KVM_BUG_ON(pkvm_hypercall(setup_mce), vcpu->kvm);
10221022
}
10231023

1024+
#ifdef CONFIG_KVM_SMM
1025+
static int pkvm_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection)
1026+
{
1027+
return false;
1028+
}
1029+
1030+
static int pkvm_enter_smm(struct kvm_vcpu *vcpu, union kvm_smram *smram)
1031+
{
1032+
return -EOPNOTSUPP;
1033+
}
1034+
1035+
static int pkvm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
1036+
{
1037+
return -EOPNOTSUPP;
1038+
}
1039+
1040+
static void pkvm_enable_smi_window(struct kvm_vcpu *vcpu) {}
1041+
#endif
1042+
10241043
static bool pkvm_apic_init_signal_blocked(struct kvm_vcpu *vcpu)
10251044
{
10261045
/*
@@ -1126,6 +1145,13 @@ struct kvm_x86_ops pkvm_host_vt_x86_ops __initdata = {
11261145

11271146
.setup_mce = pkvm_setup_mce,
11281147

1148+
#ifdef CONFIG_KVM_SMM
1149+
.smi_allowed = pkvm_smi_allowed,
1150+
.enter_smm = pkvm_enter_smm,
1151+
.leave_smm = pkvm_leave_smm,
1152+
.enable_smi_window = pkvm_enable_smi_window,
1153+
#endif
1154+
11291155
.apic_init_signal_blocked = pkvm_apic_init_signal_blocked,
11301156

11311157
.vcpu_deliver_sipi_vector = kvm_vcpu_deliver_sipi_vector,

0 commit comments

Comments
 (0)