1 #pragma once 2 3 #include <os/base.h> 4 #include <stdint.h> 5 6 extern void save_restore_regs_entry(uint64_t arg) OS_NORETURN; 7 extern void save_restore_debug_regs_entry(uint64_t arg) OS_NORETURN; 8 extern void simple_real_mode_vcpu_entry(uint64_t arg) OS_NORETURN; 9 extern void simple_protected_mode_vcpu_entry(uint64_t arg) OS_NORETURN; 10 extern void simple_long_mode_vcpu_entry(uint64_t arg) OS_NORETURN; 11 extern void smp_vcpu_entry(uint64_t) OS_NORETURN; 12 extern void radar61961809_entry(uint64_t) OS_NORETURN; 13 extern void radar61961809_prepare(uint64_t) OS_NORETURN; 14 extern void radar61961809_loop64(uint64_t) OS_NORETURN; 15 extern void radar60691363_entry(uint64_t) OS_NORETURN; 16 extern void pio_entry(uint64_t) OS_NORETURN; 17 extern void pio_entry_basic(uint64_t) OS_NORETURN; 18 19 #define MSR_IA32_STAR 0xc0000081 20 #define MSR_IA32_LSTAR 0xc0000082 21 #define MSR_IA32_CSTAR 0xc0000083 22 #define MSR_IA32_FMASK 0xc0000084 23 #define MSR_IA32_KERNEL_GS_BASE 0xc0000102 24 #define MSR_IA32_TSC 0x00000010 25 #define MSR_IA32_TSC_AUX 0xc0000103 26 27 #define MSR_IA32_SYSENTER_CS 0x00000174 28 #define MSR_IA32_SYSENTER_ESP 0x00000175 29 #define MSR_IA32_SYSENTER_EIP 0x00000176 30 #define MSR_IA32_FS_BASE 0xc0000100 31 #define MSR_IA32_GS_BASE 0xc0000101 32 33 extern void native_msr_vcpu_entry(uint64_t) OS_NORETURN; 34