|
MdeModulePkg[all]
0.98
|
Data Structures | |
| struct | VM_CONTEXT |
| struct | _EFI_EBC_VM_TEST_PROTOCOL |
Macros | |
| #define | EFI_EBC_VM_TEST_PROTOCOL_GUID |
| #define | VM_MAJOR_VERSION 1 |
| #define | VM_MINOR_VERSION 0 |
| #define | STOPFLAG_APP_DONE 0x0001 |
| #define | STOPFLAG_BREAKPOINT 0x0002 |
| #define | STOPFLAG_INVALID_BREAK 0x0004 |
| #define | STOPFLAG_BREAK_ON_CALLEX 0x0008 |
| #define | VMFLAGS_CC 0x0001 |
| #define | VMFLAGS_STEP 0x0002 |
| #define | VMFLAGS_ALL_VALID (VMFLAGS_CC | VMFLAGS_STEP) |
| #define | VMFLAG_SET(pVM, Flag) (pVM->Flags |= (Flag)) |
| #define | VMFLAG_ISSET(pVM, Flag) ((pVM->Flags & (Flag)) ? 1 : 0) |
| #define | VMFLAG_CLEAR(pVM, Flag) (pVM->Flags &= ~(Flag)) |
| #define | GETOPERANDS(pVM) (UINT8) (*(UINT8 *) (pVM->Ip + 1)) |
| #define | GETOPCODE(pVM) (UINT8) (*(UINT8 *) pVM->Ip) |
| #define | OPERAND1_REGDATA(pVM, Op) pVM->Gpr[OPERAND1_REGNUM (Op)] |
| #define | OPERAND2_REGDATA(pVM, Op) pVM->Gpr[OPERAND2_REGNUM (Op)] |
| #define | EXCEPTION_FLAG_FATAL 0x80000000 |
| #define | EXCEPTION_FLAG_ERROR 0x40000000 |
| #define | EXCEPTION_FLAG_WARNING 0x20000000 |
| #define | EXCEPTION_FLAG_NONE 0x00000000 |
Typedefs | |
| typedef struct _EFI_EBC_VM_TEST_PROTOCOL | EFI_EBC_VM_TEST_PROTOCOL |
| typedef UINT8 * | VMIP |
| typedef INT64 | VM_REGISTER |
| typedef UINT32 | EXCEPTION_FLAGS |
| typedef IN VM_CONTEXT * | VmPtr |
| typedef IN VM_CONTEXT IN OUT UINTN * | InstructionCount |
| typedef IN CHAR16 * | AsmText |
| typedef IN CHAR16 IN OUT INT8 * | Buffer |
| typedef IN CHAR16 IN OUT INT8 IN OUT UINTN * | BufferLen |
| typedef IN OUT CHAR16 IN OUT INT8 IN OUT UINTN * | Len |
Functions | |
| typedef | EFI_STATUS (EFIAPI *EBC_VM_TEST_EXECUTE)(IN EFI_EBC_VM_TEST_PROTOCOL *This |
Variables | |
| EFI_GUID | gEfiEbcVmTestProtocolGuid |
EBC VM Test protocol for test purposes.
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
| #define EFI_EBC_VM_TEST_PROTOCOL_GUID |
| #define EXCEPTION_FLAG_ERROR 0x40000000 |
| #define EXCEPTION_FLAG_FATAL 0x80000000 |
| #define EXCEPTION_FLAG_NONE 0x00000000 |
| #define EXCEPTION_FLAG_WARNING 0x20000000 |
| #define GETOPCODE | ( | pVM | ) | (UINT8) (*(UINT8 *) pVM->Ip) |
| #define GETOPERANDS | ( | pVM | ) | (UINT8) (*(UINT8 *) (pVM->Ip + 1)) |
| #define OPERAND1_REGDATA | ( | pVM, | |
| Op | |||
| ) | pVM->Gpr[OPERAND1_REGNUM (Op)] |
| #define OPERAND2_REGDATA | ( | pVM, | |
| Op | |||
| ) | pVM->Gpr[OPERAND2_REGNUM (Op)] |
| #define STOPFLAG_APP_DONE 0x0001 |
| #define STOPFLAG_BREAK_ON_CALLEX 0x0008 |
| #define STOPFLAG_BREAKPOINT 0x0002 |
| #define STOPFLAG_INVALID_BREAK 0x0004 |
| #define VM_MAJOR_VERSION 1 |
| #define VM_MINOR_VERSION 0 |
| #define VMFLAG_CLEAR | ( | pVM, | |
| Flag | |||
| ) | (pVM->Flags &= ~(Flag)) |
| #define VMFLAG_ISSET | ( | pVM, | |
| Flag | |||
| ) | ((pVM->Flags & (Flag)) ? 1 : 0) |
| #define VMFLAG_SET | ( | pVM, | |
| Flag | |||
| ) | (pVM->Flags |= (Flag)) |
| #define VMFLAGS_ALL_VALID (VMFLAGS_CC | VMFLAGS_STEP) |
| #define VMFLAGS_CC 0x0001 |
| #define VMFLAGS_STEP 0x0002 |
| typedef IN OUT CHAR16 * AsmText |
| typedef IN OUT CHAR16 IN OUT INT8* Buffer |
| typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL |
| typedef UINT32 EXCEPTION_FLAGS |
| typedef IN VM_CONTEXT IN OUT UINTN* InstructionCount |
| typedef INT64 VM_REGISTER |
| typedef UINT8* VMIP |
instruction pointer for the VM
| typedef IN VM_CONTEXT* VmPtr |
| typedef EFI_STATUS | ( | EFIAPI * | EBC_VM_TEST_DASM | ) |
Given a pointer to a new VM context, execute one or more instructions. This function is only used for test purposes.
| [in] | This | A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure. |
| [in] | VmPtr | A pointer to a VM context. |
| [in,out] | InstructionCount | A pointer to a UINTN value holding the number of instructions to execute. If it holds value of 0, then the instruction to be executed is 1. |
| EFI_UNSUPPORTED | At least one of the opcodes is not supported. |
| EFI_SUCCESS | All of the instructions are executed successfully. |
Convert AsmText to the instruction. This function is only used for test purposes.
| [in] | This | A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure. |
| [in] | AsmText | A pointer to EBC ASM text code. |
| [out] | Buffer | Buffer to store the instruction. |
| [out] | BufferLen | Size of buffer that is required to store data. |
| EFI_UNSUPPORTED | This functionality is unsupported. |
| EFI_SUCCESS | Successfully convert AsmText to the instruction. |
Dump the executed instruction. This function is only used for test purposes.
| [in] | This | A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure. |
| [out] | AsmText | Contain the disasm text. |
| [out] | Buffer | Buffer to store the instruction. |
| [out] | BufferLen | Size of buffer that is required to store data. |
| EFI_UNSUPPORTED | This functionality is unsupported. |
| EFI_SUCCESS | Successfully dump the executed instruction. |
| EFI_GUID gEfiEbcVmTestProtocolGuid |