1#	$NetBSD: files.amd64,v 1.123 2024/02/23 22:10:39 andvar Exp $
2#
3# new style config file for amd64 architecture
4#
5
6# maxpartitions must be first item in files.${ARCH}.newconf
7maxpartitions 16
8
9maxusers 2 16 128
10
11# delay before cpu_reset() for reboot.
12defparam		CPURESET_DELAY
13
14# The REAL{BASE,EXT}MEM options
15defparam opt_realmem.h	REALBASEMEM REALEXTMEM
16
17# The PHYSMEM_MAX_{SIZE,ADDR} options
18defparam opt_physmem.h	PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE
19
20# Enable GCC spectre V2 mitigation options
21defflag opt_spectre.h	SPECTRE_V2_GCC_MITIGATION
22
23# Enable kernel self-relocation at bootstrap
24defflag opt_selfreloc.h SELFRELOC
25
26#
27# XXX these are just here at the moment so that we can share files
28# with the i386 (they include the opt_*.h for these)
29#
30
31defflag			USER_LDT
32defflag eisa.h		EISA
33
34# Start code
35file	arch/amd64/amd64/locore.S		machdep
36file	arch/amd64/amd64/vector.S		machdep
37file	arch/amd64/amd64/copy.S			machdep
38file	arch/amd64/amd64/spl.S			machdep
39
40file	arch/amd64/amd64/amd64_trap.S		machdep
41file	arch/amd64/amd64/autoconf.c		machdep & !xenpv
42file	arch/amd64/amd64/busfunc.S		machdep
43file	arch/amd64/amd64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
44file	arch/amd64/amd64/cpufunc.S		machdep
45file	arch/amd64/amd64/db_disasm.c		ddb
46file	arch/amd64/amd64/db_interface.c		ddb
47file	arch/amd64/amd64/db_machdep.c		ddb
48file	arch/amd64/amd64/kobj_machdep.c		modular
49file	kern/subr_disk_mbr.c			disk
50file	arch/amd64/amd64/gdt.c			machdep
51file	arch/amd64/amd64/machdep.c		machdep
52file	arch/amd64/amd64/prekern.c		kaslr
53file	arch/amd64/amd64/process_machdep.c	machdep
54file	arch/amd64/amd64/trap.c			machdep
55file	arch/x86/x86/fpu.c			machdep
56file	arch/x86/x86/dbregs.c			machdep
57file	arch/x86/x86/convert_xmm_s87.c		machdep
58file	arch/x86/x86/spectre.c			machdep & !xenpv
59file	arch/amd64/amd64/lock_stubs.S		machdep
60file	dev/cons.c				machdep
61
62file	arch/amd64/amd64/mptramp.S        multiprocessor & !xenpv
63
64#
65# Stack-less Just-In-Time compiler
66#
67
68include	"external/bsd/sljit/conf/files.sljit"
69
70#
71# Machine-independent SCSI drivers
72#
73
74include	"dev/scsipi/files.scsipi"
75
76#
77# Machine-independent ATA drivers
78#
79
80include	"dev/ata/files.ata"
81
82# Memory Disk for install floppy
83file	dev/md_root.c			memory_disk_hooks
84
85#
86# Machine-independent I2O drivers
87#
88
89include	"dev/i2o/files.i2o"
90
91#
92# System bus types
93#
94
95# XXX BIOS32 only if something that uses it is configured!
96device	mainbus: isabus, pcibus, bios32, acpibus, cpubus, ioapicbus,
97	ipmibus, hypervisorbus
98attach	mainbus at root
99file	arch/amd64/amd64/amd64_mainbus.c	mainbus & !xenpv
100file	arch/x86/x86/mainbus.c			mainbus
101
102#
103# PCI-only drivers
104# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
105# XXX devices to 'pci'.
106#
107
108include	"dev/pci/files.pci"
109defparam			PCI_CONF_MODE
110include "dev/pci/files.agp"
111
112# x86 specific PCI hardware
113include "arch/x86/pci/files.pci"
114
115#
116# ISA or ISA+PCI drivers
117#
118
119include	"dev/isa/files.isa"
120
121# attribute used to represent the "keyboard controller"
122# XXX should be a real device
123define	pckbcport { [irq = -1], [port = -1] }
124
125include	"dev/pckbport/files.pckbport"
126
127device	sysbeep
128attach	sysbeep at pcppi
129
130# Floppy disk controller
131device	fdc {drive = -1}: isadma
132file	dev/isa/fd.c				fdc needs-flag
133
134attach	fdc at isa with fdc_isa
135file	dev/isa/fdc_isa.c			fdc_isa
136
137device	fd: disk
138attach	fd at fdc
139
140#
141# Compatibility modules
142#
143# Binary compatibility with previous NetBSD releases (COMPAT_XX)
144file	arch/amd64/amd64/compat_13_machdep.c	compat_13
145file	arch/amd64/amd64/compat_16_machdep.c	compat_16
146
147# NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32)
148include "compat/netbsd32/files.netbsd32"
149file	arch/amd64/amd64/netbsd32_machdep.c	compat_netbsd32
150file	arch/amd64/amd64/netbsd32_machdep_13.c	compat_netbsd32 & compat_13
151file	arch/amd64/amd64/netbsd32_machdep_16.c	compat_netbsd32 & compat_16
152file	arch/amd64/amd64/netbsd32_sigcode.S	compat_netbsd32 & compat_16
153file	arch/amd64/amd64/netbsd32_syscall.c	compat_netbsd32
154
155# Linux compatibility (COMPAT_LINUX)
156include "compat/linux/files.linux"
157include "compat/linux/arch/amd64/files.linux_amd64"
158file	arch/amd64/amd64/linux_sigcode.S		compat_linux
159file	arch/amd64/amd64/linux_syscall.c		compat_linux
160file	arch/x86/x86/linux_trap.c			compat_linux
161
162# Linux 32 bit compatibility (COMPAT_LINUX32)
163include "compat/linux32/files.linux32"
164include "compat/linux32/arch/amd64/files.linux32_amd64"
165file	arch/amd64/amd64/linux32_sigcode.S		compat_linux32
166file	arch/amd64/amd64/linux32_syscall.c		compat_linux32
167
168# OSS audio driver compatibility
169include	"compat/ossaudio/files.ossaudio"
170
171#
172# CARDBUS
173#
174include	"dev/cardbus/files.cardbus"
175file	arch/amd64/amd64/rbus_machdep.c	cardbus
176
177# this wants to be probed as late as possible.
178#
179# Machine-independent PCMCIA drivers
180#
181include	"dev/pcmcia/files.pcmcia"
182
183include	"dev/usb/files.usb"
184
185include "dev/bluetooth/files.bluetooth"
186
187include "dev/sdmmc/files.sdmmc"
188
189include "dev/ieee1394/files.ieee1394"
190include "dev/apm/files.apm"
191include "dev/acpi/files.acpi"
192file	arch/amd64/acpi/acpi_wakeup_low.S	acpi & !xenpv
193
194# Microsoft Hyper-V
195include "dev/hyperv/files.hyperv"
196
197attach	vmbus at acpinodebus with vmbus_acpi
198file	dev/acpi/vmbus_acpi.c			vmbus_acpi
199
200# VMEbus support
201include "dev/vme/files.vme"
202
203include	"arch/amd64/conf/majors.amd64"
204