#define IA32_IDT_GATE_TYPE_INTERRUPT_32 0x8E\r
#define IA32_IDT_GATE_TYPE_TRAP_32 0x8F\r
\r
+\r
+#if defined (MDE_CPU_IA32)\r
///\r
-/// Byte packed structure for an Interrupt Gate Descriptor\r
+/// Byte packed structure for an IA32 Interrupt Gate Descriptor\r
///\r
-#if defined (MDE_CPU_IA32)\r
-\r
typedef union {\r
struct {\r
- UINT32 OffsetLow:16; // Offset bits 15..0\r
- UINT32 Selector:16; // Selector\r
- UINT32 Reserved_0:8; // Reserved\r
- UINT32 GateType:8; // Gate Type. See #defines above\r
- UINT32 OffsetHigh:16; // Offset bits 31..16\r
+ UINT32 OffsetLow:16; ///< Offset bits 15..0\r
+ UINT32 Selector:16; ///< Selector\r
+ UINT32 Reserved_0:8; ///< Reserved\r
+ UINT32 GateType:8; ///< Gate Type. See #defines above\r
+ UINT32 OffsetHigh:16; ///< Offset bits 31..16\r
} Bits;\r
UINT64 Uint64;\r
} IA32_IDT_GATE_DESCRIPTOR;\r
#endif\r
\r
#if defined (MDE_CPU_X64)\r
-\r
+///\r
+/// Byte packed structure for an x64 Interrupt Gate Descriptor\r
+///\r
typedef union {\r
struct {\r
- UINT32 OffsetLow:16; // Offset bits 15..0\r
- UINT32 Selector:16; // Selector\r
- UINT32 Reserved_0:8; // Reserved\r
- UINT32 GateType:8; // Gate Type. See #defines above\r
- UINT32 OffsetHigh:16; // Offset bits 31..16\r
- UINT32 OffsetUpper:32; // Offset bits 63..32\r
- UINT32 Reserved_1:32; // Reserved\r
+ UINT32 OffsetLow:16; ///< Offset bits 15..0\r
+ UINT32 Selector:16; ///< Selector\r
+ UINT32 Reserved_0:8; ///< Reserved\r
+ UINT32 GateType:8; ///< Gate Type. See #defines above\r
+ UINT32 OffsetHigh:16; ///< Offset bits 31..16\r
+ UINT32 OffsetUpper:32; ///< Offset bits 63..32\r
+ UINT32 Reserved_1:32; ///< Reserved\r
} Bits;\r
- UINT64 Uint64;\r
- UINT64 Uint64_1;\r
+ struct {\r
+ UINT64 Uint64;\r
+ UINT64 Uint64_1;\r
+ } Uint128; \r
} IA32_IDT_GATE_DESCRIPTOR;\r
\r
#endif\r