5 #include <linux/build_bug.h>
15 struct kvm_smm_seg_state_32 {
21 struct kvm_smram_state_32 {
38 struct kvm_smm_seg_state_32 ds;
39 struct kvm_smm_seg_state_32 fs;
40 struct kvm_smm_seg_state_32 gs;
41 struct kvm_smm_seg_state_32 idtr;
42 struct kvm_smm_seg_state_32 tr;
44 struct kvm_smm_seg_state_32 gdtr;
45 struct kvm_smm_seg_state_32 ldtr;
46 struct kvm_smm_seg_state_32 es;
47 struct kvm_smm_seg_state_32 cs;
48 struct kvm_smm_seg_state_32 ss;
71 struct kvm_smm_seg_state_64 {
78 struct kvm_smram_state_64 {
80 struct kvm_smm_seg_state_64 es;
81 struct kvm_smm_seg_state_64 cs;
82 struct kvm_smm_seg_state_64 ss;
83 struct kvm_smm_seg_state_64 ds;
84 struct kvm_smm_seg_state_64 fs;
85 struct kvm_smm_seg_state_64 gs;
86 struct kvm_smm_seg_state_64 gdtr;
87 struct kvm_smm_seg_state_64 ldtr;
88 struct kvm_smm_seg_state_64 idtr;
89 struct kvm_smm_seg_state_64 tr;
111 u64 svm_guest_vmcb_gpa;
112 u64 svm_guest_virtual_int;
138 struct kvm_smram_state_64 smram64;
139 struct kvm_smram_state_32 smram32;
145 kvm_make_request(KVM_REQ_SMI, vcpu);
149 static inline bool is_smm(
struct kvm_vcpu *vcpu)
151 return vcpu->arch.hflags & HF_SMM_MASK;
160 static inline bool is_smm(
struct kvm_vcpu *vcpu) {
return false; }
int emulator_leave_smm(struct x86_emulate_ctxt *ctxt)
void kvm_smm_changed(struct kvm_vcpu *vcpu, bool entering_smm)
void process_smi(struct kvm_vcpu *vcpu)
void enter_smm(struct kvm_vcpu *vcpu)
static bool is_smm(struct kvm_vcpu *vcpu)
static int kvm_inject_smi(struct kvm_vcpu *vcpu)