23#define USE_DEFAULT_OS_IDT_AS_HOST_IDT FALSE
29#define HOST_IDT_DESCRIPTOR_COUNT 256
165static_assert(
sizeof(
INTERRUPT_TRAP_FRAME) == (0x78 + 0x38),
"Size of INTERRUPT_TRAP_FRAME is not as expected");
198 _In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit);
202 _In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit);
unsigned short UINT16
Definition BasicTypes.h:47
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define VOID
Definition BasicTypes.h:33
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned char UINT8
Definition BasicTypes.h:46
unsigned int UINT32
Definition BasicTypes.h:48
VOID IdtEmulationHandleExceptionAndNmi(_Inout_ VIRTUAL_MACHINE_STATE *VCpu, _In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit)
Handle NMI and exception vm-exits.
Definition IdtEmulation.c:257
VOID IdtEmulationHandleInterruptWindowExiting(_Inout_ VIRTUAL_MACHINE_STATE *VCpu)
Handle interrupt-window exitings.
Definition IdtEmulation.c:565
VOID IdtEmulationPrepareHostIdt(_Inout_ VIRTUAL_MACHINE_STATE *VCpu)
Prepare Host IDT.
Definition IdtEmulation.c:67
struct _INTERRUPT_TRAP_FRAME INTERRUPT_TRAP_FRAME
Trap frame for interrupts.
struct _HOST_EXCEPTION_INFO * PHOST_EXCEPTION_INFO
VOID IdtEmulationHandleExternalInterrupt(_Inout_ VIRTUAL_MACHINE_STATE *VCpu, _In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit)
external-interrupt vm-exit handler
Definition IdtEmulation.c:415
struct _HOST_EXCEPTION_INFO HOST_EXCEPTION_INFO
Filled out when a host exception occurs.
VOID IdtEmulationHandleNmiWindowExiting(_Inout_ VIRTUAL_MACHINE_STATE *VCpu)
Handle NMI-window exitings.
Definition IdtEmulation.c:508
struct _INTERRUPT_TRAP_FRAME * PINTERRUPT_TRAP_FRAME
Filled out when a host exception occurs.
Definition IdtEmulation.h:172
BOOLEAN ExceptionOccurred
Definition IdtEmulation.h:176
UINT64 Vector
Definition IdtEmulation.h:181
UINT64 Error
Definition IdtEmulation.h:186
Trap frame for interrupts.
Definition IdtEmulation.h:40
UINT16 r11w
Definition IdtEmulation.h:118
UINT64 cs
Definition IdtEmulation.h:156
UINT8 al
Definition IdtEmulation.h:49
UINT16 r10w
Definition IdtEmulation.h:111
UINT16 r14w
Definition IdtEmulation.h:139
UINT64 rip
Definition IdtEmulation.h:155
UINT64 r8
Definition IdtEmulation.h:95
UINT8 r13b
Definition IdtEmulation.h:133
UINT64 rdi
Definition IdtEmulation.h:88
UINT8 sil
Definition IdtEmulation.h:84
UINT32 r13d
Definition IdtEmulation.h:131
UINT16 bx
Definition IdtEmulation.h:69
UINT64 ss
Definition IdtEmulation.h:159
UINT32 r8d
Definition IdtEmulation.h:96
UINT32 ebx
Definition IdtEmulation.h:68
UINT64 rdx
Definition IdtEmulation.h:60
UINT16 di
Definition IdtEmulation.h:90
UINT8 cl
Definition IdtEmulation.h:56
UINT32 r9d
Definition IdtEmulation.h:103
UINT64 r10
Definition IdtEmulation.h:109
UINT32 ebp
Definition IdtEmulation.h:75
UINT64 rbx
Definition IdtEmulation.h:67
UINT64 rsi
Definition IdtEmulation.h:81
UINT32 edi
Definition IdtEmulation.h:89
UINT16 bp
Definition IdtEmulation.h:76
UINT8 dil
Definition IdtEmulation.h:91
UINT16 si
Definition IdtEmulation.h:83
UINT64 rax
Definition IdtEmulation.h:46
UINT32 edx
Definition IdtEmulation.h:61
UINT16 dx
Definition IdtEmulation.h:62
UINT32 r14d
Definition IdtEmulation.h:138
UINT8 bl
Definition IdtEmulation.h:70
UINT64 r12
Definition IdtEmulation.h:123
UINT8 r14b
Definition IdtEmulation.h:140
UINT64 r14
Definition IdtEmulation.h:137
UINT8 dl
Definition IdtEmulation.h:63
UINT16 ax
Definition IdtEmulation.h:48
UINT64 rsp
Definition IdtEmulation.h:158
UINT8 r10b
Definition IdtEmulation.h:112
UINT32 r15d
Definition IdtEmulation.h:145
UINT64 rbp
Definition IdtEmulation.h:74
UINT16 r15w
Definition IdtEmulation.h:146
UINT64 r15
Definition IdtEmulation.h:144
UINT16 r9w
Definition IdtEmulation.h:104
UINT64 r11
Definition IdtEmulation.h:116
UINT16 r12w
Definition IdtEmulation.h:125
UINT32 ecx
Definition IdtEmulation.h:54
UINT64 error
Definition IdtEmulation.h:154
UINT16 r8w
Definition IdtEmulation.h:97
UINT32 r11d
Definition IdtEmulation.h:117
UINT32 r10d
Definition IdtEmulation.h:110
UINT8 bpl
Definition IdtEmulation.h:77
UINT8 r9b
Definition IdtEmulation.h:105
UINT64 r9
Definition IdtEmulation.h:102
UINT8 r8b
Definition IdtEmulation.h:98
UINT16 cx
Definition IdtEmulation.h:55
UINT32 eax
Definition IdtEmulation.h:47
UINT64 rcx
Definition IdtEmulation.h:53
UINT64 rflags
Definition IdtEmulation.h:157
UINT8 r11b
Definition IdtEmulation.h:119
UINT8 r15b
Definition IdtEmulation.h:147
UINT32 r12d
Definition IdtEmulation.h:124
UINT16 r13w
Definition IdtEmulation.h:132
UINT8 r12b
Definition IdtEmulation.h:126
UINT32 esi
Definition IdtEmulation.h:82
UINT64 r13
Definition IdtEmulation.h:130
UINT8 vector
Definition IdtEmulation.h:151
The status of each core after and before VMX.
Definition State.h:290