xref: /linux/tools/testing/selftests/kvm/include/x86/smm.h (revision 11e8c7e9471cf8e6ae6ec7324a3174191cd965e3)
1*c52b534fSPaolo Bonzini // SPDX-License-Identifier: GPL-2.0-only
2*c52b534fSPaolo Bonzini #ifndef SELFTEST_KVM_SMM_H
3*c52b534fSPaolo Bonzini #define SELFTEST_KVM_SMM_H
4*c52b534fSPaolo Bonzini 
5*c52b534fSPaolo Bonzini #include "kvm_util.h"
6*c52b534fSPaolo Bonzini 
7*c52b534fSPaolo Bonzini #define SMRAM_SIZE	65536
8*c52b534fSPaolo Bonzini #define SMRAM_MEMSLOT	((1 << 16) | 1)
9*c52b534fSPaolo Bonzini #define SMRAM_PAGES	(SMRAM_SIZE / PAGE_SIZE)
10*c52b534fSPaolo Bonzini 
11*c52b534fSPaolo Bonzini void setup_smram(struct kvm_vm *vm, struct kvm_vcpu *vcpu,
12*c52b534fSPaolo Bonzini 		 uint64_t smram_gpa,
13*c52b534fSPaolo Bonzini 		 const void *smi_handler, size_t handler_size);
14*c52b534fSPaolo Bonzini 
15*c52b534fSPaolo Bonzini void inject_smi(struct kvm_vcpu *vcpu);
16*c52b534fSPaolo Bonzini 
17*c52b534fSPaolo Bonzini #endif /* SELFTEST_KVM_SMM_H */
18