Turnstone Operating System
|
Extended Page Table (EPT) setup for hypervisor. More...
#include <hypervisor/hypervisor_ept.h>
#include <hypervisor/hypervisor_utils.h>
#include <hypervisor/hypervisor_macros.h>
#include <hypervisor/hypervisor_vmxops.h>
#include <memory/paging.h>
#include <cpu/interrupt.h>
#include <cpu/task.h>
#include <cpu.h>
#include <logging.h>
#include <linker.h>
#include <linker_utils.h>
#include <list.h>
Functions | |
MODULE ("turnstone.hypervisor") | |
static void | hypervisor_ept_invept (uint64_t type) |
static int8_t | hypervisor_ept_add_ept_page (hypervisor_vm_t *vm, uint64_t host_physical, uint64_t guest_physical, boolean_t wb) |
static int8_t | hypervisor_ept_del_ept_page (hypervisor_vm_t *vm, uint64_t host_physical, uint64_t guest_physical) |
uint64_t | hypervisor_ept_setup (hypervisor_vm_t *vm) |
uint64_t | hypervisor_ept_guest_to_host (uint64_t ept_base, uint64_t guest_physical) |
static uint64_t | hypervisor_ept_guest_to_host_ensured (hypervisor_vm_t *vm, uint64_t guest_physical) |
static int8_t | hypervisor_ept_paging_add_page (hypervisor_vm_t *vm, uint64_t physical_address, uint64_t virtual_address, memory_paging_page_type_t type) |
static int8_t | hypervisor_ept_paging_del_page (hypervisor_vm_t *vm, uint64_t physical_address, uint64_t virtual_address) |
static uint64_t | hypervisor_ept_paging_get_guest_physical (hypervisor_vm_t *vm, uint64_t virtual_address) |
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_page_fault_handler (vmcs_vmexit_info_t *vmexit_info) |
uint64_t | hypervisor_ept_guest_virtual_to_host_physical (hypervisor_vm_t *vm, uint64_t guest_virtual) |
uint64_t | hypervisor_ept_map_pci_device (hypervisor_vm_t *vm, const pci_dev_t *pci_dev) |
Extended Page Table (EPT) setup for hypervisor.
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.