From 6f4aad3b3401f605001a458b95ccb1f322b95036 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Wed, 10 Dec 2008 09:29:06 +0000 Subject: fixed one bug when declaring IA32_IDT_GATE_DESCRIPTOR. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6978 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/BaseLib.h | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'MdePkg/Include') diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h index dadf367602..d4db217f9d 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -5090,18 +5090,18 @@ typedef struct { #define IA32_IDT_GATE_TYPE_INTERRUPT_32 0x8E #define IA32_IDT_GATE_TYPE_TRAP_32 0x8F + +#if defined (MDE_CPU_IA32) /// -/// Byte packed structure for an Interrupt Gate Descriptor +/// Byte packed structure for an IA32 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 + 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; @@ -5109,19 +5109,23 @@ typedef union { #endif #if defined (MDE_CPU_X64) - +/// +/// Byte packed structure for an x64 Interrupt Gate Descriptor +/// 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 OffsetUpper:32; // Offset bits 63..32 - UINT32 Reserved_1:32; // Reserved + 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; + struct { + UINT64 Uint64; + UINT64 Uint64_1; + } Uint128; } IA32_IDT_GATE_DESCRIPTOR; #endif -- cgit v1.2.3