Turnstone Operating System
Loading...
Searching...
No Matches
hypervisor_ept.64.c File Reference

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)
 

Detailed Description

Extended Page Table (EPT) setup for hypervisor.

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