be of use to a disassembler for the most part. Also provides function\r
prototypes for VM functions.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2011, 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
#define OPERAND1_CHAR(op) ('0' + OPERAND1_REGNUM (op))\r
#define OPERAND2_CHAR(op) ('0' + OPERAND2_REGNUM (op))\r
\r
-#define OPERAND1_REGDATA(pvm, op) pvm->R[OPERAND1_REGNUM (op)]\r
-#define OPERAND2_REGDATA(pvm, op) pvm->R[OPERAND2_REGNUM (op)]\r
+#define OPERAND1_REGDATA(pvm, op) pvm->Gpr[OPERAND1_REGNUM (op)]\r
+#define OPERAND2_REGDATA(pvm, op) pvm->Gpr[OPERAND2_REGNUM (op)]\r
\r
//\r
// Condition masks usually for byte 1 encodings of code\r
VM stack) to point into the EBC entry point arguments.\r
\r
@param VmPtr A pointer to a VM context.\r
- @param Addr Adddress to write to.\r
+ @param Addr Address to write to.\r
@param Data Value to write to Addr.\r
\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
VM stack) to point into the EBC entry point arguments.\r
\r
@param VmPtr A pointer to a VM context.\r
- @param Addr Adddress to write to.\r
+ @param Addr Address to write to.\r
@param Data Value to write to Addr.\r
\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
IN UINT64 Data\r
);\r
\r
-//\r
-// Define a protocol for an EBC VM test interface.\r
-//\r
-#define EFI_EBC_VM_TEST_PROTOCOL_GUID \\r
- { \\r
- 0xAAEACCFDL, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } \\r
- }\r
-\r
-//\r
-// Define for forward reference.\r
-//\r
-typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL;\r
-\r
-typedef\r
-EFI_STATUS\r
-(*EBC_VM_TEST_EXECUTE) (\r
- IN EFI_EBC_VM_TEST_PROTOCOL * This,\r
- IN VM_CONTEXT * VmPtr,\r
- IN OUT UINTN *InstructionCount\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(*EBC_VM_TEST_ASM) (\r
- IN EFI_EBC_VM_TEST_PROTOCOL * This,\r
- IN CHAR16 *AsmText,\r
- IN OUT INT8 *Buffer,\r
- IN OUT UINTN *BufferLen\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(*EBC_VM_TEST_DASM) (\r
- IN EFI_EBC_VM_TEST_PROTOCOL * This,\r
- IN OUT CHAR16 *AsmText,\r
- IN OUT INT8 *Buffer,\r
- IN OUT UINTN *Len\r
- );\r
-\r
-//\r
-// Prototype for the actual EBC test protocol interface\r
-//\r
-struct _EFI_EBC_VM_TEST_PROTOCOL {\r
- EBC_VM_TEST_EXECUTE Execute;\r
- EBC_VM_TEST_ASM Assemble;\r
- EBC_VM_TEST_DASM Disassemble;\r
-};\r
-\r
/**\r
Given a pointer to a new VM context, execute one or more instructions. This\r
function is only used for test purposes via the EBC VM test protocol.\r
\r
**/\r
EFI_STATUS\r
+EFIAPI\r
EbcExecuteInstructions (\r
IN EFI_EBC_VM_TEST_PROTOCOL *This,\r
IN VM_CONTEXT *VmPtr,\r