diff options
author | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-27 02:20:02 +0000 |
---|---|---|
committer | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-27 02:20:02 +0000 |
commit | dc31771382e9892bedaa1dc917df8ec10a91be25 (patch) | |
tree | cb514089ab51c57181a2b0aab515d115a9a50b3c /MdePkg/Include | |
parent | 8be701c3baf0ad82c38879f281e73d8676f5819e (diff) | |
download | edk2-dc31771382e9892bedaa1dc917df8ec10a91be25.zip edk2-dc31771382e9892bedaa1dc917df8ec10a91be25.tar.gz edk2-dc31771382e9892bedaa1dc917df8ec10a91be25.tar.bz2 |
Add X64 Gate Descriptor
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6247 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include')
-rw-r--r-- | MdePkg/Include/Library/BaseLib.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h index 24f93c9..01d7f0e 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -5079,17 +5079,39 @@ typedef struct { ///
/// Byte packed structure for an Interrupt Gate Descriptor
///
+#if defined (MDE_CPU_IA32)
+
+typedef union {
+ struct {
+ UINT32 OffsetLow:16; // Offset bits 15..0
+ UINT32 Selector:16; // Selector
+ UINT32 Reserved_0:8; // Reserved
+ UINT32 GateType:8; // Gate Type. See #defines above
+ UINT32 OffsetHigh:16; // Offset bits 31..16
+ } Bits;
+ UINT64 Uint64;
+} IA32_IDT_GATE_DESCRIPTOR;
+
+#endif
+
+#if defined (MDE_CPU_X64)
+
typedef union {
struct {
- UINT32 OffsetLow:16; /// Offset bits 15..0
- UINT32 Selector:16; /// Selector
- UINT32 Reserved_0:8; /// Reserved
- UINT32 GateType:8; /// Gate Type. See #defines above
- UINT32 OffsetHigh:16; /// Offset bits 31..16
+ UINT32 OffsetLow:16; // Offset bits 15..0
+ UINT32 Selector:16; // Selector
+ UINT32 Reserved_0:8; // Reserved
+ UINT32 GateType:8; // Gate Type. See #defines above
+ UINT32 OffsetHigh:16; // Offset bits 31..16
+ UINT32 OffsetUpper:32; // Offset bits 63..32
+ UINT32 Reserved_1:32; // Reserved
} Bits;
UINT64 Uint64;
+ UINT64 Uint64_1;
} IA32_IDT_GATE_DESCRIPTOR;
+#endif
+
///
/// Byte packed structure for an FP/SSE/SSE2 context
///
|