]> git.saurik.com Git - apple/xnu.git/blob - tests/hvtest_x86_guest.h
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / tests / hvtest_x86_guest.h
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
17 #define MSR_IA32_STAR 0xc0000081
18 #define MSR_IA32_LSTAR 0xc0000082
19 #define MSR_IA32_CSTAR 0xc0000083
20 #define MSR_IA32_FMASK 0xc0000084
21 #define MSR_IA32_KERNEL_GS_BASE 0xc0000102
22 #define MSR_IA32_TSC 0x00000010
23 #define MSR_IA32_TSC_AUX 0xc0000103
24
25 #define MSR_IA32_SYSENTER_CS 0x00000174
26 #define MSR_IA32_SYSENTER_ESP 0x00000175
27 #define MSR_IA32_SYSENTER_EIP 0x00000176
28 #define MSR_IA32_FS_BASE 0xc0000100
29 #define MSR_IA32_GS_BASE 0xc0000101
30
31 extern void native_msr_vcpu_entry(uint64_t) OS_NORETURN;