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