/** @file\r
Real Mode Thunk Functions for IA32 and x64.\r
\r
- Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
- All rights reserved. This program and the accompanying materials\r
+ Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
+ http://opensource.org/licenses/bsd-license.php.\r
\r
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
#include "BaseLibInternals.h"\r
\r
-\r
-//\r
-// Byte packed structure for a segment descriptor in a GDT/LDT\r
-//\r
-typedef union {\r
- struct {\r
- UINT32 LimitLow:16;\r
- UINT32 BaseLow:16;\r
- UINT32 BaseMid:8;\r
- UINT32 Type:4;\r
- UINT32 S:1;\r
- UINT32 DPL:2;\r
- UINT32 P:1;\r
- UINT32 LimitHigh:4;\r
- UINT32 AVL:1;\r
- UINT32 L:1;\r
- UINT32 DB:1;\r
- UINT32 G:1;\r
- UINT32 BaseHigh:8;\r
- } Bits;\r
- UINT64 Uint64;\r
-} IA32_SEGMENT_DESCRIPTOR;\r
-\r
extern CONST UINT8 m16Start;\r
extern CONST UINT16 m16Size;\r
extern CONST UINT16 mThunk16Attr;\r
on the real mode stack and the starting address of the save area is returned.\r
\r
@param RegisterSet Values of registers before invocation of 16-bit code.\r
- @param Transition Pointer to the transition code under 1MB.\r
+ @param Transition The pointer to the transition code under 1MB.\r
\r
@return The pointer to a IA32_REGISTER_SET structure containing the updated\r
register values.\r
VOID\r
EFIAPI\r
AsmPrepareThunk16 (\r
- OUT THUNK_CONTEXT *ThunkContext\r
+ IN OUT THUNK_CONTEXT *ThunkContext\r
)\r
{\r
IA32_SEGMENT_DESCRIPTOR *RealModeGdt;\r