# $NetBSD: files.xen,v 1.178.4.1 2020/07/15 17:25:08 martin Exp $
# NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp
# NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp
ifdef i386
maxpartitions 8
else
maxpartitions 16
endif
maxusers 2 16 128
defparam opt_kernbase.h KERNBASE
# options for MP configuration through the MP spec
defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI
# Interrupt debug
defflag opt_intrdebug.h INTRDEBUG
# delay before cpu_reset() for reboot.
defparam CPURESET_DELAY
# splraise()/spllower() debug
defflag opt_spldebug.h SPLDEBUG
# Beep on halt
defflag opt_beep.h BEEP_ONHALT
defparam opt_beep.h BEEP_ONHALT_COUNT=3
defparam opt_beep.h BEEP_ONHALT_PITCH=1500
defparam opt_beep.h BEEP_ONHALT_PERIOD=250
# PCI fixup options
defflag opt_pcifixup.h PCI_ADDR_FIXUP PCI_BUS_FIXUP
PCI_INTR_FIXUP PCI_INTR_FIXUP_FORCE
defparam PCI_CONF_MODE
file arch/xen/x86/autoconf.c xenpv
ifdef i386
file arch/i386/i386/autoconf.c xenpvhvm
file arch/i386/i386/aout_machdep.c exec_aout
file arch/i386/i386/i386func.S machdep & xenpvhvm
file arch/i386/i386/busfunc.S
file arch/i386/i386/cpufunc.S
file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum
file arch/i386/i386/db_disasm.c ddb
file arch/i386/i386/db_interface.c ddb
file arch/i386/i386/db_machdep.c ddb
file arch/i386/i386/dumpsys.c
file arch/i386/i386/gdt.c
file arch/i386/i386/kobj_machdep.c modular
file arch/i386/i386/machdep.c
file arch/i386/i386/longrun.c
file arch/i386/i386/mtrr_k6.c mtrr
file arch/i386/i386/process_machdep.c
file arch/i386/i386/trap.c
file arch/i386/i386/lock_stubs.S
file crypto/des/arch/i386/des_enc.S des
file crypto/des/arch/i386/des_cbc.S des
file crypto/blowfish/arch/i386/bf_enc.S blowfish
file crypto/blowfish/arch/i386/bf_cbc.S blowfish
elifdef amd64
file arch/amd64/amd64/autoconf.c xenpvhvm
file arch/amd64/amd64/amd64func.S machdep & xenpvhvm
file arch/amd64/amd64/busfunc.S
file arch/amd64/amd64/cpufunc.S
file arch/amd64/amd64/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum
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 arch/amd64/amd64/gdt.c
file arch/amd64/amd64/machdep.c
file arch/amd64/amd64/process_machdep.c
file arch/amd64/amd64/trap.c
file arch/amd64/amd64/lock_stubs.S
endif
file kern/subr_disk_mbr.c disk
file uvm/pmap/pmap_pvt.c
file arch/x86/x86/db_memrw.c ddb | kgdb
file arch/x86/x86/db_trace.c ddb
file arch/x86/x86/efi.c machdep
file arch/x86/x86/errata.c machdep
file arch/x86/x86/fpu.c
file arch/x86/x86/dbregs.c
file arch/xen/x86/hypervisor_machdep.c
file arch/x86/x86/kgdb_machdep.c kgdb
file arch/x86/x86/mtrr_i686.c mtrr & (dom0ops | xenpvhvm)
file arch/x86/x86/syscall.c
file arch/xen/x86/x86_xpmap.c xenpv
file arch/xen/x86/xen_pmap.c xenpv
file arch/xen/x86/xen_intr.c
file arch/xen/x86/xenfunc.c xenpv
file arch/x86/x86/cpu_ucode.c dom0ops & cpu_ucode needs-flag
file arch/x86/x86/cpu_ucode_amd.c dom0ops & cpu_ucode needs-flag
file arch/x86/x86/cpu_ucode_intel.c dom0ops & cpu_ucode needs-flag
file arch/x86/x86/compat_60_cpu_ucode.c compat_60 & dom0ops & cpu_ucode
file arch/xen/xen/xen_machdep.c
file arch/xen/xen/clock.c xenpv
file arch/x86/isa/clock.c xenpvhvm
file arch/x86/isa/rtc.c dom0ops | xenpvhvm
file arch/xen/xen/evtchn.c
file arch/xen/xen/xengnt.c
file arch/x86/x86/cpu_rng.c
file dev/cons.c
#
# 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
file arch/x86/x86/bus_dma.c machdep
file arch/x86/x86/core_machdep.c coredump
file arch/xen/x86/xen_bus_dma.c machdep & xenpv
file arch/x86/x86/bus_space.c machdep
file arch/xen/x86/consinit.c machdep & xenpv
file arch/x86/x86/consinit.c machdep & xenpvhvm
file arch/x86/x86/identcpu.c machdep
file arch/x86/x86/identcpu_subr.c machdep
file arch/xen/x86/pintr.c machdep & dom0ops & xenpv
file arch/xen/x86/xen_ipi.c multiprocessor & xenpv
file arch/x86/x86/idt.c machdep
file arch/x86/x86/intr.c machdep & xenpvhvm
file arch/x86/x86/ipi.c xenpvhvm
file arch/x86/x86/pmap.c machdep
file arch/x86/x86/x86_tlb.c machdep
file arch/x86/x86/procfs_machdep.c procfs
file arch/x86/x86/sys_machdep.c machdep
file arch/x86/x86/tsc.c machdep
file arch/x86/x86/vm_machdep.c machdep
file arch/x86/x86/x86_autoconf.c machdep & xenpvhvm
file arch/x86/x86/x86_machdep.c machdep
file arch/x86/x86/cpu_topology.c machdep
file arch/x86/x86/platform.c machdep
include "arch/xen/conf/files.compat"
# BIOS32 routines
define bios32
file arch/x86/x86/bios32.c bios32 needs-flag
# xen specific mainbus attributes
define cpubus { [apid = -1] }
define cpufeaturebus {}
define ioapicbus { [apid = -1] }
define apmbus {}
define pnpbiosbus {}
define hypervisorbus {}
define xendevbus {}
#
# System bus types
#
device mainbus: isabus, pcibus, cpubus, ioapicbus, hypervisorbus, bios32, ipmibus, acpibus
attach mainbus at root
file arch/xen/x86/xen_mainbus.c mainbus
ifdef amd64
file arch/amd64/amd64/amd64_mainbus.c mainbus & xenpvhvm
elifdef i386
file arch/i386/i386/i386_mainbus.c mainbus & xenpvhvm
file dev/eisa/eisabusprint.c xenpvhvm
endif
file arch/x86/x86/mainbus.c mainbus
# Xen hypervisor
device hypervisor { [apid = -1]}: isabus, pcibus, sysmon_power, xendevbus, acpibus
attach hypervisor at hypervisorbus
file arch/xen/xen/hypervisor.c hypervisor needs-flag
file arch/xen/xen/shutdown_xenbus.c hypervisor
# Xenbus
device xenbus {[id = -1]}
attach xenbus at xendevbus
file arch/xen/xenbus/xenbus_client.c xenbus needs-flag
file arch/xen/xenbus/xenbus_comms.c xenbus needs-flag
file arch/xen/xenbus/xenbus_dev.c xenbus needs-flag
file arch/xen/xenbus/xenbus_probe.c xenbus needs-flag
file arch/xen/xenbus/xenbus_xs.c xenbus needs-flag
# Xen console support
device xencons: tty
attach xencons at xendevbus
file arch/xen/xen/xencons.c xencons needs-flag
# Xen event peudo-device
defpseudo xenevt
defpseudo xvif
defpseudo xbdback
# Xen Network driver
device xennet: arp, ether, ifnet
attach xennet at xenbus
file arch/xen/xen/if_xennet_xenbus.c xennet needs-flag
# Xen Block device driver and wd/sd/cd identities
device xbd: disk
attach xbd at xenbus
file arch/xen/xen/xbd_xenbus.c xbd
# PCI frontend
device xpci: pcibus
attach xpci at xenbus with xpci_xenbus
file arch/xen/xen/xpci_xenbus.c xpci_xenbus
# Xen Balloon driver
device balloon
attach balloon at xenbus
file arch/xen/xen/balloon.c balloon
# Non-Xen specific devices and options
include "dev/pckbport/files.pckbport"
#
# Machine-independent PCI devices
#
include "dev/i2o/files.i2o"
include "dev/pci/files.pci"
include "dev/pci/files.agp"
file arch/x86/pci/pciide_machdep.c pciide_common
device pciback {unit = -1}
attach pciback at pci
file arch/xen/xen/pciback.c pciback
# x86 specific PCI hardware
include "arch/x86/pci/files.pci"
#
# Machine-independent ISA devices
#
include "dev/isa/files.isa"
include "dev/usb/files.usb"
include "dev/ieee1394/files.ieee1394"
device fdc {drive = -1} #XXX
include "dev/apm/files.apm"
include "dev/acpi/files.acpi"
file arch/xen/xen/xen_acpi_machdep.c acpi & xenpv
file arch/x86/x86/mpacpi.c acpi
file arch/x86/x86/i8259.c xenpvhvm | dom0ops
# Stubs for x86 routines not included in the system
file arch/x86/x86/x86_stub.c
# MP configuration using Intel SMP specification 1.4
file arch/x86/x86/mpbios.c mpbios
# MP configuration using either ACPI or Intel SMP specification 1.4
file arch/x86/x86/mp.c acpi | mpbios
file arch/x86/pci/pci_bus_fixup.c pci_bus_fixup
file arch/x86/pci/pci_addr_fixup.c pci_addr_fixup
file arch/x86/x86/apic.c ioapic
file arch/x86/x86/nmi.c
file arch/x86/acpi/acpi_machdep.c acpi
file arch/x86/acpi/acpi_pdc.c acpi
device ioapic
attach ioapic at ioapicbus
file arch/x86/x86/ioapic.c ioapic needs-flag
#IPMI device
file arch/x86/x86/x86_ipmi.c ipmi needs-flag
# CPUs
#
device cpu: cpufeaturebus
attach cpu at cpubus
device vcpu
attach vcpu at xendevbus
file arch/xen/x86/cpu.c xenpv & vcpu
file arch/x86/x86/cpu.c xenpvhvm
# CPU features
#
device est
attach est at cpufeaturebus
file arch/x86/x86/est.c est
file arch/x86/x86/intel_busclock.c est
device powernow
attach powernow at cpufeaturebus
file arch/x86/x86/powernow.c powernow
#
# Compatibility modules
#
ifdef i386
# Binary compatibility with previous NetBSD releases (COMPAT_XX)
file arch/i386/i386/compat_13_machdep.c compat_13
file arch/i386/i386/compat_16_machdep.c compat_16
# Linux binary compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/i386/files.linux_i386"
file arch/i386/i386/linux_sigcode.S compat_linux
file arch/i386/i386/linux_syscall.c compat_linux
file arch/x86/x86/linux_trap.c compat_linux
# FreeBSD binary compatibility (COMPAT_FREEBSD)
include "compat/freebsd/files.freebsd"
elifdef amd64
# Binary compatibility with previous NetBSD releases (COMPAT_XX)
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
endif
# OSS audio driver compatibility
include "compat/ossaudio/files.ossaudio"
# Bluetooth
include "dev/bluetooth/files.bluetooth"
include "dev/sdmmc/files.sdmmc"
#
# CARDBUS
#
include "dev/cardbus/files.cardbus"
ifdef i386
file arch/i386/i386/rbus_machdep.c cardbus
elifdef amd64
file arch/amd64/amd64/rbus_machdep.c cardbus
endif
# this wants to be probed as late as possible.
#
# Machine-independent PCMCIA drivers
#
include "dev/pcmcia/files.pcmcia"
# Domain-0 operations
defflag opt_xen.h DOM0OPS
file arch/xen/xen/privcmd.c dom0ops
file arch/xen/x86/xen_shm_machdep.c dom0ops
file arch/x86/pci/pci_machdep.c (xenpvhvm | hypervisor) & pci & ( dom0ops | xenpvhvm )
file arch/x86/pci/pci_intr_machdep.c (xenpvhvm | hypervisor) & pci
file arch/x86/pci/pci_msi_machdep.c hypervisor & xenpvhvm & pci & ! no_pci_msi_msix
file arch/x86/pci/msipic.c hypervisor & xenpvhvm & pci & ! no_pci_msi_msix
file arch/x86/isa/isa_machdep.c (xenpvhvm | hypervisor) & ( dom0ops | xenpvhvm )
file arch/xen/xen/xenevt.c xenevt & (dom0ops | xenpvhvm)
file arch/xen/xen/xennetback_xenbus.c xvif
file arch/xen/xen/xennet_checksum.c xvif | xennet
file arch/xen/xen/xbdback_xenbus.c xbdback
ifdef i386
include "arch/i386/conf/majors.i386"
elifdef amd64
include "arch/amd64/conf/majors.amd64"
endif