-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvmx.h
91 lines (86 loc) · 1.68 KB
/
vmx.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef __LKM_VMX_H__
#define __LKM_VMX_H__
#include "common.h"
const char* vmx_get_error_message (void);
enum __vmx_exit_reasons
{
exit_nmi = 0,
exit_external_interrupt,
exit_triple_fault,
exit_init_signal,
exit_sipi,
exit_io_smi,
exit_other_smi,
exit_interrupt_window,
exit_nmi_window,
exit_task_switch,
exit_cpuid,
exit_getsec,
exit_hlt,
exit_invd,
exit_invlpg,
exit_rdpmc,
exit_rdtsc,
exit_rsm,
exit_vmcall,
exit_vmclear,
exit_vmlaunch,
exit_vmptrld,
exit_vmptrst,
exit_vmread,
exit_vmresume,
exit_vmwrite,
exit_vmxoff,
exit_vmxon,
exit_cr_access,
exit_mov_dr,
exit_io_instruction,
exit_rdmsr,
exit_wrmsr_wrmsrns,
exit_invalid_guest_state,
exit_msr_loading_error,
exit_mwait,
exit_monitor_trap_flag,
exit_monitor,
exit_pause,
exit_machine_check_event,
exit_tpr_below_threshold,
exit_apic_access,
exit_virtualized_eoi,
exit_gdtr_idtr_access,
exit_ldtr_tr_access,
exit_ept_violation,
exit_ept_misconfiguration,
exit_invept,
exit_rdtscp,
exit_vmx_preemption_timer,
exit_invvpid,
exit_wbinvd_wbnoinvd,
exit_xsetbv,
exit_apic_write,
exit_rdrand,
exit_invpcid,
exit_vmfunc,
exit_encls,
exit_rdseed,
exit_pml_full,
exit_xsaves,
exit_xrstors,
exit_pconfig,
exit_spp_related_event,
exit_umwait,
exit_tpause,
exit_loadiwkey,
exit_enclv,
exit_enqcmd_pasid_error,
exit_enqcmds_pasid_error,
exit_bus_lock,
exit_instruction_timeout,
exit_seamcall,
exit_tdcall,
exit_rdmsrlist,
exit_wrmsrlist
};
int vmexit_handler (cpu_ctx *_cpu_ctx);
void vmresume_error_handler (void);
#endif // __LKM_VMX_H__