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 |