1#         $NetBSD: files.amd64,v 1.124 2025/01/02 10:34:33 imil 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, pvbus
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
203# PVbus support
204include "arch/x86/pv/files.pv"
205
206include   "arch/amd64/conf/majors.amd64"
207