files.amd64 revision 1.120
11.120Schristos#	$NetBSD: files.amd64,v 1.120 2020/10/21 13:31:51 christos 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.52Sjoerg# The PHYSMEM_MAX_{SIZE,ADDR} optionms
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.1Sfvdl#
241.1Sfvdl# XXX these are just here at the moment so that we can share files
251.1Sfvdl# with the i386 (they include the opt_*.h for these)
261.1Sfvdl#
271.1Sfvdl
281.1Sfvdldefflag			USER_LDT
291.108Schristosdefflag eisa.h		EISA
301.1Sfvdl
311.87Suebayasi# Start code
321.87Suebayasifile	arch/amd64/amd64/locore.S		machdep
331.87Suebayasifile	arch/amd64/amd64/vector.S		machdep
341.87Suebayasifile	arch/amd64/amd64/copy.S			machdep
351.87Suebayasifile	arch/amd64/amd64/spl.S			machdep
361.87Suebayasi
371.101Smaxvfile	arch/amd64/amd64/amd64_trap.S		machdep
381.116Sbouyerfile	arch/amd64/amd64/autoconf.c		machdep & !xenpv
391.84Suebayasifile	arch/amd64/amd64/busfunc.S		machdep
401.57Sjoergfile	arch/amd64/amd64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
411.84Suebayasifile	arch/amd64/amd64/cpufunc.S		machdep
421.1Sfvdlfile	arch/amd64/amd64/db_disasm.c		ddb
431.72Schristosfile	arch/amd64/amd64/db_interface.c		ddb
441.72Schristosfile	arch/amd64/amd64/db_machdep.c		ddb
451.53Sadfile	arch/amd64/amd64/kobj_machdep.c		modular
461.5Sfvdlfile	kern/subr_disk_mbr.c			disk
471.84Suebayasifile	arch/amd64/amd64/gdt.c			machdep
481.84Suebayasifile	arch/amd64/amd64/machdep.c		machdep
491.97Smaxvfile	arch/amd64/amd64/prekern.c		kaslr
501.120Schristosfile	arch/amd64/amd64/process_machdep.c	machdep
511.84Suebayasifile	arch/amd64/amd64/trap.c			machdep
521.84Suebayasifile	arch/x86/x86/fpu.c			machdep
531.88Skamilfile	arch/x86/x86/dbregs.c			machdep
541.117Smgornyfile	arch/x86/x86/convert_xmm_s87.c		machdep
551.116Sbouyerfile	arch/x86/x86/spectre.c			machdep & !xenpv
561.84Suebayasifile	arch/amd64/amd64/lock_stubs.S		machdep
571.84Suebayasifile	dev/cons.c				machdep
581.1Sfvdl
591.116Sbouyerfile	arch/amd64/amd64/mptramp.S        multiprocessor & !xenpv
601.1Sfvdl
611.1Sfvdl#
621.79Salnsn# Stack-less Just-In-Time compiler
631.79Salnsn#
641.79Salnsn
651.79Salnsninclude	"external/bsd/sljit/conf/files.sljit"
661.79Salnsn
671.79Salnsn#
681.1Sfvdl# Machine-independent SCSI drivers
691.1Sfvdl#
701.1Sfvdl
711.1Sfvdlinclude	"dev/scsipi/files.scsipi"
721.1Sfvdl
731.1Sfvdl#
741.1Sfvdl# Machine-independent ATA drivers
751.1Sfvdl#
761.1Sfvdl
771.1Sfvdlinclude	"dev/ata/files.ata"
781.1Sfvdl
791.1Sfvdl# Memory Disk for install floppy
801.1Sfvdlfile	dev/md_root.c			memory_disk_hooks
811.1Sfvdl
821.1Sfvdl#
831.1Sfvdl# Machine-independent I2O drivers
841.1Sfvdl#
851.1Sfvdl
861.1Sfvdlinclude	"dev/i2o/files.i2o"
871.1Sfvdl
881.1Sfvdl#
891.1Sfvdl# System bus types
901.1Sfvdl#
911.1Sfvdl
921.1Sfvdl# XXX BIOS32 only if something that uses it is configured!
931.116Sbouyerdevice	mainbus: isabus, pcibus, bios32, acpibus, cpubus, ioapicbus,
941.116Sbouyer	ipmibus, hypervisorbus
951.1Sfvdlattach	mainbus at root
961.116Sbouyerfile	arch/amd64/amd64/amd64_mainbus.c	mainbus & !xenpv
971.110Scherryfile	arch/x86/x86/mainbus.c			mainbus
981.1Sfvdl
991.1Sfvdl#
1001.1Sfvdl# PCI-only drivers
1011.1Sfvdl# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
1021.1Sfvdl# XXX devices to 'pci'.
1031.1Sfvdl#
1041.1Sfvdl
1051.1Sfvdlinclude	"dev/pci/files.pci"
1061.1Sfvdldefparam			PCI_CONF_MODE
1071.30Schristosinclude "dev/pci/files.agp"
1081.1Sfvdl
1091.47Sxtraeme# x86 specific PCI hardware
1101.47Sxtraemeinclude "arch/x86/pci/files.pci"
1111.1Sfvdl
1121.1Sfvdl#
1131.1Sfvdl# ISA or ISA+PCI drivers
1141.1Sfvdl#
1151.1Sfvdl
1161.1Sfvdlinclude	"dev/isa/files.isa"
1171.1Sfvdl
1181.1Sfvdl# attribute used to represent the "keyboard controller"
1191.1Sfvdl# XXX should be a real device
1201.1Sfvdldefine	pckbcport { [irq = -1], [port = -1] }
1211.1Sfvdl
1221.9Sbjh21include	"dev/pckbport/files.pckbport"
1231.1Sfvdl
1241.1Sfvdldevice	sysbeep
1251.1Sfvdlattach	sysbeep at pcppi
1261.1Sfvdl
1271.1Sfvdl# Floppy disk controller
1281.1Sfvdldevice	fdc {drive = -1}: isadma
1291.1Sfvdlfile	dev/isa/fd.c				fdc needs-flag
1301.1Sfvdl
1311.1Sfvdlattach	fdc at isa with fdc_isa
1321.1Sfvdlfile	dev/isa/fdc_isa.c			fdc_isa
1331.1Sfvdl
1341.1Sfvdldevice	fd: disk
1351.1Sfvdlattach	fd at fdc
1361.1Sfvdl
1371.1Sfvdl#
1381.1Sfvdl# Compatibility modules
1391.1Sfvdl#
1401.85Schristos# Binary compatibility with previous NetBSD releases (COMPAT_XX)
1411.96Schristosfile	arch/amd64/amd64/compat_13_machdep.c	compat_13
1421.86Schristosfile	arch/amd64/amd64/compat_16_machdep.c	compat_16
1431.1Sfvdl
1441.1Sfvdl# NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32)
1451.1Sfvdlinclude "compat/netbsd32/files.netbsd32"
1461.1Sfvdlfile	arch/amd64/amd64/netbsd32_machdep.c	compat_netbsd32
1471.111Spgoyettefile	arch/amd64/amd64/netbsd32_machdep_13.c	compat_netbsd32 & compat_13
1481.111Spgoyettefile	arch/amd64/amd64/netbsd32_machdep_16.c	compat_netbsd32 & compat_16
1491.11Sdrochnerfile	arch/amd64/amd64/netbsd32_sigcode.S	compat_netbsd32 & compat_16
1501.1Sfvdlfile	arch/amd64/amd64/netbsd32_syscall.c	compat_netbsd32
1511.1Sfvdl
1521.15Sfvdl# Linux compatibility (COMPAT_LINUX)
1531.15Sfvdlinclude "compat/linux/files.linux"
1541.15Sfvdlinclude "compat/linux/arch/amd64/files.linux_amd64"
1551.15Sfvdlfile	arch/amd64/amd64/linux_sigcode.S		compat_linux
1561.15Sfvdlfile	arch/amd64/amd64/linux_syscall.c		compat_linux
1571.16Sfvdlfile	arch/x86/x86/linux_trap.c			compat_linux
1581.15Sfvdl
1591.20Smanu# Linux 32 bit compatibility (COMPAT_LINUX32)
1601.20Smanuinclude "compat/linux32/files.linux32"
1611.20Smanuinclude "compat/linux32/arch/amd64/files.linux32_amd64"
1621.20Smanufile	arch/amd64/amd64/linux32_sigcode.S		compat_linux32
1631.20Smanufile	arch/amd64/amd64/linux32_syscall.c		compat_linux32
1641.20Smanu
1651.1Sfvdl# OSS audio driver compatibility
1661.1Sfvdlinclude	"compat/ossaudio/files.ossaudio"
1671.1Sfvdl
1681.19Srjs#
1691.19Srjs# CARDBUS
1701.19Srjs#
1711.19Srjsinclude	"dev/cardbus/files.cardbus"
1721.19Srjsfile	arch/amd64/amd64/rbus_machdep.c	cardbus
1731.19Srjs
1741.19Srjs# this wants to be probed as late as possible.
1751.19Srjs#
1761.19Srjs# Machine-independent PCMCIA drivers
1771.19Srjs#
1781.19Srjsinclude	"dev/pcmcia/files.pcmcia"
1791.19Srjs
1801.1Sfvdlinclude	"dev/usb/files.usb"
1811.1Sfvdl
1821.29Splunkyinclude "dev/bluetooth/files.bluetooth"
1831.29Splunky
1841.67Snonakainclude "dev/sdmmc/files.sdmmc"
1851.67Snonaka
1861.67Snonakainclude "dev/ieee1394/files.ieee1394"
1871.24Schristosinclude "dev/apm/files.apm"
1881.3Sfvdlinclude "dev/acpi/files.acpi"
1891.116Sbouyerfile	arch/amd64/acpi/acpi_wakeup_low.S	acpi & !xenpv
1901.1Sfvdl
1911.112Snonaka# Microsoft Hyper-V
1921.112Snonakainclude "dev/hyperv/files.hyperv"
1931.112Snonaka
1941.112Snonakaattach	vmbus at acpinodebus with vmbus_acpi
1951.112Snonakafile	dev/acpi/vmbus_acpi.c			vmbus_acpi
1961.112Snonaka
1971.1Sfvdlinclude	"arch/amd64/conf/majors.amd64"
198