TianoCore EDK2 master
Loading...
Searching...
No Matches
ArchInterruptDefs.h
Go to the documentation of this file.
1
9#ifndef _ARCH_CPU_INTERRUPT_DEFS_H_
10#define _ARCH_CPU_INTERRUPT_DEFS_H_
11
12typedef struct {
13 EFI_SYSTEM_CONTEXT_IA32 SystemContext;
14 BOOLEAN ExceptionDataFlag;
15 UINTN OldIdtHandler;
17
18//
19// Register Structure Definitions
20//
21typedef struct {
23 EFI_SYSTEM_CONTEXT_IA32 SystemContext;
25
26typedef struct {
27 SPIN_LOCK SpinLock;
28 UINT32 ApicId;
29 UINT32 Attribute;
30 UINTN ExceptonHandler;
31 UINTN OldFlags;
32 UINTN OldCs;
33 UINTN OldIp;
34 UINTN ExceptionData;
35 UINT8 HookAfterStubHeaderCode[HOOKAFTER_STUB_SIZE];
37
38#define CPU_TSS_DESC_SIZE \
39 (sizeof (IA32_TSS_DESCRIPTOR) * \
40 (FixedPcdGetSize (PcdCpuStackSwitchExceptionList) + 1))
41
42#define CPU_TSS_SIZE \
43 (sizeof (IA32_TASK_STATE_SEGMENT) * \
44 (FixedPcdGetSize (PcdCpuStackSwitchExceptionList) + 1))
45
46#endif
UINT64 UINTN
volatile UINTN SPIN_LOCK