xref: /xnu-8019.80.24/tests/hvtest_x86_guest.h (revision a325d9c4a84054e40bbe985afedcb50ab80993ea)
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