files.amd64 revision 1.123
11.123Sandvar#	$NetBSD: files.amd64,v 1.123 2024/02/23 22:10:39 andvar Exp $
21.1Sfvdl#
31.1Sfvdl# new style config file for amd64 architecture
41.1Sfvdl#
51.1Sfvdl
61.1Sfvdl# maxpartitions must be first item in files.${ARCH}.newconf
71.1Sfvdlmaxpartitions 16
81.1Sfvdl
91.1Sfvdlmaxusers 2 16 128
101.1Sfvdl
111.1Sfvdl# delay before cpu_reset() for reboot.
121.1Sfvdldefparam		CPURESET_DELAY
131.1Sfvdl
141.1Sfvdl# The REAL{BASE,EXT}MEM options
151.1Sfvdldefparam opt_realmem.h	REALBASEMEM REALEXTMEM
161.1Sfvdl
171.123Sandvar# The PHYSMEM_MAX_{SIZE,ADDR} options
181.52Sjoergdefparam opt_physmem.h	PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE
191.52Sjoerg
201.102Smrg# Enable GCC spectre V2 mitigation options
211.102Smrgdefflag opt_spectre.h	SPECTRE_V2_GCC_MITIGATION
221.102Smrg
231.121Smanu# Enable kernel self-relocation at bootstrap
241.121Smanudefflag opt_selfreloc.h SELFRELOC
251.121Smanu
261.1Sfvdl#
271.1Sfvdl# XXX these are just here at the moment so that we can share files
281.1Sfvdl# with the i386 (they include the opt_*.h for these)
291.1Sfvdl#
301.1Sfvdl
311.1Sfvdldefflag			USER_LDT
321.108Schristosdefflag eisa.h		EISA
331.1Sfvdl
341.87Suebayasi# Start code
351.87Suebayasifile	arch/amd64/amd64/locore.S		machdep
361.87Suebayasifile	arch/amd64/amd64/vector.S		machdep
371.87Suebayasifile	arch/amd64/amd64/copy.S			machdep
381.87Suebayasifile	arch/amd64/amd64/spl.S			machdep
391.87Suebayasi
401.101Smaxvfile	arch/amd64/amd64/amd64_trap.S		machdep
411.116Sbouyerfile	arch/amd64/amd64/autoconf.c		machdep & !xenpv
421.84Suebayasifile	arch/amd64/amd64/busfunc.S		machdep
431.57Sjoergfile	arch/amd64/amd64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
441.84Suebayasifile	arch/amd64/amd64/cpufunc.S		machdep
451.1Sfvdlfile	arch/amd64/amd64/db_disasm.c		ddb
461.72Schristosfile	arch/amd64/amd64/db_interface.c		ddb
471.72Schristosfile	arch/amd64/amd64/db_machdep.c		ddb
481.53Sadfile	arch/amd64/amd64/kobj_machdep.c		modular
491.5Sfvdlfile	kern/subr_disk_mbr.c			disk
501.84Suebayasifile	arch/amd64/amd64/gdt.c			machdep
511.84Suebayasifile	arch/amd64/amd64/machdep.c		machdep
521.97Smaxvfile	arch/amd64/amd64/prekern.c		kaslr
531.120Schristosfile	arch/amd64/amd64/process_machdep.c	machdep
541.84Suebayasifile	arch/amd64/amd64/trap.c			machdep
551.84Suebayasifile	arch/x86/x86/fpu.c			machdep
561.88Skamilfile	arch/x86/x86/dbregs.c			machdep
571.117Smgornyfile	arch/x86/x86/convert_xmm_s87.c		machdep
581.116Sbouyerfile	arch/x86/x86/spectre.c			machdep & !xenpv
591.84Suebayasifile	arch/amd64/amd64/lock_stubs.S		machdep
601.84Suebayasifile	dev/cons.c				machdep
611.1Sfvdl
621.116Sbouyerfile	arch/amd64/amd64/mptramp.S        multiprocessor & !xenpv
631.1Sfvdl
641.1Sfvdl#
651.79Salnsn# Stack-less Just-In-Time compiler
661.79Salnsn#
671.79Salnsn
681.79Salnsninclude	"external/bsd/sljit/conf/files.sljit"
691.79Salnsn
701.79Salnsn#
711.1Sfvdl# Machine-independent SCSI drivers
721.1Sfvdl#
731.1Sfvdl
741.1Sfvdlinclude	"dev/scsipi/files.scsipi"
751.1Sfvdl
761.1Sfvdl#
771.1Sfvdl# Machine-independent ATA drivers
781.1Sfvdl#
791.1Sfvdl
801.1Sfvdlinclude	"dev/ata/files.ata"
811.1Sfvdl
821.1Sfvdl# Memory Disk for install floppy
831.1Sfvdlfile	dev/md_root.c			memory_disk_hooks
841.1Sfvdl
851.1Sfvdl#
861.1Sfvdl# Machine-independent I2O drivers
871.1Sfvdl#
881.1Sfvdl
891.1Sfvdlinclude	"dev/i2o/files.i2o"
901.1Sfvdl
911.1Sfvdl#
921.1Sfvdl# System bus types
931.1Sfvdl#
941.1Sfvdl
951.1Sfvdl# XXX BIOS32 only if something that uses it is configured!
961.116Sbouyerdevice	mainbus: isabus, pcibus, bios32, acpibus, cpubus, ioapicbus,
971.116Sbouyer	ipmibus, hypervisorbus
981.1Sfvdlattach	mainbus at root
991.116Sbouyerfile	arch/amd64/amd64/amd64_mainbus.c	mainbus & !xenpv
1001.110Scherryfile	arch/x86/x86/mainbus.c			mainbus
1011.1Sfvdl
1021.1Sfvdl#
1031.1Sfvdl# PCI-only drivers
1041.1Sfvdl# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
1051.1Sfvdl# XXX devices to 'pci'.
1061.1Sfvdl#
1071.1Sfvdl
1081.1Sfvdlinclude	"dev/pci/files.pci"
1091.1Sfvdldefparam			PCI_CONF_MODE
1101.30Schristosinclude "dev/pci/files.agp"
1111.1Sfvdl
1121.47Sxtraeme# x86 specific PCI hardware
1131.47Sxtraemeinclude "arch/x86/pci/files.pci"
1141.1Sfvdl
1151.1Sfvdl#
1161.1Sfvdl# ISA or ISA+PCI drivers
1171.1Sfvdl#
1181.1Sfvdl
1191.1Sfvdlinclude	"dev/isa/files.isa"
1201.1Sfvdl
1211.1Sfvdl# attribute used to represent the "keyboard controller"
1221.1Sfvdl# XXX should be a real device
1231.1Sfvdldefine	pckbcport { [irq = -1], [port = -1] }
1241.1Sfvdl
1251.9Sbjh21include	"dev/pckbport/files.pckbport"
1261.1Sfvdl
1271.1Sfvdldevice	sysbeep
1281.1Sfvdlattach	sysbeep at pcppi
1291.1Sfvdl
1301.1Sfvdl# Floppy disk controller
1311.1Sfvdldevice	fdc {drive = -1}: isadma
1321.1Sfvdlfile	dev/isa/fd.c				fdc needs-flag
1331.1Sfvdl
1341.1Sfvdlattach	fdc at isa with fdc_isa
1351.1Sfvdlfile	dev/isa/fdc_isa.c			fdc_isa
1361.1Sfvdl
1371.1Sfvdldevice	fd: disk
1381.1Sfvdlattach	fd at fdc
1391.1Sfvdl
1401.1Sfvdl#
1411.1Sfvdl# Compatibility modules
1421.1Sfvdl#
1431.85Schristos# Binary compatibility with previous NetBSD releases (COMPAT_XX)
1441.96Schristosfile	arch/amd64/amd64/compat_13_machdep.c	compat_13
1451.86Schristosfile	arch/amd64/amd64/compat_16_machdep.c	compat_16
1461.1Sfvdl
1471.1Sfvdl# NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32)
1481.1Sfvdlinclude "compat/netbsd32/files.netbsd32"
1491.1Sfvdlfile	arch/amd64/amd64/netbsd32_machdep.c	compat_netbsd32
1501.111Spgoyettefile	arch/amd64/amd64/netbsd32_machdep_13.c	compat_netbsd32 & compat_13
1511.111Spgoyettefile	arch/amd64/amd64/netbsd32_machdep_16.c	compat_netbsd32 & compat_16
1521.11Sdrochnerfile	arch/amd64/amd64/netbsd32_sigcode.S	compat_netbsd32 & compat_16
1531.1Sfvdlfile	arch/amd64/amd64/netbsd32_syscall.c	compat_netbsd32
1541.1Sfvdl
1551.15Sfvdl# Linux compatibility (COMPAT_LINUX)
1561.15Sfvdlinclude "compat/linux/files.linux"
1571.15Sfvdlinclude "compat/linux/arch/amd64/files.linux_amd64"
1581.15Sfvdlfile	arch/amd64/amd64/linux_sigcode.S		compat_linux
1591.15Sfvdlfile	arch/amd64/amd64/linux_syscall.c		compat_linux
1601.16Sfvdlfile	arch/x86/x86/linux_trap.c			compat_linux
1611.15Sfvdl
1621.20Smanu# Linux 32 bit compatibility (COMPAT_LINUX32)
1631.20Smanuinclude "compat/linux32/files.linux32"
1641.20Smanuinclude "compat/linux32/arch/amd64/files.linux32_amd64"
1651.20Smanufile	arch/amd64/amd64/linux32_sigcode.S		compat_linux32
1661.20Smanufile	arch/amd64/amd64/linux32_syscall.c		compat_linux32
1671.20Smanu
1681.1Sfvdl# OSS audio driver compatibility
1691.1Sfvdlinclude	"compat/ossaudio/files.ossaudio"
1701.1Sfvdl
1711.19Srjs#
1721.19Srjs# CARDBUS
1731.19Srjs#
1741.19Srjsinclude	"dev/cardbus/files.cardbus"
1751.19Srjsfile	arch/amd64/amd64/rbus_machdep.c	cardbus
1761.19Srjs
1771.19Srjs# this wants to be probed as late as possible.
1781.19Srjs#
1791.19Srjs# Machine-independent PCMCIA drivers
1801.19Srjs#
1811.19Srjsinclude	"dev/pcmcia/files.pcmcia"
1821.19Srjs
1831.1Sfvdlinclude	"dev/usb/files.usb"
1841.1Sfvdl
1851.29Splunkyinclude "dev/bluetooth/files.bluetooth"
1861.29Splunky
1871.67Snonakainclude "dev/sdmmc/files.sdmmc"
1881.67Snonaka
1891.67Snonakainclude "dev/ieee1394/files.ieee1394"
1901.24Schristosinclude "dev/apm/files.apm"
1911.3Sfvdlinclude "dev/acpi/files.acpi"
1921.116Sbouyerfile	arch/amd64/acpi/acpi_wakeup_low.S	acpi & !xenpv
1931.1Sfvdl
1941.112Snonaka# Microsoft Hyper-V
1951.112Snonakainclude "dev/hyperv/files.hyperv"
1961.112Snonaka
1971.112Snonakaattach	vmbus at acpinodebus with vmbus_acpi
1981.112Snonakafile	dev/acpi/vmbus_acpi.c			vmbus_acpi
1991.112Snonaka
2001.122Sthorpej# VMEbus support
2011.122Sthorpejinclude "dev/vme/files.vme"
2021.122Sthorpej
2031.1Sfvdlinclude	"arch/amd64/conf/majors.amd64"
204