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

Hypervisor Utilities. More...

#include <hypervisor/hypervisor_utils.h>
#include <hypervisor/hypervisor_macros.h>
#include <hypervisor/hypervisor_vmxops.h>
#include <hypervisor/hypervisor_ept.h>
#include <hypervisor/hypervisor_guestlib.h>
#include <memory/paging.h>
#include <memory/frame.h>
#include <logging.h>
#include <cpu.h>
#include <cpu/task.h>
#include <tosdb/tosdb_manager.h>
#include <linker.h>
#include <pci.h>
#include <apic.h>

Functions

 MODULE ("turnstone.hypervisor")
 
uint64_t hypervisor_allocate_region (frame_t **frame, uint64_t size)
 
uint64_t hypervisor_create_stack (hypervisor_vm_t *vm, uint64_t stack_size)
 
int8_t vmx_validate_capability (uint64_t target, uint32_t allowed0, uint32_t allowed1)
 
uint32_t vmx_fix_reserved_1_bits (uint32_t target, uint32_t allowed0)
 
uint32_t vmx_fix_reserved_0_bits (uint32_t target, uint32_t allowed1)
 
static void hypervisor_cleanup_unused_modules (hypervisor_vm_t *vm, uint64_t got_fa, uint64_t got_size)
 
int8_t hypevisor_deploy_program (hypervisor_vm_t *vm, const char_t *entry_point_name)
 
void hypervisor_vmcs_goto_next_instruction (vmcs_vmexit_info_t *vmexit_info)
 
int8_t hypervisor_vmcall_load_module (hypervisor_vm_t *vm, vmcs_vmexit_info_t *vmexit_info)
 
uint64_t hypervisor_vmcall_attach_pci_dev (hypervisor_vm_t *vm, uint32_t pci_address)
 
void video_text_print (const char *str)
 
static int8_t hypervisor_vmcall_intterupt_mapped_isr (interrupt_frame_ext_t *frame)
 
static int16_t hypervisor_vmcall_attach_interrupt (hypervisor_vm_t *vm, vmcs_vmexit_info_t *vmexit_info)
 
void hypervisor_vmcall_cleanup_mapped_interrupts (hypervisor_vm_t *vm)
 
uint64_t hypervisor_vmcs_vmcalls_handler (vmcs_vmexit_info_t *vmexit_info)
 

Variables

list_thypervisor_vmcall_interrupt_mapped_vms [256] = {0}
 

Detailed Description

Hypervisor Utilities.

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