iPXE
|
VMware backdoor mechanism. More...
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | VMW_PORT 0x5658 |
VMware backdoor I/O port. More... | |
#define | VMW_MAGIC 0x564d5868 /* "VMXh" */ |
VMware backdoor magic value. More... | |
#define | VMW_BACKDOOR "inl %%dx, %%eax" |
VMware backdoor magic instruction. More... | |
#define | VMW_CMD_GET_VERSION 0x0a |
Get VMware version. More... | |
#define | VMW_CMD_GUESTRPC 0x1e |
Issue GuestRPC command. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
static | __attribute__ ((always_inline)) void vmware_cmd_get_version(uint32_t *version |
Get VMware version. More... | |
__asm__ | __volatile__ (VMW_BACKDOOR :"=a"(*version), "=b"(*magic), "=c"(*product_type), "=d"(discard_d) :"0"(VMW_MAGIC), "1"(0), "2"(VMW_CMD_GET_VERSION), "3"(VMW_PORT)) |
int | vmware_present (void) |
Detect VMware presence. More... | |
Variables | |
static uint32_t * | magic |
static uint32_t uint32_t * | product_type |
static uint16_t | subcommand |
static uint16_t uint32_t | parameter |
static uint16_t uint32_t uint16_t * | edxhi = ( edx >> 16 ) |
static uint16_t uint32_t uint16_t uint32_t * | ebx |
uint32_t | status |
uint32_t | edx |
VMware backdoor mechanism.
Definition in file vmware.h.
#define VMW_MAGIC 0x564d5868 /* "VMXh" */ |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
inlinestatic |
Get VMware version.
Issue GuestRPC command.
version | VMware version(?) |
magic | VMware magic number, if present |
product_type | VMware product type |
channel | Channel number |
subcommand | GuestRPC subcommand |
parameter | Subcommand-specific parameter |
edxhi | Subcommand-specific result |
ebx | Subcommand-specific result |
status | Command status |
__asm__ __volatile__ | ( | ) |
int vmware_present | ( | void | ) |
Definition at line 38 of file vmware.h.
Referenced by vmware_present().