| Turnstone Operating System
    | 
SVM VMEXIT handler for 64-bit x86 architecture. More...
#include <hypervisor/hypervisor_svm_vmcb_ops.h>#include <hypervisor/hypervisor_svm_macros.h>#include <hypervisor/hypervisor_utils.h>#include <hypervisor/hypervisor_ept.h>#include <hypervisor/hypervisor_ipc.h>#include <memory/paging.h>#include <cpu.h>#include <cpu/task.h>#include <apic.h>#include <cpu/crx.h>#include <logging.h>#include <ports.h>#include <strings.h>#include <time/timer.h>| Typedefs | |
| typedef int8_t(* | hypervisor_svm_vmexit_handler_f) (hypervisor_vm_t *vm) | 
| Functions | |
| MODULE ("turnstone.hypervisor.svm") | |
| static void | hypervisor_svm_vm_run_single (task_registers_t *host_registers, task_registers_t *guest_registers, uint64_t vmcb_frame_fa) | 
| static void | hypervisor_svm_wait_idle (void) | 
| static void | hypervisor_svm_goto_next_instruction (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_intr (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_hlt (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_pause (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_cpuid (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handle_eoi (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_msr (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_vmmcall (hypervisor_vm_t *vm) | 
| static void | hypervisor_svm_io_fast_string_printf_io (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_ioio (hypervisor_vm_t *vm) | 
| static int8_t | hypervisor_svm_vmexit_handler_excp14 (hypervisor_vm_t *vm) | 
| static uint64_t | hypervisor_svm_vmexit_remap_exit_code (uint64_t exit_code) | 
| static int8_t | hypervisor_svm_dump_vmcb (hypervisor_vm_t *vm) | 
| int8_t | hypervisor_svm_vm_run (uint64_t hypervisor_vm_ptr) | 
| Variables | |
| hypervisor_svm_vmexit_handler_f | hypervisor_svm_vmexit_handlers [SVM_VMEXIT_REASON_ARRAY_SIZE] | 
SVM VMEXIT handler for 64-bit x86 architecture.
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.
| hypervisor_svm_vmexit_handler_f hypervisor_svm_vmexit_handlers[SVM_VMEXIT_REASON_ARRAY_SIZE] |