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

Hypervisor Guest Library. More...

#include <hypervisor/hypervisor_guestlib.h>
#include <ports.h>
#include <buffer.h>
#include <cpu.h>
#include <cpu/descriptor.h>
#include <apic.h>
#include <strings.h>

Macros

#define VMX_GUEST_IFEXT_BASE_VALUE   0x2000
 

Functions

 MODULE ("turnstone.hypervisor.guestlib")
 
void vm_guest_print (const char *str)
 
void vm_guest_printf (const char *fstr,...)
 
_Noreturn void vm_guest_halt (void)
 
_Noreturn void vm_guest_exit (int32_t status)
 
uint64_t vm_guest_attach_pci_dev (uint8_t group_number, uint8_t bus_number, uint8_t device_number, uint8_t function_number)
 
uint64_t vm_guest_get_host_physical_address (uint64_t guest_virtual_address)
 
static void vm_guest_interrupt_save_restore_avx512f (boolean_t save, interrupt_frame_ext_t *frame)
 
void vm_guest_interrupt_generic_handler (interrupt_frame_ext_t *frame)
 
void vm_guest_interrupt_register_dummy_handlers (descriptor_idt_t *)
 
int16_t vm_guest_attach_interrupt (pci_generic_device_t *pci_dev, vm_guest_interrupt_type_t interrupt_type, uint8_t interrupt_number, vm_guest_interrupt_handler_t irq)
 
void vm_guest_apic_eoi (void)
 
void vm_guest_enable_timer (vm_guest_interrupt_handler_t handler, uint32_t initial_value, uint32_t divider)
 

Variables

vm_guest_interrupt_handler_t vm_guest_interrupt_handlers [256] = {0}
 
static boolean_t vm_guest_interrupt_xsave_mask_memorized = false
 
static uint64_t vm_guest_interrupt_xsave_mask_lo = 0
 
static uint64_t vm_guest_interrupt_xsave_mask_hi = 0
 
static boolean_t vm_guest_interrupt_dummy_handlers_registered = false
 

Detailed Description

Hypervisor Guest Library.

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