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 #undef	CR4_UMIP
44 #undef	CR4_LA57
45 #endif /* _SYS_CONTROLREGS_H */
46 
47 #ifdef _SYS_X86_ARCHEXT_H
48 /* Our IA32 speculation-related defines conflict with BSD header */
49 #undef	IA32_ARCH_CAP_RDCL_NO
50 #undef	IA32_ARCH_CAP_IBRS_ALL
51 #undef	IA32_ARCH_CAP_RSBA
52 #undef	IA32_ARCH_CAP_SKIP_L1DFL_VMENTRY
53 #undef	IA32_ARCH_CAP_SSB_NO
54 #undef	IA32_ARCH_CAP_MDS_NO
55 #undef	IA32_ARCH_CAP_IF_PSCHANGE_MC_NO
56 #undef	IA32_ARCH_CAP_TSX_CTRL
57 #undef	IA32_ARCH_CAP_TAA_NO
58 #undef	IA32_FLUSH_CMD_L1D
59 #undef	IA32_SPEC_CTRL_IBRS
60 #undef	IA32_SPEC_CTRL_STIBP
61 #undef	IA32_SPEC_CTRL_SSBD
62 #undef	IA32_TSX_CTRL_RTM_DISABLE
63 #undef	IA32_TSX_CTRL_TSX_CPUID_CLEAR
64 #undef	MSR_IA32_SPEC_CTRL
65 #undef	MSR_IA32_PRED_CMD
66 #endif /* _SYS_X86_ARCHEXT_H */
67 
68 #include <x86/specialreg.h>
69 #endif /* _COMPAT_FREEBSD_AMD64_MACHINE_SPECIALREG_H_ */
70