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