1# $NetBSD: files.xen,v 1.124 2012/01/13 16:05:15 cegger Exp $ 2# NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp 3# NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp 4 5ifdef i386 6maxpartitions 8 7else 8maxpartitions 16 9endif 10 11maxusers 2 16 128 12 13defparam opt_kernbase.h KERNBASE 14 15# options for MP configuration through the MP spec 16defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI 17 18# delay before cpu_reset() for reboot. 19defparam CPURESET_DELAY 20 21# splraise()/spllower() debug 22defflag opt_spldebug.h SPLDEBUG 23 24# Beep on halt 25defflag opt_beep.h BEEP_ONHALT 26defparam opt_beep.h BEEP_ONHALT_COUNT=3 27defparam opt_beep.h BEEP_ONHALT_PITCH=1500 28defparam opt_beep.h BEEP_ONHALT_PERIOD=250 29 30# PCI fixup options 31defflag opt_pcifixup.h PCI_ADDR_FIXUP PCI_BUS_FIXUP 32 PCI_INTR_FIXUP PCI_INTR_FIXUP_FORCE 33 34defparam PCI_CONF_MODE 35 36file arch/xen/x86/autoconf.c 37ifdef i386 38file arch/i386/i386/aout_machdep.c exec_aout 39file arch/i386/i386/busfunc.S 40file arch/i386/i386/cpufunc.S 41file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum 42file arch/i386/i386/db_dbgreg.S ddb | kstack_check_dr0 43file arch/i386/i386/db_disasm.c ddb 44file arch/i386/i386/db_interface.c ddb 45file arch/i386/i386/db_machdep.c ddb 46file arch/i386/i386/db_memrw.c ddb | kgdb 47file arch/i386/i386/dumpsys.c 48file arch/i386/i386/gdt.c 49file arch/i386/i386/ipkdb_glue.c ipkdb 50file arch/i386/i386/kgdb_machdep.c kgdb 51file arch/i386/i386/kobj_machdep.c modular 52file arch/i386/i386/machdep.c 53file arch/i386/i386/longrun.c 54file arch/i386/i386/mtrr_k6.c mtrr 55file arch/i386/i386/process_machdep.c 56file arch/i386/i386/trap.c 57file arch/i386/i386/lock_stubs.S 58 59 60file arch/i386/i386/pmc.c perfctrs 61 62file crypto/des/arch/i386/des_enc.S des 63file crypto/des/arch/i386/des_cbc.S des 64 65file crypto/blowfish/arch/i386/bf_enc.S blowfish 66file crypto/blowfish/arch/i386/bf_cbc.S blowfish 67 68elifdef amd64 69file arch/amd64/amd64/busfunc.S 70file arch/amd64/amd64/cpufunc.S 71file arch/amd64/amd64/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum 72file arch/amd64/amd64/db_disasm.c ddb 73file arch/amd64/amd64/db_interface.c ddb 74file arch/amd64/amd64/db_machdep.c ddb 75file arch/amd64/amd64/db_memrw.c ddb | kgdb 76file arch/amd64/amd64/kgdb_machdep.c kgdb 77file arch/amd64/amd64/kobj_machdep.c modular 78file arch/amd64/amd64/gdt.c 79file arch/amd64/amd64/machdep.c 80file arch/amd64/amd64/process_machdep.c 81file arch/amd64/amd64/trap.c 82file arch/amd64/amd64/fpu.c 83file arch/amd64/amd64/lock_stubs.S 84endif 85 86file kern/subr_disk_mbr.c disk 87file arch/x86/x86/db_trace.c ddb 88file arch/xen/x86/hypervisor_machdep.c 89# file arch/x86/x86/mtrr_i686.c mtrr 90file arch/x86/x86/syscall.c 91file arch/xen/x86/x86_xpmap.c 92file arch/xen/x86/xen_pmap.c 93file arch/xen/x86/xen_intr.c 94file arch/xen/x86/xenfunc.c 95 96file arch/xen/xen/xen_ucode.c dom0ops | cpu_ucode needs-flag 97file arch/x86/x86/cpu_ucode_amd.c dom0ops | cpu_ucode needs-flag 98 99file arch/xen/xen/xen_machdep.c 100file arch/xen/xen/xen_debug.c 101 102file arch/xen/xen/clock.c 103file arch/x86/isa/rtc.c dom0ops 104file arch/xen/xen/evtchn.c 105 106file arch/xen/xen/xengnt.c 107 108file dev/cons.c 109 110 111# 112# Machine-independent SCSI drivers 113# 114 115include "dev/scsipi/files.scsipi" 116 117# 118# Machine-independent ATA drivers 119# 120 121include "dev/ata/files.ata" 122 123# Memory Disk for install floppy 124file dev/md_root.c memory_disk_hooks 125 126file arch/x86/x86/bus_dma.c pci 127file arch/x86/x86/core_machdep.c coredump 128file arch/xen/x86/xen_bus_dma.c pci 129file arch/x86/x86/bus_space.c pci 130file arch/xen/x86/consinit.c 131file arch/x86/x86/identcpu.c 132file arch/xen/x86/intr.c 133file arch/xen/x86/xen_ipi.c multiprocessor 134file arch/x86/x86/pmap.c 135file arch/x86/x86/pmap_tlb.c 136file arch/x86/x86/procfs_machdep.c procfs 137file arch/x86/x86/sys_machdep.c 138file arch/x86/x86/tsc.c 139file arch/x86/x86/vm_machdep.c 140file arch/x86/x86/x86_machdep.c 141file arch/x86/x86/cpu_topology.c 142 143include "arch/xen/conf/files.compat" 144 145# BIOS32 routines 146define bios32 147ifdef i386 148file arch/i386/i386/bios32.c bios32 needs-flag 149elifdef amd64 150file arch/amd64/amd64/bios32.c bios32 needs-flag 151endif 152 153# xen specific mainbus attributes 154define cpubus { [apid = -1] } 155define cpufeaturebus {} 156define ioapicbus { [apid = -1] } 157define apmbus {} 158define pnpbiosbus {} 159define hypervisorbus {} 160define xendevbus {} 161define ipmibus {} 162 163# 164# System bus types 165# 166 167device mainbus: cpubus, ioapicbus, hypervisorbus, bios32, ipmibus 168attach mainbus at root 169file arch/xen/x86/mainbus.c mainbus 170 171# Xen hypervisor 172device hypervisor { [apid = -1]}: isabus, pcibus, sysmon_power, xendevbus, acpibus 173attach hypervisor at hypervisorbus 174file arch/xen/xen/hypervisor.c hypervisor needs-flag 175file arch/xen/xen/shutdown_xenbus.c hypervisor 176 177# Xenbus 178device xenbus {[id = -1]} 179attach xenbus at xendevbus 180file arch/xen/xenbus/xenbus_client.c xenbus needs-flag 181file arch/xen/xenbus/xenbus_comms.c xenbus needs-flag 182file arch/xen/xenbus/xenbus_dev.c xenbus needs-flag 183file arch/xen/xenbus/xenbus_probe.c xenbus needs-flag 184file arch/xen/xenbus/xenbus_xs.c xenbus needs-flag 185 186ifdef i386 187# Numeric Processing Extension; Math Co-processor 188device npx 189file arch/i386/isa/npx.c npx needs-flag 190 191attach npx at xendevbus with npx_hv 192file arch/xen/i386/npx_hv.c npx_hv 193endif 194 195# Xen console support 196device xencons: tty 197attach xencons at xendevbus 198file arch/xen/xen/xencons.c xencons needs-flag 199 200# Xen event peudo-device 201defpseudo xenevt 202defpseudo xvif 203defpseudo xbdback 204 205# Xen Network driver 206device xennet: arp, ether, ifnet 207attach xennet at xenbus 208file arch/xen/xen/if_xennet_xenbus.c xennet needs-flag 209 210# Xen Block device driver and wd/sd/cd identities 211device xbd: disk 212attach xbd at xenbus 213file arch/xen/xen/xbd_xenbus.c xbd 214 215# PCI frontend 216device xpci: pcibus 217attach xpci at xenbus with xpci_xenbus 218file arch/xen/xen/xpci_xenbus.c xpci_xenbus 219 220# Xen Balloon driver 221device balloon 222attach balloon at xenbus 223file arch/xen/xen/balloon.c balloon 224 225# Non-Xen specific devices and options 226 227include "dev/pckbport/files.pckbport" 228 229# 230# Machine-independent PCI devices 231# 232include "dev/i2o/files.i2o" 233include "dev/pci/files.pci" 234include "dev/pci/files.agp" 235file arch/xen/xen/pciide_machdep.c pciide_common 236 237device pciback {unit = -1} 238attach pciback at pci 239file arch/xen/xen/pciback.c pciback 240 241 242# x86 specific PCI hardware 243include "arch/x86/pci/files.pci" 244 245# 246# Machine-independent ISA devices 247# 248include "dev/isa/files.isa" 249 250include "dev/usb/files.usb" 251 252include "dev/ieee1394/files.ieee1394" 253 254device fdc {drive = -1} #XXX 255 256include "dev/apm/files.apm" 257 258include "dev/acpi/files.acpi" 259file arch/xen/xen/xen_acpi_machdep.c acpi 260file arch/x86/x86/mpacpi.c acpi 261file arch/x86/x86/i8259.c 262 263# Stubs for x86 routines not included in the system 264file arch/x86/x86/x86_stub.c 265 266# MP configuration using Intel SMP specification 1.4 267file arch/x86/x86/mpbios.c mpbios 268 269# MP configuration using either ACPI or Intel SMP specification 1.4 270file arch/x86/x86/mp.c acpi | mpbios 271 272file arch/x86/pci/pci_bus_fixup.c pci_bus_fixup 273file arch/x86/pci/pci_addr_fixup.c pci_addr_fixup 274 275file arch/x86/x86/apic.c ioapic 276file arch/x86/x86/nmi.c 277 278file arch/x86/acpi/acpi_machdep.c acpi 279file arch/x86/acpi/acpi_pdc.c acpi 280 281device ioapic 282attach ioapic at ioapicbus 283file arch/x86/x86/ioapic.c ioapic needs-flag 284 285#IPMI device 286device ipmi : sysmon_envsys, sysmon_wdog 287attach ipmi at ipmibus 288file arch/x86/x86/ipmi.c ipmi needs-flag 289 290# CPUs 291# 292device cpu: cpufeaturebus 293attach cpu at cpubus 294 295device vcpu 296attach vcpu at xendevbus 297 298file arch/xen/x86/cpu.c cpu | vcpu 299 300# CPU features 301# 302device est 303attach est at cpufeaturebus 304file arch/x86/x86/est.c est 305file arch/x86/x86/intel_busclock.c est 306 307device powernow 308attach powernow at cpufeaturebus 309file arch/x86/x86/powernow.c powernow 310 311# 312# Compatibility modules 313# 314 315ifdef i386 316# VM86 mode 317file arch/i386/i386/vm86.c vm86 318 319# VM86 in kernel 320file arch/i386/i386/kvm86.c kvm86 321file arch/i386/i386/kvm86call.S kvm86 322 323# Binary compatibility with previous NetBSD releases (COMPAT_XX) 324file arch/i386/i386/compat_13_machdep.c compat_13 325file arch/i386/i386/compat_16_machdep.c compat_16 | compat_ibcs2 326 327# SVR4 binary compatibility (COMPAT_SVR4) 328include "compat/svr4/files.svr4" 329file arch/i386/i386/svr4_machdep.c compat_svr4 330file arch/i386/i386/svr4_sigcode.S compat_svr4 331file arch/i386/i386/svr4_syscall.c compat_svr4 332 333# iBCS-2 binary compatibility (COMPAT_IBCS2) 334include "compat/ibcs2/files.ibcs2" 335file arch/i386/i386/ibcs2_machdep.c compat_ibcs2 336file arch/i386/i386/ibcs2_sigcode.S compat_ibcs2 337file arch/i386/i386/ibcs2_syscall.c compat_ibcs2 338 339# Linux binary compatibility (COMPAT_LINUX) 340include "compat/linux/files.linux" 341include "compat/linux/arch/i386/files.linux_i386" 342file arch/i386/i386/linux_sigcode.S compat_linux 343file arch/i386/i386/linux_syscall.c compat_linux 344file arch/x86/x86/linux_trap.c compat_linux 345 346# FreeBSD binary compatibility (COMPAT_FREEBSD) 347include "compat/freebsd/files.freebsd" 348file arch/i386/i386/freebsd_machdep.c compat_freebsd 349file arch/i386/i386/freebsd_sigcode.S compat_freebsd 350file arch/i386/i386/freebsd_syscall.c compat_freebsd 351 352elifdef amd64 353# NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32) 354include "compat/netbsd32/files.netbsd32" 355file arch/amd64/amd64/netbsd32_machdep.c compat_netbsd32 356file arch/amd64/amd64/netbsd32_sigcode.S compat_netbsd32 & compat_16 357file arch/amd64/amd64/netbsd32_syscall.c compat_netbsd32 358 359# Linux compatibility (COMPAT_LINUX) 360include "compat/linux/files.linux" 361include "compat/linux/arch/amd64/files.linux_amd64" 362file arch/amd64/amd64/linux_sigcode.S compat_linux 363file arch/amd64/amd64/linux_syscall.c compat_linux 364file arch/x86/x86/linux_trap.c compat_linux 365# Linux 32 bit compatibility (COMPAT_LINUX32) 366include "compat/linux32/files.linux32" 367include "compat/linux32/arch/amd64/files.linux32_amd64" 368file arch/amd64/amd64/linux32_sigcode.S compat_linux32 369file arch/amd64/amd64/linux32_syscall.c compat_linux32 370endif 371 372# OSS audio driver compatibility 373include "compat/ossaudio/files.ossaudio" 374 375# Bluetooth 376include "dev/bluetooth/files.bluetooth" 377 378# 379# CARDBUS 380# 381include "dev/cardbus/files.cardbus" 382ifdef i386 383file arch/i386/i386/rbus_machdep.c cardbus 384elifdef amd64 385file arch/amd64/amd64/rbus_machdep.c cardbus 386endif 387 388# this wants to be probed as late as possible. 389# 390# Machine-independent PCMCIA drivers 391# 392include "dev/pcmcia/files.pcmcia" 393 394# Domain-0 operations 395defflag opt_xen.h DOM0OPS XEN_COMPAT_030001 396file arch/xen/xen/privcmd.c dom0ops 397file arch/xen/x86/xen_shm_machdep.c dom0ops 398file arch/x86/pci/pci_machdep.c hypervisor & pci & dom0ops 399file arch/xen/xen/pci_intr_machdep.c hypervisor & pci 400file arch/xen/xen/isa_machdep.c hypervisor & dom0ops 401file arch/xen/xen/xenevt.c xenevt & dom0ops 402file arch/xen/xen/xennetback_xenbus.c xvif 403file arch/xen/xen/xennet_checksum.c xvif | xennet 404file arch/xen/xen/xbdback_xenbus.c xbdback 405 406ifdef i386 407include "arch/i386/conf/majors.i386" 408elifdef amd64 409include "arch/amd64/conf/majors.amd64" 410endif 411