TianoCore EDK2 master
|
Go to the source code of this file.
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 EFI_STATUS(EFIAPI * | EBC_VM_TEST_EXECUTE) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN VM_CONTEXT *VmPtr, IN OUT UINTN *InstructionCount) |
typedef EFI_STATUS(EFIAPI * | EBC_VM_TEST_ASM) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN CHAR16 *AsmText, IN OUT INT8 *Buffer, IN OUT UINTN *BufferLen) |
typedef EFI_STATUS(EFIAPI * | EBC_VM_TEST_DASM) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN OUT CHAR16 *AsmText, IN OUT INT8 *Buffer, IN OUT UINTN *Len) |
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
Definition in file EbcVmTest.h.
#define EFI_EBC_VM_TEST_PROTOCOL_GUID |
Definition at line 16 of file EbcVmTest.h.
#define EXCEPTION_FLAG_ERROR 0x40000000 |
Definition at line 71 of file EbcVmTest.h.
#define EXCEPTION_FLAG_FATAL 0x80000000 |
Definition at line 70 of file EbcVmTest.h.
#define EXCEPTION_FLAG_NONE 0x00000000 |
Definition at line 73 of file EbcVmTest.h.
#define EXCEPTION_FLAG_WARNING 0x20000000 |
Definition at line 72 of file EbcVmTest.h.
#define GETOPCODE | ( | pVM | ) | (UINT8) (*(UINT8 *) pVM->Ip) |
Definition at line 59 of file EbcVmTest.h.
#define GETOPERANDS | ( | pVM | ) | (UINT8) (*(UINT8 *) (pVM->Ip + 1)) |
Definition at line 58 of file EbcVmTest.h.
#define OPERAND1_REGDATA | ( | pVM, | |
Op | |||
) | pVM->Gpr[OPERAND1_REGNUM (Op)] |
Definition at line 64 of file EbcVmTest.h.
#define OPERAND2_REGDATA | ( | pVM, | |
Op | |||
) | pVM->Gpr[OPERAND2_REGNUM (Op)] |
Definition at line 65 of file EbcVmTest.h.
#define STOPFLAG_APP_DONE 0x0001 |
Definition at line 35 of file EbcVmTest.h.
#define STOPFLAG_BREAK_ON_CALLEX 0x0008 |
Definition at line 38 of file EbcVmTest.h.
#define STOPFLAG_BREAKPOINT 0x0002 |
Definition at line 36 of file EbcVmTest.h.
#define STOPFLAG_INVALID_BREAK 0x0004 |
Definition at line 37 of file EbcVmTest.h.
#define VM_MAJOR_VERSION 1 |
Definition at line 29 of file EbcVmTest.h.
#define VM_MINOR_VERSION 0 |
Definition at line 30 of file EbcVmTest.h.
#define VMFLAG_CLEAR | ( | pVM, | |
Flag | |||
) | (pVM->Flags &= ~(Flag)) |
Definition at line 52 of file EbcVmTest.h.
#define VMFLAG_ISSET | ( | pVM, | |
Flag | |||
) | ((pVM->Flags & (Flag)) ? 1 : 0) |
Definition at line 51 of file EbcVmTest.h.
#define VMFLAG_SET | ( | pVM, | |
Flag | |||
) | (pVM->Flags |= (Flag)) |
Definition at line 50 of file EbcVmTest.h.
#define VMFLAGS_ALL_VALID (VMFLAGS_CC | VMFLAGS_STEP) |
Definition at line 45 of file EbcVmTest.h.
#define VMFLAGS_CC 0x0001 |
Definition at line 43 of file EbcVmTest.h.
#define VMFLAGS_STEP 0x0002 |
Definition at line 44 of file EbcVmTest.h.
typedef EFI_STATUS(EFIAPI * EBC_VM_TEST_ASM) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN CHAR16 *AsmText, IN OUT INT8 *Buffer, IN OUT UINTN *BufferLen) |
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. |
Definition at line 144 of file EbcVmTest.h.
typedef EFI_STATUS(EFIAPI * EBC_VM_TEST_DASM) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN OUT CHAR16 *AsmText, IN OUT INT8 *Buffer, IN OUT UINTN *Len) |
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. |
Definition at line 165 of file EbcVmTest.h.
typedef EFI_STATUS(EFIAPI * EBC_VM_TEST_EXECUTE) (IN EFI_EBC_VM_TEST_PROTOCOL *This, IN VM_CONTEXT *VmPtr, IN OUT UINTN *InstructionCount) |
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. |
Definition at line 124 of file EbcVmTest.h.
typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL |
Definition at line 24 of file EbcVmTest.h.
typedef UINT32 EXCEPTION_FLAGS |
Definition at line 81 of file EbcVmTest.h.
typedef INT64 VM_REGISTER |
Definition at line 80 of file EbcVmTest.h.
typedef UINT8* VMIP |
instruction pointer for the VM
Definition at line 78 of file EbcVmTest.h.