xref: /freebsd/sys/amd64/conf/NOTES (revision 2f721943bf20e53b0ba7b5032a2900d0beb67413)
1b132d96eSPeter Wemm#
2b132d96eSPeter Wemm# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
3b132d96eSPeter Wemm#
4b132d96eSPeter Wemm# This file contains machine dependent kernel configuration notes.  For
51f38677bSJohn Baldwin# machine independent notes, look in /sys/conf/NOTES.  For notes shared
61f38677bSJohn Baldwin# with i386, look in /sys/x86/conf/NOTES.
732a31d0dSDavid E. O'Brien#
8b132d96eSPeter Wemm#
9b132d96eSPeter Wemm
101f38677bSJohn Baldwin# GCOV (code coverage) support
119e3e64e7SKonstantin Belousov
121f38677bSJohn Baldwinoptions 	LINDEBUGFS
131f38677bSJohn Baldwinoptions 	GCOV
144f4d15f0SRuslan Bukin
1532a31d0dSDavid E. O'Brien
165b9bfb42SDavid E. O'Brien#####################################################################
175b9bfb42SDavid E. O'Brien# SMP OPTIONS:
185b9bfb42SDavid E. O'Brien
195b9bfb42SDavid E. O'Brien# Optional:
2042044ceeSDavid E. O'Briendevice		atpic			# Optional legacy pic support
2184883913SDavid E. O'Briendevice		mptable			# Optional MPSPEC mptable support
225b9bfb42SDavid E. O'Brien
235b9bfb42SDavid E. O'Brien
245b9bfb42SDavid E. O'Brien#####################################################################
255b9bfb42SDavid E. O'Brien# CPU OPTIONS
265b9bfb42SDavid E. O'Brien
275b9bfb42SDavid E. O'Brien#
285b9bfb42SDavid E. O'Brien# You must specify at least one CPU (the one you intend to run on);
295b9bfb42SDavid E. O'Brien# deleting the specification for CPUs you don't need to use may make
305b9bfb42SDavid E. O'Brien# parts of the system run faster.
315b9bfb42SDavid E. O'Brien#
325b9bfb42SDavid E. O'Briencpu		HAMMER			# aka K8, aka Opteron & Athlon64
335b9bfb42SDavid E. O'Brien
345b9bfb42SDavid E. O'Brien#
355b9bfb42SDavid E. O'Brien# Options for CPU features.
365b9bfb42SDavid E. O'Brien#
37b132d96eSPeter Wemm
38b132d96eSPeter Wemm
39b132d96eSPeter Wemm#####################################################################
40b132d96eSPeter Wemm# HARDWARE DEVICE CONFIGURATION
41b132d96eSPeter Wemm
42b132d96eSPeter Wemm#
43b132d96eSPeter Wemm# Optional devices:
44b132d96eSPeter Wemm#
45b132d96eSPeter Wemm
46ccbb7b5eSEd Maste# vt(4) drivers.
47ccbb7b5eSEd Mastedevice		vt_efifb	# EFI framebuffer
48372c7337SXin LI
495b9bfb42SDavid E. O'Brien# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
505b9bfb42SDavid E. O'Brien# the /dev/3dfx0 device to work with glide implementations.  This should get
515b9bfb42SDavid E. O'Brien# linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
525b9bfb42SDavid E. O'Brien# the tdfx DRI module from XFree86 and is completely unrelated.
535b9bfb42SDavid E. O'Brien#
545b9bfb42SDavid E. O'Brien
555b9bfb42SDavid E. O'Briendevice		tdfx			# Enable 3Dfx Voodoo support
565b9bfb42SDavid E. O'Brien
57b132d96eSPeter Wemm#
581f38677bSJohn Baldwin# RAID adapters
59b132d96eSPeter Wemm#
60b132d96eSPeter Wemm
615b9bfb42SDavid E. O'Brien#XXX this stores pointers in a 32bit field that is defined by the hardware
625b9bfb42SDavid E. O'Brien#device	pst
63b132d96eSPeter Wemm
64b132d96eSPeter Wemm#
6514ec0f3aSSean Bruno# Microsemi smartpqi controllers.
6614ec0f3aSSean Bruno# These controllers have a SCSI-like interface, and require the
6714ec0f3aSSean Bruno# CAM infrastructure.
6814ec0f3aSSean Bruno#
6914ec0f3aSSean Brunodevice		smartpqi
7014ec0f3aSSean Bruno
71*2f721943SWarner Losh# Broadcom MPT Fusion, version 4, is 64-bit only
72*2f721943SWarner Loshdevice		mpi3mr			# LSI-Logic MPT-Fusion 4
73*2f721943SWarner Losh
7414ec0f3aSSean Bruno#
751f38677bSJohn Baldwin# Network interfaces:
76b132d96eSPeter Wemm#
7781966bceSXin LI
781f38677bSJohn Baldwin# axp: AMD EPYC integrated NIC
791f38677bSJohn Baldwin#	Requires the miibus module
801f38677bSJohn Baldwin# ice:	Intel 800 Series Physical Function
811f38677bSJohn Baldwin#	Requires the ice_ddp module for full functionality
821f38677bSJohn Baldwin# irdma: Intel 800 Series RDMA driver
831f38677bSJohn Baldwin#        Requires the ice module
841f38677bSJohn Baldwin# qlxgb: QLogic 3200 and 8200 series 10 Gigabit Ethernet & CNA Adapter
851f38677bSJohn Baldwin# qlxgbe: QLogic 8300 series 10 Gigabit Ethernet & CNA Adapter
861f38677bSJohn Baldwin# qlxge: QLogic 8100 series 10 Gigabit Ethernet & CNA Adapter
871f38677bSJohn Baldwin# qlnxe: Cavium QLogic 41000/45000 series 10/25/40/100 Gigabit Ethernet & CNA Adapter
881f38677bSJohn Baldwin# sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters
8980a11093SPeter Wemm
901f38677bSJohn Baldwindevice		axp		# AMD EPYC integrated NIC
911f38677bSJohn Baldwindevice		ixl		# Intel 700 Series Physical Function
921f38677bSJohn Baldwindevice		iavf		# Intel Adaptive Virtual Function
931f38677bSJohn Baldwindevice		ice		# Intel 800 Series Physical Function
941f38677bSJohn Baldwindevice		ice_ddp		# Intel 800 Series DDP Package
951f38677bSJohn Baldwindevice		irdma		# Intel 800 Series RDMA driver
961f38677bSJohn Baldwindevice		qlxgb		# QLogic 3200/8200 Ethernet
971f38677bSJohn Baldwindevice		qlxgbe		# QLogic 8300 Ethernet
981f38677bSJohn Baldwindevice		qlxge		# QLogic 8100 Ethernet
991f38677bSJohn Baldwindevice		qlnxe		# QLogic 41000/45000 Ethernet
1001f38677bSJohn Baldwindevice		sfxge		# Solarflare SFC9000 10Gb Ethernet
10169eb2b17SGleb Smirnoff
102b132d96eSPeter Wemm#####################################################################
103b132d96eSPeter Wemm
104b132d96eSPeter Wemm#
105b132d96eSPeter Wemm# Miscellaneous hardware:
106b132d96eSPeter Wemm#
107b132d96eSPeter Wemm
108e974f91cSConrad Meyerdevice		ioat		# Intel I/OAT DMA engine
109c4ce3ea6SWojciech A. Koszek
110164138e7SKyle Evans# EFI Runtime Services support
111bc3ad3a1SKonstantin Belousovoptions 	EFIRT
112bc3ad3a1SKonstantin Belousov
113bfd2ce2aSStephen J. Kiernan# EFI pseudo-device
114bfd2ce2aSStephen J. Kiernandevice		efidev
115bfd2ce2aSStephen J. Kiernan
116bfd2ce2aSStephen J. Kiernan# EFI RTC
117bfd2ce2aSStephen J. Kiernandevice		efirtc
118bfd2ce2aSStephen J. Kiernan
1190f0379faSVladimir Kondratyev#
1201f38677bSJohn Baldwin# Intel QuickAssist driver with OpenCrypto support
1210f0379faSVladimir Kondratyev#
1221f38677bSJohn Baldwin# Only for legacy Atom C2XXX chipsets.
1231f38677bSJohn Baldwindevice		qat_c2xxx
1241f38677bSJohn Baldwin
1251f38677bSJohn Baldwin# Xen HVM Guest Optimizations
1261f38677bSJohn Baldwinoptions 	XENHVM		# Xen HVM kernel infrastructure
1271f38677bSJohn Baldwindevice		xenefi		# Xen EFI timer device
1281f38677bSJohn Baldwindevice 		xenpci		# Xen HVM Hypervisor services driver
1291f38677bSJohn Baldwindevice		xentimer	# Xen x86 PV timer device
1300f0379faSVladimir Kondratyev
131b132d96eSPeter Wemm#####################################################################
132b132d96eSPeter Wemm# ABI Emulation
133b132d96eSPeter Wemm
134c680f6b1SDavid E. O'Brien# Enable 32-bit runtime support for FreeBSD/i386 binaries.
135841c0c7eSNathan Whitehornoptions 	COMPAT_FREEBSD32
136c680f6b1SDavid E. O'Brien
137c507c512SBruce Evans# Enable (32-bit) a.out binary support
138c507c512SBruce Evansoptions 	COMPAT_AOUT
139c507c512SBruce Evans
140b132d96eSPeter Wemm#####################################################################
141f1bac7bbSMatt Macy# ZFS support
142f1bac7bbSMatt Macy
143fb702b44SMatt Macy# NB: This depends on crypto, cryptodev and ZSTDIO
144f1bac7bbSMatt Macyoptions 	ZFS
145f1bac7bbSMatt Macy
146f1bac7bbSMatt Macy#####################################################################
147b132d96eSPeter Wemm# VM OPTIONS
148b132d96eSPeter Wemm
149b620daf6SJohn Baldwin#
150b620daf6SJohn Baldwin# Number of initial kernel page table pages used for early bootstrap.
151b620daf6SJohn Baldwin# This number should include enough pages to map the kernel and any
152b620daf6SJohn Baldwin# modules or other data loaded with the kernel by the loader.  Each
153b620daf6SJohn Baldwin# page table page maps 2MB.
154b620daf6SJohn Baldwin#
155b620daf6SJohn Baldwinoptions 	NKPT=31
156b620daf6SJohn Baldwin
157b132d96eSPeter Wemm# KSTACK_PAGES is the number of memory pages to assign to the kernel
158b132d96eSPeter Wemm# stack of each thread.
159b132d96eSPeter Wemm
160136882cfSAndriy Gaponoptions 	KSTACK_PAGES=5
161b132d96eSPeter Wemm
1625d4c773bSAlan Cox# Enable detailed accounting by the PV entry allocator.
1635d4c773bSAlan Cox
1645d4c773bSAlan Coxoptions 	PV_STATS
1654f8f9d70SLexi Winter
1664f8f9d70SLexi Winter#####################################################################
1674f8f9d70SLexi Winter# Kernel sanitizers
1684f8f9d70SLexi Winter
1694f8f9d70SLexi Winter#options	COVERAGE		# Generic kernel coverage. Used by KCOV
1704f8f9d70SLexi Winter#options	KCOV			# Kernel Coverage Sanitizer
1714f8f9d70SLexi Winter# Warning: KUBSAN can result in a kernel too large for loader to load
1724f8f9d70SLexi Winter#options	KUBSAN			# Kernel Undefined Behavior Sanitizer
1734f8f9d70SLexi Winter#options	KCSAN			# Kernel Concurrency Sanitizer
1744f8f9d70SLexi Winter#options	KASAN			# Kernel Address Sanitizer
1754f8f9d70SLexi Winter#options	KCSAN			# Kernel Concurrency Sanitizer
1764f8f9d70SLexi Winter#options	KMSAN			# Kernel Memory Sanitizer
177