Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$NetBSD: files.amd64,v 1.121 2023/05/05 00:34:41 manu Exp $
#
# new style config file for amd64 architecture
#

# maxpartitions must be first item in files.${ARCH}.newconf
maxpartitions 16

maxusers 2 16 128

# delay before cpu_reset() for reboot.
defparam		CPURESET_DELAY

# The REAL{BASE,EXT}MEM options
defparam opt_realmem.h	REALBASEMEM REALEXTMEM

# The PHYSMEM_MAX_{SIZE,ADDR} optionms
defparam opt_physmem.h	PHYSMEM_MAX_ADDR PHYSMEM_MAX_SIZE

# Enable GCC spectre V2 mitigation options
defflag opt_spectre.h	SPECTRE_V2_GCC_MITIGATION

# Enable kernel self-relocation at bootstrap
defflag opt_selfreloc.h SELFRELOC

#
# XXX these are just here at the moment so that we can share files
# with the i386 (they include the opt_*.h for these)
#

defflag			USER_LDT
defflag eisa.h		EISA

# Start code
file	arch/amd64/amd64/locore.S		machdep
file	arch/amd64/amd64/vector.S		machdep
file	arch/amd64/amd64/copy.S			machdep
file	arch/amd64/amd64/spl.S			machdep

file	arch/amd64/amd64/amd64_trap.S		machdep
file	arch/amd64/amd64/autoconf.c		machdep & !xenpv
file	arch/amd64/amd64/busfunc.S		machdep
file	arch/amd64/amd64/cpu_in_cksum.S		(inet | inet6) & cpu_in_cksum
file	arch/amd64/amd64/cpufunc.S		machdep
file	arch/amd64/amd64/db_disasm.c		ddb
file	arch/amd64/amd64/db_interface.c		ddb
file	arch/amd64/amd64/db_machdep.c		ddb
file	arch/amd64/amd64/kobj_machdep.c		modular
file	kern/subr_disk_mbr.c			disk
file	arch/amd64/amd64/gdt.c			machdep
file	arch/amd64/amd64/machdep.c		machdep
file	arch/amd64/amd64/prekern.c		kaslr
file	arch/amd64/amd64/process_machdep.c	machdep
file	arch/amd64/amd64/trap.c			machdep
file	arch/x86/x86/fpu.c			machdep
file	arch/x86/x86/dbregs.c			machdep
file	arch/x86/x86/convert_xmm_s87.c		machdep
file	arch/x86/x86/spectre.c			machdep & !xenpv
file	arch/amd64/amd64/lock_stubs.S		machdep
file	dev/cons.c				machdep

file	arch/amd64/amd64/mptramp.S        multiprocessor & !xenpv

#
# Stack-less Just-In-Time compiler
#

include	"external/bsd/sljit/conf/files.sljit"

#
# Machine-independent SCSI drivers
#

include	"dev/scsipi/files.scsipi"

#
# Machine-independent ATA drivers
#

include	"dev/ata/files.ata"

# Memory Disk for install floppy
file	dev/md_root.c			memory_disk_hooks

#
# Machine-independent I2O drivers
#

include	"dev/i2o/files.i2o"

#
# System bus types
#

# XXX BIOS32 only if something that uses it is configured!
device	mainbus: isabus, pcibus, bios32, acpibus, cpubus, ioapicbus,
	ipmibus, hypervisorbus
attach	mainbus at root
file	arch/amd64/amd64/amd64_mainbus.c	mainbus & !xenpv
file	arch/x86/x86/mainbus.c			mainbus

#
# PCI-only drivers
# XXX MUST BE INCLUDED BEFORE files.isa, as long as files.isa attaches
# XXX devices to 'pci'.
#

include	"dev/pci/files.pci"
defparam			PCI_CONF_MODE
include "dev/pci/files.agp"

# x86 specific PCI hardware
include "arch/x86/pci/files.pci"

#
# ISA or ISA+PCI drivers
#

include	"dev/isa/files.isa"

# attribute used to represent the "keyboard controller"
# XXX should be a real device
define	pckbcport { [irq = -1], [port = -1] }

include	"dev/pckbport/files.pckbport"

device	sysbeep
attach	sysbeep at pcppi

# Floppy disk controller
device	fdc {drive = -1}: isadma
file	dev/isa/fd.c				fdc needs-flag

attach	fdc at isa with fdc_isa
file	dev/isa/fdc_isa.c			fdc_isa

device	fd: disk
attach	fd at fdc

#
# Compatibility modules
#
# Binary compatibility with previous NetBSD releases (COMPAT_XX)
file	arch/amd64/amd64/compat_13_machdep.c	compat_13
file	arch/amd64/amd64/compat_16_machdep.c	compat_16

# NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32)
include "compat/netbsd32/files.netbsd32"
file	arch/amd64/amd64/netbsd32_machdep.c	compat_netbsd32
file	arch/amd64/amd64/netbsd32_machdep_13.c	compat_netbsd32 & compat_13
file	arch/amd64/amd64/netbsd32_machdep_16.c	compat_netbsd32 & compat_16
file	arch/amd64/amd64/netbsd32_sigcode.S	compat_netbsd32 & compat_16
file	arch/amd64/amd64/netbsd32_syscall.c	compat_netbsd32

# Linux compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/amd64/files.linux_amd64"
file	arch/amd64/amd64/linux_sigcode.S		compat_linux
file	arch/amd64/amd64/linux_syscall.c		compat_linux
file	arch/x86/x86/linux_trap.c			compat_linux

# Linux 32 bit compatibility (COMPAT_LINUX32)
include "compat/linux32/files.linux32"
include "compat/linux32/arch/amd64/files.linux32_amd64"
file	arch/amd64/amd64/linux32_sigcode.S		compat_linux32
file	arch/amd64/amd64/linux32_syscall.c		compat_linux32

# OSS audio driver compatibility
include	"compat/ossaudio/files.ossaudio"

#
# CARDBUS
#
include	"dev/cardbus/files.cardbus"
file	arch/amd64/amd64/rbus_machdep.c	cardbus

# this wants to be probed as late as possible.
#
# Machine-independent PCMCIA drivers
#
include	"dev/pcmcia/files.pcmcia"

include	"dev/usb/files.usb"

include "dev/bluetooth/files.bluetooth"

include "dev/sdmmc/files.sdmmc"

include "dev/ieee1394/files.ieee1394"
include "dev/apm/files.apm"
include "dev/acpi/files.acpi"
file	arch/amd64/acpi/acpi_wakeup_low.S	acpi & !xenpv

# Microsoft Hyper-V
include "dev/hyperv/files.hyperv"

attach	vmbus at acpinodebus with vmbus_acpi
file	dev/acpi/vmbus_acpi.c			vmbus_acpi

include	"arch/amd64/conf/majors.amd64"