vm Reference

File
core/xeos/include/xeos/vm.h
Date
Wednesday, June 25, 2014
Includes

Tasks

XEOS_VM_MemoryMapGetAddress

void * XEOS_VM_MemoryMapGetAddress( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetCR3

uint32_t XEOS_VM_MemoryMapGetCR3( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetLength

uint64_t XEOS_VM_MemoryMapGetLength( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetPDPTCount

uint64_t XEOS_VM_MemoryMapGetPDPTCount( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetPDTCount

uint64_t XEOS_VM_MemoryMapGetPDTCount( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetPML4TCount

uint64_t XEOS_VM_MemoryMapGetPML4TCount( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetPTCount

uint64_t XEOS_VM_MemoryMapGetPTCount( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapGetType

XEOS_VM_MemoryMapType XEOS_VM_MemoryMapGetType( XEOS_VM_MemoryMapRef object );

XEOS_VM_MemoryMapSetAddress

void XEOS_VM_MemoryMapSetAddress( XEOS_VM_MemoryMapRef object, void *address );

XEOS_VM_MemoryMapSetCR3

void XEOS_VM_MemoryMapSetCR3( XEOS_VM_MemoryMapRef object, uint32_t cr3 );

XEOS_VM_MemoryMapSetLength

void XEOS_VM_MemoryMapSetLength( XEOS_VM_MemoryMapRef object, uint64_t length );

XEOS_VM_MemoryMapSetPDPTCount

void XEOS_VM_MemoryMapSetPDPTCount( XEOS_VM_MemoryMapRef object, uint64_t count );

XEOS_VM_MemoryMapSetPDTCount

void XEOS_VM_MemoryMapSetPDTCount( XEOS_VM_MemoryMapRef object, uint64_t count );

XEOS_VM_MemoryMapSetPML4TCount

void XEOS_VM_MemoryMapSetPML4TCount( XEOS_VM_MemoryMapRef object, uint64_t count );

XEOS_VM_MemoryMapSetPTCount

void XEOS_VM_MemoryMapSetPTCount( XEOS_VM_MemoryMapRef object, uint64_t count );

XEOS_VM_MemoryMapSetType

void XEOS_VM_MemoryMapSetType( XEOS_VM_MemoryMapRef object, XEOS_VM_MemoryMapType type );

XEOS_VM_PDPTClear

void XEOS_VM_PDPTClear( XEOS_VM_PDPTRef object );

XEOS_VM_PDPTEntryClear

void XEOS_VM_PDPTEntryClear( XEOS_VM_PDPTEntryRef object );

XEOS_VM_PDPTEntryGetFlag

bool XEOS_VM_PDPTEntryGetFlag( XEOS_VM_PDPTEntryRef object, XEOS_VM_PDPTEntryFlag flag );

XEOS_VM_PDPTEntryGetPDT

XEOS_VM_PDTRef XEOS_VM_PDPTEntryGetPDT( XEOS_VM_PDPTEntryRef object );

XEOS_VM_PDPTEntrySetFlag

void XEOS_VM_PDPTEntrySetFlag( XEOS_VM_PDPTEntryRef object, XEOS_VM_PDPTEntryFlag flag, bool value );

XEOS_VM_PDPTEntrySetPDT

void XEOS_VM_PDPTEntrySetPDT( XEOS_VM_PDPTEntryRef object, XEOS_VM_PDTRef pdt );

XEOS_VM_PDPTGetEntryAtIndex

XEOS_VM_PDPTEntryRef XEOS_VM_PDPTGetEntryAtIndex( XEOS_VM_PDPTRef object, unsigned int i );

XEOS_VM_PDTClear

void XEOS_VM_PDTClear( XEOS_VM_PDTRef object );

XEOS_VM_PDTEntryClear

void XEOS_VM_PDTEntryClear( XEOS_VM_PDTEntryRef object );

XEOS_VM_PDTEntryGetFlag

bool XEOS_VM_PDTEntryGetFlag( XEOS_VM_PTEntryRef object, XEOS_VM_PDTEntryFlag flag );

XEOS_VM_PDTEntryGetPT

XEOS_VM_PTRef XEOS_VM_PDTEntryGetPT( XEOS_VM_PTEntryRef object );

XEOS_VM_PDTEntrySetFlag

void XEOS_VM_PDTEntrySetFlag( XEOS_VM_PTEntryRef object, XEOS_VM_PDTEntryFlag flag, bool value );

XEOS_VM_PDTEntrySetPT

void XEOS_VM_PDTEntrySetPT( XEOS_VM_PTEntryRef object, XEOS_VM_PTRef pt );

XEOS_VM_PDTGetEntryAtIndex

XEOS_VM_PDTEntryRef XEOS_VM_PDTGetEntryAtIndex( XEOS_VM_PDTRef object, unsigned int i );

XEOS_VM_PML4TClear

void XEOS_VM_PML4TClear( XEOS_VM_PML4TRef object );

XEOS_VM_PML4TEntryClear

void XEOS_VM_PML4TEntryClear( XEOS_VM_PML4TEntryRef object );

XEOS_VM_PML4TEntryGetFlag

bool XEOS_VM_PML4TEntryGetFlag( XEOS_VM_PML4TEntryRef object, XEOS_VM_PML4TEntryFlag flag );

XEOS_VM_PML4TEntryGetPDPT

XEOS_VM_PDPTRef XEOS_VM_PML4TEntryGetPDPT( XEOS_VM_PML4TEntryRef object );

XEOS_VM_PML4TEntrySetFlag

void XEOS_VM_PML4TEntrySetFlag( XEOS_VM_PML4TEntryRef object, XEOS_VM_PML4TEntryFlag flag, bool value );

XEOS_VM_PML4TEntrySetPDPT

void XEOS_VM_PML4TEntrySetPDPT( XEOS_VM_PML4TEntryRef object, XEOS_VM_PDPTRef pdpt );

XEOS_VM_PML4TGetEntryAtIndex

XEOS_VM_PML4TEntryRef XEOS_VM_PML4TGetEntryAtIndex( XEOS_VM_PML4TRef object, unsigned int i );

XEOS_VM_PTClear

void XEOS_VM_PTClear( XEOS_VM_PTRef object );

XEOS_VM_PTEntryClear

void XEOS_VM_PTEntryClear( XEOS_VM_PTEntryRef object );

XEOS_VM_PTEntryGetAddress

uint64_t XEOS_VM_PTEntryGetAddress( XEOS_VM_PTEntryRef object );

XEOS_VM_PTEntryGetFlag

bool XEOS_VM_PTEntryGetFlag( XEOS_VM_PTEntryRef object, XEOS_VM_PTEntryFlag flag );

XEOS_VM_PTEntrySetAddress

void XEOS_VM_PTEntrySetAddress( XEOS_VM_PTEntryRef object, uint64_t address );

XEOS_VM_PTEntrySetFlag

void XEOS_VM_PTEntrySetFlag( XEOS_VM_PTEntryRef object, XEOS_VM_PTEntryFlag flag, bool value );

XEOS_VM_PTGetEntryAtIndex

XEOS_VM_PTEntryRef XEOS_VM_PTGetEntryAtIndex( XEOS_VM_PTRef object, unsigned int i );

XEOS_VM_SystemMap

XEOS_VM_MemoryMapRef XEOS_VM_SystemMap( void );

XEOS_VM_SystemMapInitialize

void XEOS_VM_SystemMapInitialize( int ( * outputHandler )( const char *, ... ) );

Types

XEOS_VM_MemoryMapRef

typedef struct __XEOS_VM_MemoryMap * XEOS_VM_MemoryMapRef;

XEOS_VM_MemoryMapType

typedef enum { XEOS_VM_MemoryMapTypeUnknown = 0x00, XEOS_VM_MemoryMapType32 = 0x01, XEOS_VM_MemoryMapType32PAE = 0x02, XEOS_VM_MemoryMapType64 = 0x03 } XEOS_VM_MemoryMapType;

XEOS_VM_PDPTEntryFlag

typedef enum { XEOS_VM_PDPTEntryFlagPresent = 1 << 0, XEOS_VM_PDPTEntryFlagWriteable = 1 << 1, } XEOS_VM_PDPTEntryFlag;

XEOS_VM_PDPTEntryRef

typedef void * XEOS_VM_PDPTEntryRef;

XEOS_VM_PDPTRef

typedef void * XEOS_VM_PDPTRef;

XEOS_VM_PDTEntryFlag

typedef enum { XEOS_VM_PDTEntryFlagPresent = 1 << 0, XEOS_VM_PDTEntryFlagWriteable = 1 << 1, XEOS_VM_PDTEntryFlagUser = 1 << 2, XEOS_VM_PDTEntryFlagWriteThrough = 1 << 3, XEOS_VM_PDTEntryFlagCacheDisbled = 1 << 4, XEOS_VM_PDTEntryFlagAccessed = 1 << 5, XEOS_VM_PDTEntryFlagPageSize = 1 << 6, XEOS_VM_PDTEntryFlagGLobal = 1 << 8, } XEOS_VM_PDTEntryFlag;

XEOS_VM_PDTEntryRef

typedef void * XEOS_VM_PDTEntryRef;

XEOS_VM_PDTRef

typedef void * XEOS_VM_PDTRef;

XEOS_VM_PML4TEntryFlag

typedef enum { XEOS_VM_PML4TEntryFlagPresent = 1 << 0, XEOS_VM_PML4TEntryFlagWriteable = 1 << 1, } XEOS_VM_PML4TEntryFlag;

XEOS_VM_PML4TEntryRef

typedef void * XEOS_VM_PML4TEntryRef;

XEOS_VM_PML4TRef

typedef void * XEOS_VM_PML4TRef;

XEOS_VM_PTEntryFlag

typedef enum { XEOS_VM_PTEntryFlagPresent = 1 << 0, XEOS_VM_PTEntryFlagWriteable = 1 << 1, XEOS_VM_PTEntryFlagUser = 1 << 2, XEOS_VM_PTEntryFlagWriteThrough = 1 << 3, XEOS_VM_PTEntryFlagCacheDisbled = 1 << 4, XEOS_VM_PTEntryFlagAccessed = 1 << 5, XEOS_VM_PTEntryFlagDirty = 1 << 6, XEOS_VM_PTEntryFlagGLobal = 1 << 8, } XEOS_VM_PTEntryFlag;

XEOS_VM_PTEntryRef

typedef void * XEOS_VM_PTEntryRef;

XEOS_VM_PTRef

typedef void * XEOS_VM_PTRef;

Macros

__XEOS_VM_H__

#define __XEOS_VM_H__