Turnstone Operating System
Loading...
Searching...
No Matches
hypervisor_ept.h File Reference

defines hypervisor related ept operations More...

#include <types.h>
#include <hypervisor/hypervisor_vm.h>
#include <hypervisor/hypervisor_utils.h>
#include <pci.h>

Classes

struct  hypervisor_ept_pml4e_t
 
struct  hypervisor_ept_pdpte_t
 
struct  hypervisor_ept_pde_2mib_t
 
struct  hypervisor_ept_pde_t
 
struct  hypervisor_ept_pte_t
 

Macros

#define ___HYPERVISOR_EPT_H   0
 

Typedefs

typedef struct hypervisor_ept_pml4e_t hypervisor_ept_pml4e_t
 
typedef struct hypervisor_ept_pdpte_t hypervisor_ept_pdpte_t
 
typedef struct hypervisor_ept_pde_2mib_t hypervisor_ept_pde_2mib_t
 
typedef struct hypervisor_ept_pde_t hypervisor_ept_pde_t
 
typedef struct hypervisor_ept_pte_t hypervisor_ept_pte_t
 

Functions

 _Static_assert (sizeof(hypervisor_ept_pml4e_t)==8, "PML4E size is not 8 bytes")
 
 _Static_assert (sizeof(hypervisor_ept_pdpte_t)==8, "PDPTE size is not 8 bytes")
 
 _Static_assert (sizeof(hypervisor_ept_pde_2mib_t)==8, "PDE 2mib size is not 8 bytes")
 
 _Static_assert (sizeof(hypervisor_ept_pde_t)==8, "PDE size is not 8 bytes")
 
 _Static_assert (sizeof(hypervisor_ept_pte_t)==8, "PTE size is not 8 bytes")
 
uint64_t hypervisor_ept_setup (hypervisor_vm_t *vm)
 
uint64_t hypervisor_ept_guest_to_host (uint64_t ept_base, uint64_t guest_physical)
 
uint64_t hypervisor_ept_guest_virtual_to_host_physical (hypervisor_vm_t *vm, uint64_t guest_virtual)
 
int8_t hypervisor_ept_build_tables (hypervisor_vm_t *vm)
 
int8_t hypervisor_ept_merge_module (hypervisor_vm_t *vm, hypervisor_vm_module_load_t *module_load)
 
uint64_t hypervisor_ept_map_pci_device (hypervisor_vm_t *vm, const pci_dev_t *pci_dev)
 
uint64_t hypervisor_ept_page_fault_handler (vmcs_vmexit_info_t *vmexit_info)
 

Detailed Description

defines hypervisor related ept operations

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.