summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-19 06:42:21 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-19 06:42:21 +0000
commit1ccdbf2a3e61fe9494fcd39432107ba0eb74f584 (patch)
treef8f2bcf407258369b67023955eb4374ff1a8f901 /MdeModulePkg/Universal
parentcd730ec08d8fc5afc557ae7f39c948998cd96bbb (diff)
downloadedk2-1ccdbf2a3e61fe9494fcd39432107ba0eb74f584.tar.gz
edk2-1ccdbf2a3e61fe9494fcd39432107ba0eb74f584.tar.bz2
edk2-1ccdbf2a3e61fe9494fcd39432107ba0eb74f584.zip
Improve coding style in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal')
-rw-r--r--MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c30
-rw-r--r--MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h8
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ia32/DebugSupport.h13
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c4
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupportIa32.c4
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c14
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h17
-rw-r--r--MdeModulePkg/Universal/DebugSupportDxe/X64/PlDebugSupportX64.c4
-rw-r--r--MdeModulePkg/Universal/DevicePathDxe/DevicePath.h23
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcExecute.c152
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcExecute.h6
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcInt.c88
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcInt.h4
-rw-r--r--MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c126
-rw-r--r--MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c50
-rw-r--r--MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c54
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Setup.h11
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Ui.h9
18 files changed, 321 insertions, 296 deletions
diff --git a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c
index 9fccfc0cad..e40e2cc804 100644
--- a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c
+++ b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.c
@@ -2,7 +2,7 @@
Console Platform DXE Driver, install Console Device Guids and update Console
Environment Variables.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -263,7 +263,7 @@ ConPlatformTextInDriverBindingStart (
Status = ConPlatformUpdateDeviceVariable (
L"ConIn",
DevicePath,
- CHECK
+ Check
);
if (!EFI_ERROR (Status)) {
IsInConInVariable = TRUE;
@@ -289,7 +289,7 @@ ConPlatformTextInDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ConInDev",
DevicePath,
- APPEND
+ Append
);
}
} else {
@@ -300,7 +300,7 @@ ConPlatformTextInDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ConInDev",
DevicePath,
- APPEND
+ Append
);
//
@@ -399,7 +399,7 @@ ConPlatformTextOutDriverBindingStart (
Status = ConPlatformUpdateDeviceVariable (
L"ConOut",
DevicePath,
- CHECK
+ Check
);
if (!EFI_ERROR (Status)) {
IsInConOutVariable = TRUE;
@@ -409,7 +409,7 @@ ConPlatformTextOutDriverBindingStart (
Status = ConPlatformUpdateDeviceVariable (
L"ErrOut",
DevicePath,
- CHECK
+ Check
);
if (!EFI_ERROR (Status)) {
IsInErrOutVariable = TRUE;
@@ -435,7 +435,7 @@ ConPlatformTextOutDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ConOutDev",
DevicePath,
- APPEND
+ Append
);
}
//
@@ -445,7 +445,7 @@ ConPlatformTextOutDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ErrOutDev",
DevicePath,
- APPEND
+ Append
);
}
} else {
@@ -456,7 +456,7 @@ ConPlatformTextOutDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ConOutDev",
DevicePath,
- APPEND
+ Append
);
//
// Then append the device path to the ErrOutDev environment variable
@@ -464,7 +464,7 @@ ConPlatformTextOutDriverBindingStart (
ConPlatformUpdateDeviceVariable (
L"ErrOutDev",
DevicePath,
- APPEND
+ Append
);
//
@@ -554,7 +554,7 @@ ConPlatformTextInDriverBindingStop (
ConPlatformUpdateDeviceVariable (
L"ConInDev",
DevicePath,
- DELETE
+ Delete
);
}
@@ -625,12 +625,12 @@ ConPlatformTextOutDriverBindingStop (
ConPlatformUpdateDeviceVariable (
L"ConOutDev",
DevicePath,
- DELETE
+ Delete
);
ConPlatformUpdateDeviceVariable (
L"ErrOutDev",
DevicePath,
- DELETE
+ Delete
);
}
@@ -901,7 +901,7 @@ ConPlatformUpdateDeviceVariable (
//
VariableDevicePath = ConPlatformGetVariable (VariableName);
- if (Operation != DELETE) {
+ if (Operation != Delete) {
//
// Match specified DevicePath in Console Variable.
//
@@ -912,7 +912,7 @@ ConPlatformUpdateDeviceVariable (
FALSE
);
- if ((Operation == CHECK) || (!EFI_ERROR (Status))) {
+ if ((Operation == Check) || (!EFI_ERROR (Status))) {
//
// Branch here includes 2 cases:
// 1. Operation is CHECK, simply return Status.
diff --git a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h
index 4787fc098d..46518154b0 100644
--- a/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h
+++ b/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.h
@@ -1,7 +1,7 @@
/** @file
Header file for Console Platfrom DXE Driver.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -47,9 +47,9 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gConPlatformComponentName2;
typedef enum {
- CHECK,
- APPEND,
- DELETE
+ Check,
+ Append,
+ Delete
} CONPLATFORM_VAR_OPERATION;
/**
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/DebugSupport.h b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/DebugSupport.h
index 4628117b09..c384ba1a40 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/DebugSupport.h
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/DebugSupport.h
@@ -1,7 +1,7 @@
/** @file
Generic debug support macros, typedefs and prototypes for IA32/x64.
-Copyright (c) 2006 - 2009, Intel Corporation
+Copyright (c) 2006 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -37,12 +37,17 @@ VOID
VOID
);
+typedef
+VOID
+(EFIAPI *CALLBACK_FUNC) (
+ );
+
typedef struct {
IA32_IDT_GATE_DESCRIPTOR OrigDesc;
DEBUG_PROC OrigVector;
IA32_IDT_GATE_DESCRIPTOR NewDesc;
DEBUG_PROC StubEntry;
- VOID (EFIAPI *RegisteredCallback) ();
+ CALLBACK_FUNC RegisteredCallback;
} IDT_ENTRY;
extern UINT8 InterruptEntryStub[];
@@ -258,7 +263,7 @@ GetInterruptHandleFromIdt (
**/
EFI_STATUS
ManageIdtEntryTable (
- VOID (EFIAPI *NewCallback)(),
+ CALLBACK_FUNC NewCallback,
EFI_EXCEPTION_TYPE ExceptionType
);
@@ -277,7 +282,7 @@ ManageIdtEntryTable (
VOID
HookEntry (
IN EFI_EXCEPTION_TYPE ExceptionType,
- IN VOID (EFIAPI *NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
);
/**
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c
index b9a57142ee..c78285a60e 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupport.c
@@ -1,7 +1,7 @@
/** @file
IA32/x64 generic functions to support Debug Support protocol.
-Copyright (c) 2006 - 2009, Intel Corporation
+Copyright (c) 2006 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -78,7 +78,7 @@ WriteIdtGateDescriptor (
VOID
HookEntry (
IN EFI_EXCEPTION_TYPE ExceptionType,
- IN VOID (EFIAPI *NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
)
{
BOOLEAN OldIntFlagState;
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupportIa32.c b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupportIa32.c
index ab8d9a94f1..fa1553e00c 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupportIa32.c
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/PlDebugSupportIa32.c
@@ -1,7 +1,7 @@
/** @file
IA32 specific functions to support Debug Support protocol.
-Copyright (c) 2008 - 2009, Intel Corporation
+Copyright (c) 2008 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -107,7 +107,7 @@ CreateEntryStub (
**/
EFI_STATUS
ManageIdtEntryTable (
- VOID (EFIAPI *NewCallback)(),
+ CALLBACK_FUNC NewCallback,
EFI_EXCEPTION_TYPE ExceptionType
)
{
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c
index fa70100333..138a36c893 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.c
@@ -1,7 +1,7 @@
/** @file
IPF specific functions to support Debug Support protocol.
-Copyright (c) 2006 - 2008, Intel Corporation
+Copyright (c) 2006 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -23,8 +23,8 @@ BOOLEAN mInHandler = FALSE;
#define NUM_IVT_ENTRIES 64
typedef struct {
- BUNDLE OrigBundles[NUM_BUNDLES_IN_STUB];
- VOID (*RegisteredCallback) ();
+ BUNDLE OrigBundles[NUM_BUNDLES_IN_STUB];
+ CALLBACK_FUNC RegisteredCallback;
} IVT_ENTRY;
IVT_ENTRY IvtEntryTable[NUM_IVT_ENTRIES];
@@ -183,7 +183,7 @@ EFI_STATUS
ManageIvtEntryTable (
IN EFI_EXCEPTION_TYPE ExceptionType,
IN BUNDLE NewBundles[NUM_BUNDLES_IN_STUB],
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
)
{
BUNDLE *B0Ptr;
@@ -257,7 +257,7 @@ VOID
HookEntry (
IN EFI_EXCEPTION_TYPE ExceptionType,
IN BUNDLE NewBundles[4],
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
)
{
BUNDLE *FixupBundle;
@@ -285,7 +285,7 @@ HookEntry (
// fixup IVT entry so it stores its index and whether or not to chain...
//
FixupBundle = B0Ptr + 2;
- FixupBundle->high |= ExceptionType << 36;
+ FixupBundle->High |= ExceptionType << 36;
InstructionCacheFlush (B0Ptr, 5);
IvtEntryTable[ExceptionType].RegisteredCallback = NewCallback;
@@ -329,7 +329,7 @@ UnhookEntry (
**/
VOID
ChainExternalInterrupt (
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
)
{
VOID *Start;
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h
index 9f6bd3efdd..c1b384c9a3 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h
+++ b/MdeModulePkg/Universal/DebugSupportDxe/Ipf/PlDebugSupport.h
@@ -1,7 +1,7 @@
/** @file
IPF specific types, macros, and definitions for Debug Support Driver.
-Copyright (c) 2004 - 2008, Intel Corporation
+Copyright (c) 2004 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -31,10 +31,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define EFI_ISA IsaIpf
typedef struct {
- UINT64 low;
- UINT64 high;
+ UINT64 Low;
+ UINT64 High;
} BUNDLE;
+typedef
+VOID
+(*CALLBACK_FUNC) (
+ );
+
/**
IPF specific DebugSupport driver initialization.
@@ -250,7 +255,7 @@ EFI_STATUS
ManageIvtEntryTable (
IN EFI_EXCEPTION_TYPE ExceptionType,
IN BUNDLE NewBundles[4],
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
);
/**
@@ -266,7 +271,7 @@ VOID
HookEntry (
IN EFI_EXCEPTION_TYPE ExceptionType,
IN BUNDLE NewBundles[4],
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
);
/**
@@ -290,7 +295,7 @@ UnhookEntry (
**/
VOID
ChainExternalInterrupt (
- IN VOID (*NewCallback) ()
+ IN CALLBACK_FUNC NewCallback
);
/**
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/X64/PlDebugSupportX64.c b/MdeModulePkg/Universal/DebugSupportDxe/X64/PlDebugSupportX64.c
index 4d13ca3833..76c1c99126 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/X64/PlDebugSupportX64.c
+++ b/MdeModulePkg/Universal/DebugSupportDxe/X64/PlDebugSupportX64.c
@@ -1,7 +1,7 @@
/** @file
X64 specific functions to support Debug Support protocol.
-Copyright (c) 2008 - 2009, Intel Corporation
+Copyright (c) 2008 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -108,7 +108,7 @@ CreateEntryStub (
**/
EFI_STATUS
ManageIdtEntryTable (
- VOID (EFIAPI *NewCallback)(),
+ CALLBACK_FUNC NewCallback,
EFI_EXCEPTION_TYPE ExceptionType
)
{
diff --git a/MdeModulePkg/Universal/DevicePathDxe/DevicePath.h b/MdeModulePkg/Universal/DevicePathDxe/DevicePath.h
index e7d3ad2621..2acb3b21fb 100644
--- a/MdeModulePkg/Universal/DevicePathDxe/DevicePath.h
+++ b/MdeModulePkg/Universal/DevicePathDxe/DevicePath.h
@@ -1,7 +1,7 @@
/** @file
Definition for Device Path Utilities driver
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -65,10 +65,19 @@ EFI_DEVICE_PATH_PROTOCOL *
IN CHAR16 *DeviceNodeStr
);
+typedef
+VOID
+(*DEVICE_PATH_TO_TEXT_FUNC) (
+ IN OUT POOL_PRINT *Str,
+ IN VOID *DevPath,
+ IN BOOLEAN DisplayOnly,
+ IN BOOLEAN AllowShortcuts
+ );
+
typedef struct {
- UINT8 Type;
- UINT8 SubType;
- VOID (*Function) (POOL_PRINT *, VOID *, BOOLEAN, BOOLEAN);
+ UINT8 Type;
+ UINT8 SubType;
+ DEVICE_PATH_TO_TEXT_FUNC Function;
} DEVICE_PATH_TO_TEXT_TABLE;
typedef struct {
@@ -123,9 +132,9 @@ typedef struct {
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
- UINT32 HID;
- UINT32 UID;
- UINT32 CID;
+ UINT32 Hid;
+ UINT32 Uid;
+ UINT32 Cid;
CHAR8 HidUidCidStr[3];
} ACPI_EXTENDED_HID_DEVICE_PATH_WITH_STR;
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcExecute.c b/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
index 721ee71197..85fa58fb25 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
+++ b/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
@@ -1,7 +1,7 @@
/** @file
Contains code that implements the virtual machine.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -1445,7 +1445,7 @@ EbcExecute (
StackCorrupted = 1;
}
- VmPtr->FramePtr = (VOID *) ((UINT8 *) (UINTN) VmPtr->R[0] + 8);
+ VmPtr->FramePtr = (VOID *) ((UINT8 *) (UINTN) VmPtr->Gpr[0] + 8);
//
// Try to get the debug support for EBC
@@ -1517,7 +1517,7 @@ EbcExecute (
EbcDebugSignalException (EXCEPT_EBC_STACK_FAULT, EXCEPTION_FLAG_FATAL, VmPtr);
StackCorrupted = 1;
}
- if ((StackCorrupted == 0) && ((UINT64)VmPtr->R[0] <= (UINT64)(UINTN) VmPtr->StackTop)) {
+ if ((StackCorrupted == 0) && ((UINT64)VmPtr->Gpr[0] <= (UINT64)(UINTN) VmPtr->StackTop)) {
EbcDebugSignalException (EXCEPT_EBC_STACK_FAULT, EXCEPTION_FLAG_FATAL, VmPtr);
StackCorrupted = 1;
}
@@ -1682,7 +1682,7 @@ ExecuteMOVxx (
//
// Indirect form @R2. Compute address of operand2
//
- Source = (UINTN) (VmPtr->R[OPERAND2_REGNUM (Operands)] + Index64Op2);
+ Source = (UINTN) (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index64Op2);
//
// Now get the data from the source. Always 0-extend and let the compiler
// sign-extend where required.
@@ -1718,7 +1718,7 @@ ExecuteMOVxx (
//
// Not indirect source: MOVxx {@}Rx, Ry [Index]
//
- Data64 = VmPtr->R[OPERAND2_REGNUM (Operands)] + Index64Op2;
+ Data64 = VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index64Op2;
//
// Did Operand2 have an index? If so, treat as two signed values since
// indexes are signed values.
@@ -1754,7 +1754,7 @@ ExecuteMOVxx (
//
// Reuse the Source variable to now be dest.
//
- Source = (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index64Op1);
+ Source = (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index64Op1);
//
// Do the write based on the size
//
@@ -1802,7 +1802,7 @@ ExecuteMOVxx (
// Direct storage in register. Clear unused bits and store back to
// register.
//
- VmPtr->R[OPERAND1_REGNUM (Operands)] = Data64 & DataMask;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = Data64 & DataMask;
}
//
// Advance the instruction pointer
@@ -1851,7 +1851,7 @@ ExecuteBREAK (
// 16-8 = Major version
// 7-0 = Minor version
//
- VmPtr->R[7] = GetVmVersion ();
+ VmPtr->Gpr[7] = GetVmVersion ();
break;
//
@@ -1881,8 +1881,8 @@ ExecuteBREAK (
// After we're done, *(UINT64 *)R7 will be the address of the new thunk.
//
case 5:
- Offset = (INT32) VmReadMem32 (VmPtr, (UINTN) VmPtr->R[7]);
- U64EbcEntryPoint = (UINT64) (VmPtr->R[7] + Offset + 4);
+ Offset = (INT32) VmReadMem32 (VmPtr, (UINTN) VmPtr->Gpr[7]);
+ U64EbcEntryPoint = (UINT64) (VmPtr->Gpr[7] + Offset + 4);
EbcEntryPoint = (VOID *) (UINTN) U64EbcEntryPoint;
//
@@ -1896,14 +1896,14 @@ ExecuteBREAK (
//
// Finally replace the EBC entry point memory with the thunk address
//
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[7], (UINT64) (UINTN) Thunk);
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[7], (UINT64) (UINTN) Thunk);
break;
//
// Compiler setting version per value in R7
//
case 6:
- VmPtr->CompilerVersion = (UINT32) VmPtr->R[7];
+ VmPtr->CompilerVersion = (UINT32) VmPtr->Gpr[7];
//
// Check compiler version against VM version?
//
@@ -2251,12 +2251,12 @@ ExecuteMOVI (
Mask64 = (UINT64)~0;
}
- VmPtr->R[OPERAND1_REGNUM (Operands)] = ImmData64 & Mask64;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = ImmData64 & Mask64;
} else {
//
// Get the address then write back based on size of the move
//
- Op1 = (UINT64) VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16;
+ Op1 = (UINT64) VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16;
if ((Operands & MOVI_M_MOVEWIDTH) == MOVI_MOVEWIDTH8) {
VmWriteMem8 (VmPtr, (UINTN) Op1, (UINT8) ImmData64);
} else if ((Operands & MOVI_M_MOVEWIDTH) == MOVI_MOVEWIDTH16) {
@@ -2361,12 +2361,12 @@ ExecuteMOVIn (
return EFI_UNSUPPORTED;
}
- VmPtr->R[OPERAND1_REGNUM (Operands)] = ImmedIndex64;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = ImmedIndex64;
} else {
//
// Get the address
//
- Op1 = (UINT64) VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16;
+ Op1 = (UINT64) VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16;
VmWriteMemN (VmPtr, (UINTN) Op1, (INTN) ImmedIndex64);
}
//
@@ -2460,14 +2460,14 @@ ExecuteMOVREL (
return EFI_UNSUPPORTED;
}
- VmPtr->R[OPERAND1_REGNUM (Operands)] = (VM_REGISTER) Op2;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = (VM_REGISTER) Op2;
} else {
//
// Get the address = [Rx] + Index16
// Write back the result. Always a natural size write, since
// we're talking addresses here.
//
- Op1 = (UINT64) VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16;
+ Op1 = (UINT64) VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16;
VmWriteMemN (VmPtr, (UINTN) Op1, (UINTN) Op2);
}
//
@@ -2551,7 +2551,7 @@ ExecuteMOVsnw (
//
// Get the data from the source.
//
- Op2 = (INT64) ((INTN) (VmPtr->R[OPERAND2_REGNUM (Operands)] + Op2Index));
+ Op2 = (INT64) ((INTN) (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Op2Index));
if (OPERAND2_INDIRECT (Operands)) {
Op2 = (INT64) (INTN) VmReadMemN (VmPtr, (UINTN) Op2);
}
@@ -2559,9 +2559,9 @@ ExecuteMOVsnw (
// Now write back the result.
//
if (!OPERAND1_INDIRECT (Operands)) {
- VmPtr->R[OPERAND1_REGNUM (Operands)] = Op2;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = Op2;
} else {
- VmWriteMemN (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Op1Index), (UINTN) Op2);
+ VmWriteMemN (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Op1Index), (UINTN) Op2);
}
//
// Advance the instruction pointer
@@ -2644,7 +2644,7 @@ ExecuteMOVsnd (
//
// Get the data from the source.
//
- Op2 = (INT64) ((INTN) (VmPtr->R[OPERAND2_REGNUM (Operands)] + Op2Index));
+ Op2 = (INT64) ((INTN) (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Op2Index));
if (OPERAND2_INDIRECT (Operands)) {
Op2 = (INT64) (INTN) VmReadMemN (VmPtr, (UINTN) Op2);
}
@@ -2652,9 +2652,9 @@ ExecuteMOVsnd (
// Now write back the result.
//
if (!OPERAND1_INDIRECT (Operands)) {
- VmPtr->R[OPERAND1_REGNUM (Operands)] = Op2;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = Op2;
} else {
- VmWriteMemN (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Op1Index), (UINTN) Op2);
+ VmWriteMemN (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Op1Index), (UINTN) Op2);
}
//
// Advance the instruction pointer
@@ -2710,15 +2710,15 @@ ExecutePUSHn (
// Get the data to push
//
if (OPERAND1_INDIRECT (Operands)) {
- DataN = VmReadMemN (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16));
+ DataN = VmReadMemN (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16));
} else {
- DataN = (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16);
+ DataN = (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16);
}
//
// Adjust the stack down.
//
- VmPtr->R[0] -= sizeof (UINTN);
- VmWriteMemN (VmPtr, (UINTN) VmPtr->R[0], DataN);
+ VmPtr->Gpr[0] -= sizeof (UINTN);
+ VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], DataN);
return EFI_SUCCESS;
}
@@ -2770,29 +2770,29 @@ ExecutePUSH (
//
if ((Opcode & PUSHPOP_M_64) != 0) {
if (OPERAND1_INDIRECT (Operands)) {
- Data64 = VmReadMem64 (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16));
+ Data64 = VmReadMem64 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16));
} else {
- Data64 = (UINT64) VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16;
+ Data64 = (UINT64) VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16;
}
//
// Adjust the stack down, then write back the data
//
- VmPtr->R[0] -= sizeof (UINT64);
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[0], Data64);
+ VmPtr->Gpr[0] -= sizeof (UINT64);
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], Data64);
} else {
//
// 32-bit data
//
if (OPERAND1_INDIRECT (Operands)) {
- Data32 = VmReadMem32 (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16));
+ Data32 = VmReadMem32 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16));
} else {
- Data32 = (UINT32) VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16;
+ Data32 = (UINT32) VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16;
}
//
// Adjust the stack down and write the data
//
- VmPtr->R[0] -= sizeof (UINT32);
- VmWriteMem32 (VmPtr, (UINTN) VmPtr->R[0], Data32);
+ VmPtr->Gpr[0] -= sizeof (UINT32);
+ VmWriteMem32 (VmPtr, (UINTN) VmPtr->Gpr[0], Data32);
}
return EFI_SUCCESS;
@@ -2843,15 +2843,15 @@ ExecutePOPn (
//
// Read the data off the stack, then adjust the stack pointer
//
- DataN = VmReadMemN (VmPtr, (UINTN) VmPtr->R[0]);
- VmPtr->R[0] += sizeof (UINTN);
+ DataN = VmReadMemN (VmPtr, (UINTN) VmPtr->Gpr[0]);
+ VmPtr->Gpr[0] += sizeof (UINTN);
//
// Do the write-back
//
if (OPERAND1_INDIRECT (Operands)) {
- VmWriteMemN (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16), DataN);
+ VmWriteMemN (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16), DataN);
} else {
- VmPtr->R[OPERAND1_REGNUM (Operands)] = (INT64) (UINT64) ((UINTN) DataN + Index16);
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = (INT64) (UINT64) ((UINTN) DataN + Index16);
}
return EFI_SUCCESS;
@@ -2907,29 +2907,29 @@ ExecutePOP (
//
// Read the data off the stack, then adjust the stack pointer
//
- Data64 = VmReadMem64 (VmPtr, (UINTN) VmPtr->R[0]);
- VmPtr->R[0] += sizeof (UINT64);
+ Data64 = VmReadMem64 (VmPtr, (UINTN) VmPtr->Gpr[0]);
+ VmPtr->Gpr[0] += sizeof (UINT64);
//
// Do the write-back
//
if (OPERAND1_INDIRECT (Operands)) {
- VmWriteMem64 (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16), Data64);
+ VmWriteMem64 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16), Data64);
} else {
- VmPtr->R[OPERAND1_REGNUM (Operands)] = Data64 + Index16;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = Data64 + Index16;
}
} else {
//
// 32-bit pop. Read it off the stack and adjust the stack pointer
//
- Data32 = (INT32) VmReadMem32 (VmPtr, (UINTN) VmPtr->R[0]);
- VmPtr->R[0] += sizeof (UINT32);
+ Data32 = (INT32) VmReadMem32 (VmPtr, (UINTN) VmPtr->Gpr[0]);
+ VmPtr->Gpr[0] += sizeof (UINT32);
//
// Do the write-back
//
if (OPERAND1_INDIRECT (Operands)) {
- VmWriteMem32 (VmPtr, (UINTN) (VmPtr->R[OPERAND1_REGNUM (Operands)] + Index16), Data32);
+ VmWriteMem32 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND1_REGNUM (Operands)] + Index16), Data32);
} else {
- VmPtr->R[OPERAND1_REGNUM (Operands)] = (INT64) Data32 + Index16;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = (INT64) Data32 + Index16;
}
}
@@ -3004,11 +3004,11 @@ ExecuteCALL (
// put our return address and frame pointer on the VM stack.
//
if ((Operands & OPERAND_M_NATIVE_CALL) == 0) {
- VmPtr->R[0] -= 8;
- VmWriteMemN (VmPtr, (UINTN) VmPtr->R[0], (UINTN) FramePtr);
- VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->R[0];
- VmPtr->R[0] -= 8;
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[0], (UINT64) (UINTN) (VmPtr->Ip + Size));
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr);
+ VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->Gpr[0];
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (UINTN) (VmPtr->Ip + Size));
}
//
// If 64-bit data, then absolute jump only
@@ -3023,7 +3023,7 @@ ExecuteCALL (
//
// Call external function, get the return value, and advance the IP
//
- EbcLLCALLEX (VmPtr, (UINTN) Immed64, (UINTN) VmPtr->R[0], FramePtr, Size);
+ EbcLLCALLEX (VmPtr, (UINTN) Immed64, (UINTN) VmPtr->Gpr[0], FramePtr, Size);
}
} else {
//
@@ -3032,7 +3032,7 @@ ExecuteCALL (
// Compiler should take care of upper bits if 32-bit machine.
//
if (OPERAND1_REGNUM (Operands) != 0) {
- Immed64 = (UINT64) (UINTN) VmPtr->R[OPERAND1_REGNUM (Operands)];
+ Immed64 = (UINT64) (UINTN) VmPtr->Gpr[OPERAND1_REGNUM (Operands)];
}
//
// Get final address
@@ -3060,13 +3060,13 @@ ExecuteCALL (
// Native call. Relative or absolute?
//
if ((Operands & OPERAND_M_RELATIVE_ADDR) != 0) {
- EbcLLCALLEX (VmPtr, (UINTN) (Immed64 + VmPtr->Ip + Size), (UINTN) VmPtr->R[0], FramePtr, Size);
+ EbcLLCALLEX (VmPtr, (UINTN) (Immed64 + VmPtr->Ip + Size), (UINTN) VmPtr->Gpr[0], FramePtr, Size);
} else {
if ((VmPtr->StopFlags & STOPFLAG_BREAK_ON_CALLEX) != 0) {
CpuBreakpoint ();
}
- EbcLLCALLEX (VmPtr, (UINTN) Immed64, (UINTN) VmPtr->R[0], FramePtr, Size);
+ EbcLLCALLEX (VmPtr, (UINTN) Immed64, (UINTN) VmPtr->Gpr[0], FramePtr, Size);
}
}
}
@@ -3095,14 +3095,14 @@ ExecuteRET (
// If we're at the top of the stack, then simply set the done
// flag and return
//
- if (VmPtr->StackRetAddr == (UINT64) VmPtr->R[0]) {
+ if (VmPtr->StackRetAddr == (UINT64) VmPtr->Gpr[0]) {
VmPtr->StopFlags |= STOPFLAG_APP_DONE;
} else {
//
// Pull the return address off the VM app's stack and set the IP
// to it
//
- if (!IS_ALIGNED ((UINTN) VmPtr->R[0], sizeof (UINT16))) {
+ if (!IS_ALIGNED ((UINTN) VmPtr->Gpr[0], sizeof (UINT16))) {
EbcDebugSignalException (
EXCEPT_EBC_ALIGNMENT_CHECK,
EXCEPTION_FLAG_FATAL,
@@ -3112,10 +3112,10 @@ ExecuteRET (
//
// Restore the IP and frame pointer from the stack
//
- VmPtr->Ip = (VMIP) (UINTN) VmReadMem64 (VmPtr, (UINTN) VmPtr->R[0]);
- VmPtr->R[0] += 8;
- VmPtr->FramePtr = (VOID *) VmReadMemN (VmPtr, (UINTN) VmPtr->R[0]);
- VmPtr->R[0] += 8;
+ VmPtr->Ip = (VMIP) (UINTN) VmReadMem64 (VmPtr, (UINTN) VmPtr->Gpr[0]);
+ VmPtr->Gpr[0] += 8;
+ VmPtr->FramePtr = (VOID *) VmReadMemN (VmPtr, (UINTN) VmPtr->Gpr[0]);
+ VmPtr->Gpr[0] += 8;
}
return EFI_SUCCESS;
@@ -3155,7 +3155,7 @@ ExecuteCMP (
//
// Get the register data we're going to compare to
//
- Op1 = VmPtr->R[OPERAND1_REGNUM (Operands)];
+ Op1 = VmPtr->Gpr[OPERAND1_REGNUM (Operands)];
//
// Get immediate data
//
@@ -3176,15 +3176,15 @@ ExecuteCMP (
//
if (OPERAND2_INDIRECT (Operands)) {
if ((Opcode & OPCODE_M_64BIT) != 0) {
- Op2 = (INT64) VmReadMem64 (VmPtr, (UINTN) (VmPtr->R[OPERAND2_REGNUM (Operands)] + Index16));
+ Op2 = (INT64) VmReadMem64 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index16));
} else {
//
// 32-bit operations. 0-extend the values for all cases.
//
- Op2 = (INT64) (UINT64) ((UINT32) VmReadMem32 (VmPtr, (UINTN) (VmPtr->R[OPERAND2_REGNUM (Operands)] + Index16)));
+ Op2 = (INT64) (UINT64) ((UINT32) VmReadMem32 (VmPtr, (UINTN) (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index16)));
}
} else {
- Op2 = VmPtr->R[OPERAND2_REGNUM (Operands)] + Index16;
+ Op2 = VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index16;
}
//
// Now do the compare
@@ -3327,7 +3327,7 @@ ExecuteCMPI (
//
// Get operand1 data we're going to compare to
//
- Op1 = (INT64) VmPtr->R[OPERAND1_REGNUM (Operands)];
+ Op1 = (INT64) VmPtr->Gpr[OPERAND1_REGNUM (Operands)];
if (OPERAND1_INDIRECT (Operands)) {
//
// Indirect operand1. Fetch 32 or 64-bit value based on compare size.
@@ -4165,7 +4165,7 @@ ExecuteDataManip (
//
// Now get operand2 (source). It's of format {@}R2 {Index16|Immed16}
//
- Op2 = (UINT64) VmPtr->R[OPERAND2_REGNUM (Operands)] + Index16;
+ Op2 = (UINT64) VmPtr->Gpr[OPERAND2_REGNUM (Operands)] + Index16;
if (OPERAND2_INDIRECT (Operands)) {
//
// Indirect form: @R2 Index16. Fetch as 32- or 64-bit data
@@ -4195,7 +4195,7 @@ ExecuteDataManip (
// Get operand1 (destination and sometimes also an actual operand)
// of form {@}R1
//
- Op1 = VmPtr->R[OPERAND1_REGNUM (Operands)];
+ Op1 = VmPtr->Gpr[OPERAND1_REGNUM (Operands)];
if (OPERAND1_INDIRECT (Operands)) {
if ((Opcode & DATAMANIP_M_64) != 0) {
Op1 = VmReadMem64 (VmPtr, (UINTN) Op1);
@@ -4238,7 +4238,7 @@ ExecuteDataManip (
// Write back the result.
//
if (OPERAND1_INDIRECT (Operands)) {
- Op1 = VmPtr->R[OPERAND1_REGNUM (Operands)];
+ Op1 = VmPtr->Gpr[OPERAND1_REGNUM (Operands)];
if ((Opcode & DATAMANIP_M_64) != 0) {
VmWriteMem64 (VmPtr, (UINTN) Op1, Op2);
} else {
@@ -4249,9 +4249,9 @@ ExecuteDataManip (
// Storage back to a register. Write back, clearing upper bits (as per
// the specification) if 32-bit operation.
//
- VmPtr->R[OPERAND1_REGNUM (Operands)] = Op2;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = Op2;
if ((Opcode & DATAMANIP_M_64) == 0) {
- VmPtr->R[OPERAND1_REGNUM (Operands)] &= 0xFFFFFFFF;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] &= 0xFFFFFFFF;
}
}
//
@@ -4298,7 +4298,7 @@ ExecuteLOADSP (
// Spec states that this instruction will not modify reserved bits in
// the flags register.
//
- VmPtr->Flags = (VmPtr->Flags &~VMFLAGS_ALL_VALID) | (VmPtr->R[OPERAND2_REGNUM (Operands)] & VMFLAGS_ALL_VALID);
+ VmPtr->Flags = (VmPtr->Flags &~VMFLAGS_ALL_VALID) | (VmPtr->Gpr[OPERAND2_REGNUM (Operands)] & VMFLAGS_ALL_VALID);
break;
default:
@@ -4351,14 +4351,14 @@ ExecuteSTORESP (
//
// Retrieve the value in the flags register, then clear reserved bits
//
- VmPtr->R[OPERAND1_REGNUM (Operands)] = (UINT64) (VmPtr->Flags & VMFLAGS_ALL_VALID);
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = (UINT64) (VmPtr->Flags & VMFLAGS_ALL_VALID);
break;
//
// Get IP -- address of following instruction
//
case 1:
- VmPtr->R[OPERAND1_REGNUM (Operands)] = (UINT64) (UINTN) VmPtr->Ip + 2;
+ VmPtr->Gpr[OPERAND1_REGNUM (Operands)] = (UINT64) (UINTN) VmPtr->Ip + 2;
break;
default:
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcExecute.h b/MdeModulePkg/Universal/EbcDxe/EbcExecute.h
index 5fc741d105..ca3536a37e 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcExecute.h
+++ b/MdeModulePkg/Universal/EbcDxe/EbcExecute.h
@@ -3,7 +3,7 @@
be of use to a disassembler for the most part. Also provides function
prototypes for VM functions.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -125,8 +125,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define OPERAND1_CHAR(op) ('0' + OPERAND1_REGNUM (op))
#define OPERAND2_CHAR(op) ('0' + OPERAND2_REGNUM (op))
-#define OPERAND1_REGDATA(pvm, op) pvm->R[OPERAND1_REGNUM (op)]
-#define OPERAND2_REGDATA(pvm, op) pvm->R[OPERAND2_REGNUM (op)]
+#define OPERAND1_REGDATA(pvm, op) pvm->Gpr[OPERAND1_REGNUM (op)]
+#define OPERAND2_REGDATA(pvm, op) pvm->Gpr[OPERAND2_REGNUM (op)]
//
// Condition masks usually for byte 1 encodings of code
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcInt.c b/MdeModulePkg/Universal/EbcDxe/EbcInt.c
index 764732c29f..d75d91a727 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcInt.c
+++ b/MdeModulePkg/Universal/EbcDxe/EbcInt.c
@@ -3,7 +3,7 @@
Provides auxiliary support routines for the VM. That is, routines
that are not particularly related to VM execution of EBC instructions.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -23,16 +23,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// image handles, with each having a linked list of thunks allocated
// to that image handle.
//
-typedef struct _EBC_THUNK_LIST {
- VOID *ThunkBuffer;
- struct _EBC_THUNK_LIST *Next;
-} EBC_THUNK_LIST;
-
-typedef struct _EBC_IMAGE_LIST {
- struct _EBC_IMAGE_LIST *Next;
- EFI_HANDLE ImageHandle;
- EBC_THUNK_LIST *ThunkList;
-} EBC_IMAGE_LIST;
+typedef struct _EBC_THUNK_LIST EBC_THUNK_LIST;
+struct _EBC_THUNK_LIST {
+ VOID *ThunkBuffer;
+ EBC_THUNK_LIST *Next;
+};
+
+typedef struct _EBC_IMAGE_LIST EBC_IMAGE_LIST;
+struct _EBC_IMAGE_LIST {
+ EBC_IMAGE_LIST *Next;
+ EFI_HANDLE ImageHandle;
+ EBC_THUNK_LIST *ThunkList;
+};
/**
This routine is called by the core when an image is being unloaded from
@@ -765,14 +767,14 @@ EbcDebugSignalException (
//
// Initialize the context structure
//
- EbcContext.R0 = VmPtr->R[0];
- EbcContext.R1 = VmPtr->R[1];
- EbcContext.R2 = VmPtr->R[2];
- EbcContext.R3 = VmPtr->R[3];
- EbcContext.R4 = VmPtr->R[4];
- EbcContext.R5 = VmPtr->R[5];
- EbcContext.R6 = VmPtr->R[6];
- EbcContext.R7 = VmPtr->R[7];
+ EbcContext.R0 = VmPtr->Gpr[0];
+ EbcContext.R1 = VmPtr->Gpr[1];
+ EbcContext.R2 = VmPtr->Gpr[2];
+ EbcContext.R3 = VmPtr->Gpr[3];
+ EbcContext.R4 = VmPtr->Gpr[4];
+ EbcContext.R5 = VmPtr->Gpr[5];
+ EbcContext.R6 = VmPtr->Gpr[6];
+ EbcContext.R7 = VmPtr->Gpr[7];
EbcContext.Ip = (UINT64)(UINTN)VmPtr->Ip;
EbcContext.Flags = VmPtr->Flags;
EbcContext.ControlFlags = 0;
@@ -782,14 +784,14 @@ EbcDebugSignalException (
//
// Restore the context structure and continue to execute
//
- VmPtr->R[0] = EbcContext.R0;
- VmPtr->R[1] = EbcContext.R1;
- VmPtr->R[2] = EbcContext.R2;
- VmPtr->R[3] = EbcContext.R3;
- VmPtr->R[4] = EbcContext.R4;
- VmPtr->R[5] = EbcContext.R5;
- VmPtr->R[6] = EbcContext.R6;
- VmPtr->R[7] = EbcContext.R7;
+ VmPtr->Gpr[0] = EbcContext.R0;
+ VmPtr->Gpr[1] = EbcContext.R1;
+ VmPtr->Gpr[2] = EbcContext.R2;
+ VmPtr->Gpr[3] = EbcContext.R3;
+ VmPtr->Gpr[4] = EbcContext.R4;
+ VmPtr->Gpr[5] = EbcContext.R5;
+ VmPtr->Gpr[6] = EbcContext.R6;
+ VmPtr->Gpr[7] = EbcContext.R7;
VmPtr->Ip = (VMIP)(UINTN)EbcContext.Ip;
VmPtr->Flags = EbcContext.Flags;
}
@@ -935,14 +937,14 @@ EbcDebugPeriodic (
//
// Initialize the context structure
//
- EbcContext.R0 = VmPtr->R[0];
- EbcContext.R1 = VmPtr->R[1];
- EbcContext.R2 = VmPtr->R[2];
- EbcContext.R3 = VmPtr->R[3];
- EbcContext.R4 = VmPtr->R[4];
- EbcContext.R5 = VmPtr->R[5];
- EbcContext.R6 = VmPtr->R[6];
- EbcContext.R7 = VmPtr->R[7];
+ EbcContext.R0 = VmPtr->Gpr[0];
+ EbcContext.R1 = VmPtr->Gpr[1];
+ EbcContext.R2 = VmPtr->Gpr[2];
+ EbcContext.R3 = VmPtr->Gpr[3];
+ EbcContext.R4 = VmPtr->Gpr[4];
+ EbcContext.R5 = VmPtr->Gpr[5];
+ EbcContext.R6 = VmPtr->Gpr[6];
+ EbcContext.R7 = VmPtr->Gpr[7];
EbcContext.Ip = (UINT64)(UINTN)VmPtr->Ip;
EbcContext.Flags = VmPtr->Flags;
EbcContext.ControlFlags = 0;
@@ -953,14 +955,14 @@ EbcDebugPeriodic (
//
// Restore the context structure and continue to execute
//
- VmPtr->R[0] = EbcContext.R0;
- VmPtr->R[1] = EbcContext.R1;
- VmPtr->R[2] = EbcContext.R2;
- VmPtr->R[3] = EbcContext.R3;
- VmPtr->R[4] = EbcContext.R4;
- VmPtr->R[5] = EbcContext.R5;
- VmPtr->R[6] = EbcContext.R6;
- VmPtr->R[7] = EbcContext.R7;
+ VmPtr->Gpr[0] = EbcContext.R0;
+ VmPtr->Gpr[1] = EbcContext.R1;
+ VmPtr->Gpr[2] = EbcContext.R2;
+ VmPtr->Gpr[3] = EbcContext.R3;
+ VmPtr->Gpr[4] = EbcContext.R4;
+ VmPtr->Gpr[5] = EbcContext.R5;
+ VmPtr->Gpr[6] = EbcContext.R6;
+ VmPtr->Gpr[7] = EbcContext.R7;
VmPtr->Ip = (VMIP)(UINTN)EbcContext.Ip;
VmPtr->Flags = EbcContext.Flags;
}
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcInt.h b/MdeModulePkg/Universal/EbcDxe/EbcInt.h
index 1bc40e6dee..090befb883 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcInt.h
+++ b/MdeModulePkg/Universal/EbcDxe/EbcInt.h
@@ -2,7 +2,7 @@
Main routines for the EBC interpreter. Includes the initialization and
main interpreter routines.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -34,7 +34,7 @@ typedef UINT8 *VMIP; // instruction pointer for the VM
typedef UINT32 EXCEPTION_FLAGS;
typedef struct {
- VM_REGISTER R[8]; // General purpose registers.
+ VM_REGISTER Gpr[8]; // General purpose registers.
UINT64 Flags; // Flags register:
// 0 Set to 1 if the result of the last compare was true
// 1 Set to 1 if stepping
diff --git a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c
index 1e0e539068..d88b762ec2 100644
--- a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c
+++ b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcSupport.c
@@ -2,7 +2,7 @@
This module contains EBC support routines that are customized based on
the target processor.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -108,11 +108,11 @@ Action:
// put our return address and frame pointer on the VM stack.
// Then set the VM's IP to new EBC code.
//
- VmPtr->R[0] -= 8;
- VmWriteMemN (VmPtr, (UINTN) VmPtr->R[0], (UINTN) FramePtr);
- VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->R[0];
- VmPtr->R[0] -= 8;
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[0], (UINT64) (UINTN) (VmPtr->Ip + Size));
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr);
+ VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->Gpr[0];
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (UINTN) (VmPtr->Ip + Size));
VmPtr->Ip = (VMIP) (UINTN) TargetEbcAddr;
} else {
@@ -124,7 +124,7 @@ Action:
//
// Get return value and advance the IP.
//
- VmPtr->R[7] = EbcLLGetReturnValue ();
+ VmPtr->Gpr[7] = EbcLLGetReturnValue ();
VmPtr->Ip += Size;
}
}
@@ -218,55 +218,55 @@ EbcInterpret (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64)(UINTN) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN)VmContext.R[0];
- VmContext.R[0] &= ~(sizeof (UINTN) - 1);
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64)(UINTN) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN)VmContext.Gpr[0];
+ VmContext.Gpr[0] &= ~(sizeof (UINTN) - 1);
+ VmContext.Gpr[0] -= sizeof (UINTN);
//
// Put a magic value in the stack gap, then adjust down again
//
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) VM_STACK_KEY_VALUE;
- VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.R[0];
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) VM_STACK_KEY_VALUE;
+ VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.Gpr[0];
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
//
// For IA32, this is where we say our return address is
//
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg16;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg15;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg14;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg13;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg12;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg11;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg10;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg9;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg8;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg7;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg6;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg5;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg4;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg3;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg2;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) Arg1;
- VmContext.R[0] -= 16;
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg16;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg15;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg14;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg13;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg12;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg11;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg10;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg9;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg8;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg7;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg6;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg5;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg4;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg3;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg2;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) Arg1;
+ VmContext.Gpr[0] -= 16;
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// We need to keep track of where the EBC stack starts. This way, if the EBC
@@ -291,7 +291,7 @@ EbcInterpret (
// Return the value in R[7] unless there was an error
//
ReturnEBCStack(StackIndex);
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
@@ -360,28 +360,28 @@ ExecuteEbcImageEntryPoint (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64)(UINTN) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN)VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64)(UINTN) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN)VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
//
// Put a magic value in the stack gap, then adjust down again
//
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) VM_STACK_KEY_VALUE;
- VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.R[0];
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) VM_STACK_KEY_VALUE;
+ VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.Gpr[0];
//
// Align the stack on a natural boundary
- // VmContext.R[0] &= ~(sizeof(UINTN) - 1);
+ // VmContext.Gpr[0] &= ~(sizeof(UINTN) - 1);
//
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) SystemTable;
- VmContext.R[0] -= sizeof (UINTN);
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) ImageHandle;
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) SystemTable;
+ VmContext.Gpr[0] -= sizeof (UINTN);
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) ImageHandle;
- VmContext.R[0] -= 16;
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.Gpr[0] -= 16;
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// VM pushes 16-bytes for return address. Simulate that here.
//
@@ -394,7 +394,7 @@ ExecuteEbcImageEntryPoint (
//
// Return the value in R[7] unless there was an error
//
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
diff --git a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c b/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c
index 46c81b082b..79c67dc636 100644
--- a/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c
+++ b/MdeModulePkg/Universal/EbcDxe/Ipf/EbcSupport.c
@@ -2,7 +2,7 @@
This module contains EBC support routines that are customized based on
the target processor.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -60,8 +60,8 @@ PushU64 (
// Advance the VM stack down, and then copy the argument to the stack.
// Hope it's aligned.
//
- VmPtr->R[0] -= sizeof (UINT64);
- *(UINT64 *) VmPtr->R[0] = Arg;
+ VmPtr->Gpr[0] -= sizeof (UINT64);
+ *(UINT64 *) VmPtr->Gpr[0] = Arg;
}
/**
@@ -176,14 +176,14 @@ EbcInterpret (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN) VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
PushU64 (&VmContext, (UINT64) VM_STACK_KEY_VALUE);
- VmContext.StackMagicPtr = (UINTN *) VmContext.R[0];
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
+ VmContext.StackMagicPtr = (UINTN *) VmContext.Gpr[0];
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
//
// Push the EBC arguments on the stack. Does not matter that they may not
// all be valid.
@@ -211,7 +211,7 @@ EbcInterpret (
//
PushU64 (&VmContext, 0);
PushU64 (&VmContext, 0xDEADBEEFDEADBEEF);
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// Begin executing the EBC code
//
@@ -220,7 +220,7 @@ EbcInterpret (
// Return the value in R[7] unless there was an error
//
ReturnEBCStack(StackIndex);
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
@@ -283,9 +283,9 @@ ExecuteEbcImageEntryPoint (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN) VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
//
@@ -293,7 +293,7 @@ ExecuteEbcImageEntryPoint (
// at the bottom so we can detect stack corruption.
//
PushU64 (&VmContext, (UINT64) VM_STACK_KEY_VALUE);
- VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.R[0];
+ VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.Gpr[0];
//
// When we thunk to external native code, we copy the last 8 qwords from
@@ -304,15 +304,15 @@ ExecuteEbcImageEntryPoint (
// Therefore, leave another gap below the magic value. Pick 10 qwords down,
// just as a starting point.
//
- VmContext.R[0] -= 10 * sizeof (UINT64);
+ VmContext.Gpr[0] -= 10 * sizeof (UINT64);
//
// Align the stack pointer such that after pushing the system table,
// image handle, and return address on the stack, it's aligned on a 16-byte
// boundary as required for IPF.
//
- VmContext.R[0] &= (INT64)~0x0f;
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
+ VmContext.Gpr[0] &= (INT64)~0x0f;
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
//
// Simply copy the image handle and system table onto the EBC stack.
// Greatly simplifies things by not having to spill the args
@@ -327,7 +327,7 @@ ExecuteEbcImageEntryPoint (
//
PushU64 (&VmContext, (UINT64) 0);
PushU64 (&VmContext, (UINT64) 0x1234567887654321);
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// Begin executing the EBC code
@@ -338,7 +338,7 @@ ExecuteEbcImageEntryPoint (
// Return the value in R[7] unless there was an error
//
ReturnEBCStack(StackIndex);
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
@@ -855,11 +855,11 @@ Action:
// put our return address and frame pointer on the VM stack.
// Then set the VM's IP to new EBC code.
//
- VmPtr->R[0] -= 8;
- VmWriteMemN (VmPtr, (UINTN) VmPtr->R[0], (UINTN) FramePtr);
- VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->R[0];
- VmPtr->R[0] -= 8;
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[0], (UINT64) (VmPtr->Ip + Size));
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr);
+ VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->Gpr[0];
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (VmPtr->Ip + Size));
VmPtr->Ip = (VMIP) (UINTN) TargetEbcAddr;
} else {
@@ -871,7 +871,7 @@ Action:
//
// Get return value and advance the IP.
//
- VmPtr->R[7] = EbcLLGetReturnValue ();
+ VmPtr->Gpr[7] = EbcLLGetReturnValue ();
VmPtr->Ip += Size;
}
}
diff --git a/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c b/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
index ef4b4c4c0d..b737db1c3c 100644
--- a/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
+++ b/MdeModulePkg/Universal/EbcDxe/X64/EbcSupport.c
@@ -2,7 +2,7 @@
This module contains EBC support routines that are customized based on
the target x64 processor.
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+Copyright (c) 2006 - 2010, Intel Corporation. <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -45,8 +45,8 @@ PushU64 (
// Advance the VM stack down, and then copy the argument to the stack.
// Hope it's aligned.
//
- VmPtr->R[0] -= sizeof (UINT64);
- *(UINT64 *) VmPtr->R[0] = Arg;
+ VmPtr->Gpr[0] -= sizeof (UINT64);
+ *(UINT64 *) VmPtr->Gpr[0] = Arg;
return;
}
@@ -140,25 +140,25 @@ EbcInterpret (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN) VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
//
// Align the stack on a natural boundary.
//
- VmContext.R[0] &= ~(sizeof (UINTN) - 1);
+ VmContext.Gpr[0] &= ~(sizeof (UINTN) - 1);
//
// Put a magic value in the stack gap, then adjust down again.
//
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) VM_STACK_KEY_VALUE;
- VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.R[0];
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) VM_STACK_KEY_VALUE;
+ VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.Gpr[0];
//
// The stack upper to LowStackTop is belong to the VM.
//
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
//
// For the worst case, assume there are 4 arguments passed in registers, store
@@ -191,7 +191,7 @@ EbcInterpret (
//
// For x64, this is where we say our return address is
//
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// We need to keep track of where the EBC stack starts. This way, if the EBC
@@ -216,7 +216,7 @@ EbcInterpret (
// Return the value in R[7] unless there was an error
//
ReturnEBCStack(StackIndex);
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
@@ -280,22 +280,22 @@ ExecuteEbcImageEntryPoint (
return Status;
}
VmContext.StackTop = (UINT8*)VmContext.StackPool + (STACK_REMAIN_SIZE);
- VmContext.R[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
- VmContext.HighStackBottom = (UINTN) VmContext.R[0];
- VmContext.R[0] -= sizeof (UINTN);
+ VmContext.Gpr[0] = (UINT64) ((UINT8*)VmContext.StackPool + STACK_POOL_SIZE);
+ VmContext.HighStackBottom = (UINTN) VmContext.Gpr[0];
+ VmContext.Gpr[0] -= sizeof (UINTN);
//
// Put a magic value in the stack gap, then adjust down again
//
- *(UINTN *) (UINTN) (VmContext.R[0]) = (UINTN) VM_STACK_KEY_VALUE;
- VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.R[0];
+ *(UINTN *) (UINTN) (VmContext.Gpr[0]) = (UINTN) VM_STACK_KEY_VALUE;
+ VmContext.StackMagicPtr = (UINTN *) (UINTN) VmContext.Gpr[0];
//
// Align the stack on a natural boundary
- VmContext.R[0] &= ~(sizeof(UINTN) - 1);
+ VmContext.Gpr[0] &= ~(sizeof(UINTN) - 1);
//
- VmContext.LowStackTop = (UINTN) VmContext.R[0];
+ VmContext.LowStackTop = (UINTN) VmContext.Gpr[0];
//
// Simply copy the image handle and system table onto the EBC stack.
@@ -313,7 +313,7 @@ ExecuteEbcImageEntryPoint (
//
// For x64, this is where we say our return address is
//
- VmContext.StackRetAddr = (UINT64) VmContext.R[0];
+ VmContext.StackRetAddr = (UINT64) VmContext.Gpr[0];
//
// Entry function needn't access high stack context, simply
@@ -329,7 +329,7 @@ ExecuteEbcImageEntryPoint (
// Return the value in R[7] unless there was an error
//
ReturnEBCStack(StackIndex);
- return (UINT64) VmContext.R[7];
+ return (UINT64) VmContext.Gpr[7];
}
@@ -577,11 +577,11 @@ Action:
// put our return address and frame pointer on the VM stack.
// Then set the VM's IP to new EBC code.
//
- VmPtr->R[0] -= 8;
- VmWriteMemN (VmPtr, (UINTN) VmPtr->R[0], (UINTN) FramePtr);
- VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->R[0];
- VmPtr->R[0] -= 8;
- VmWriteMem64 (VmPtr, (UINTN) VmPtr->R[0], (UINT64) (VmPtr->Ip + Size));
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMemN (VmPtr, (UINTN) VmPtr->Gpr[0], (UINTN) FramePtr);
+ VmPtr->FramePtr = (VOID *) (UINTN) VmPtr->Gpr[0];
+ VmPtr->Gpr[0] -= 8;
+ VmWriteMem64 (VmPtr, (UINTN) VmPtr->Gpr[0], (UINT64) (VmPtr->Ip + Size));
VmPtr->Ip = (VMIP) (UINTN) TargetEbcAddr;
} else {
@@ -593,7 +593,7 @@ Action:
//
// Get return value and advance the IP.
//
- VmPtr->R[7] = EbcLLGetReturnValue ();
+ VmPtr->Gpr[7] = EbcLLGetReturnValue ();
VmPtr->Ip += Size;
}
}
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
index cf0dd00cc5..77c6ff984f 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
@@ -316,6 +316,12 @@ typedef struct {
#define QUESTION_OPTION_FROM_LINK(a) CR (a, QUESTION_OPTION, Link, QUESTION_OPTION_SIGNATURE)
#define FORM_BROWSER_STATEMENT_SIGNATURE SIGNATURE_32 ('F', 'S', 'T', 'A')
+
+typedef union {
+ EFI_STRING_ID VarName;
+ UINT16 VarOffset;
+} VAR_STORE_INFO;
+
typedef struct {
UINTN Signature;
LIST_ENTRY Link;
@@ -335,10 +341,7 @@ typedef struct {
EFI_QUESTION_ID QuestionId; // The value of zero is reserved
EFI_VARSTORE_ID VarStoreId; // A value of zero indicates no variable storage
FORMSET_STORAGE *Storage;
- union {
- EFI_STRING_ID VarName;
- UINT16 VarOffset;
- } VarStoreInfo;
+ VAR_STORE_INFO VarStoreInfo;
UINT16 StorageWidth;
UINT8 QuestionFlags;
CHAR16 *VariableName; // Name/Value or EFI Variable name
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Ui.h b/MdeModulePkg/Universal/SetupBrowserDxe/Ui.h
index bd75714f7f..6fb3d9369a 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Ui.h
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Ui.h
@@ -1,7 +1,7 @@
/** @file
Private structure, MACRO and function definitions for User Interface related functionalities.
-Copyright (c) 2004 - 2009, Intel Corporation
+Copyright (c) 2004 - 2010, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -168,14 +168,15 @@ struct _UI_MENU_LIST {
#define UI_MENU_LIST_FROM_LINK(a) CR (a, UI_MENU_LIST, Link, UI_MENU_LIST_SIGNATURE)
-typedef struct _MENU_REFRESH_ENTRY {
- struct _MENU_REFRESH_ENTRY *Next;
+typedef struct _MENU_REFRESH_ENTRY MENU_REFRESH_ENTRY;
+struct _MENU_REFRESH_ENTRY {
+ MENU_REFRESH_ENTRY *Next;
UI_MENU_OPTION *MenuOption; // Describes the entry needing an update
UI_MENU_SELECTION *Selection;
UINTN CurrentColumn;
UINTN CurrentRow;
UINTN CurrentAttribute;
-} MENU_REFRESH_ENTRY;
+};
typedef struct {
UINT16 ScanCode;