xref: /illumos-gate/usr/src/compat/bhyve/amd64/machine/specialreg.h (revision 74e12c43fe52f2c30f36e65a4d0fb0e8dfd7068a)
1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright 2019 Joyent, Inc.
14  */
15 
16 #ifndef _COMPAT_FREEBSD_AMD64_MACHINE_SPECIALREG_H_
17 #define	_COMPAT_FREEBSD_AMD64_MACHINE_SPECIALREG_H_
18 
19 #ifdef _SYS_X86_ARCHEXT_H
20 /* Our x86_archext conflicts with BSD header for the XFEATURE_ defines */
21 #undef	XFEATURE_AVX
22 #undef	XFEATURE_MPX
23 #undef	XFEATURE_AVX512
24 #endif
25 
26 #ifdef _SYS_CONTROLREGS_H
27 /* Our CR4 defines conflict with BSD header */
28 #undef	CR4_VME
29 #undef	CR4_PVI
30 #undef	CR4_TSD
31 #undef	CR4_DE
32 #undef	CR4_PSE
33 #undef	CR4_PAE
34 #undef	CR4_MCE
35 #undef	CR4_PGE
36 #undef	CR4_PCE
37 #undef	CR4_VMXE
38 #undef	CR4_SMEP
39 #undef	CR4_SMAP
40 #undef	CR4_PKE
41 #undef	CR4_FSGSBASE
42 #undef	CR4_PCIDE
43 #endif /* _SYS_CONTROLREGS_H */
44 
45 #ifdef _SYS_X86_ARCHEXT_H
46 /* Our IA32 speculation-related defines conflict with BSD header */
47 #undef	IA32_ARCH_CAP_RDCL_NO
48 #undef	IA32_ARCH_CAP_IBRS_ALL
49 #undef	IA32_ARCH_CAP_RSBA
50 #undef	IA32_ARCH_CAP_SKIP_L1DFL_VMENTRY
51 #undef	IA32_ARCH_CAP_SSB_NO
52 #undef	IA32_ARCH_CAP_MDS_NO
53 #undef	IA32_SPEC_CTRL_IBRS
54 #undef	IA32_SPEC_CTRL_STIBP
55 #undef	IA32_SPEC_CTRL_SSBD
56 #undef	IA32_FLUSH_CMD_L1D
57 #undef	MSR_IA32_SPEC_CTRL
58 #undef	MSR_IA32_PRED_CMD
59 #endif /* _SYS_X86_ARCHEXT_H */
60 
61 #include <x86/specialreg.h>
62 #endif /* _COMPAT_FREEBSD_AMD64_MACHINE_SPECIALREG_H_ */
63