b3196e4b9f
This eliminates a lot of #ifdef SMP type code. Things like _curproc reside in a data page that is unique on each cpu, eliminating the expensive macros like: #define curproc (SMPcurproc[cpunumber()]) There are some unresolved bootstrap and address space sharing issues at present, but Steve is waiting on this for other work. There is still some strictly temporary code present that isn't exactly pretty. This is part of a larger change that has run into some bumps, this part is standalone so it should be safe. The temporary code goes away when the full idle cpu support is finished. Reviewed by: fsmp, dyson
181 lines
6.1 KiB
Plaintext
181 lines
6.1 KiB
Plaintext
#
|
|
# SMP-GENERIC -- Smp machine with WD/AHx/NCR/BTx family disks
|
|
#
|
|
# For more information read the handbook part System Administration ->
|
|
# Configuring the FreeBSD Kernel -> The Configuration File.
|
|
# The handbook is available in /usr/share/doc/handbook or online as
|
|
# latest version from the FreeBSD World Wide Web server
|
|
# <URL:http://www.FreeBSD.ORG/>
|
|
#
|
|
# An exhaustive list of options and more detailed explanations of the
|
|
# device lines is present in the ./LINT configuration file. If you are
|
|
# in doubt as to the purpose or necessity of a line, check first in LINT.
|
|
#
|
|
# $Id: SMP-GENERIC,v 1.3 1997/05/11 19:01:24 andreas Exp $
|
|
|
|
machine "i386"
|
|
# SMP does NOT support 386/486 CPUs.
|
|
#cpu "I386_CPU"
|
|
#cpu "I486_CPU"
|
|
|
|
cpu "I586_CPU"
|
|
cpu "I686_CPU"
|
|
ident SMP-GENERIC
|
|
maxusers 10
|
|
|
|
# Create a SMP capable kernel (mandatory options):
|
|
options SMP # Symmetric MultiProcessor Kernel
|
|
options APIC_IO # Symmetric (APIC) I/O
|
|
|
|
# Optional, these are the defaults:
|
|
#options NCPU=2 # number of CPUs
|
|
#options NBUS=4 # number of busses
|
|
#options NAPIC=1 # number of IO APICs
|
|
#options NINTR=24 # number of INTs
|
|
|
|
# Tyan Tomcat II:
|
|
#options SMP_TIMER_NC # 8254 NOT connected to APIC
|
|
|
|
# SuperMicro P6DNxxx:
|
|
#options SMP_TIMER_NC # 8254 NOT connected to APIC
|
|
|
|
options MATH_EMULATE #Support for x87 emulation
|
|
options INET #InterNETworking
|
|
options FFS #Berkeley Fast Filesystem
|
|
options NFS #Network Filesystem
|
|
options MSDOSFS #MSDOS Filesystem
|
|
options "CD9660" #ISO 9660 Filesystem
|
|
options PROCFS #Process filesystem
|
|
options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!]
|
|
options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
|
|
options BOUNCE_BUFFERS #include support for DMA bounce buffers
|
|
options UCONSOLE #Allow users to grab the console
|
|
options FAILSAFE #Be conservative
|
|
options USERCONFIG #boot -c editor
|
|
options VISUAL_USERCONFIG #visual boot -c editor
|
|
|
|
config kernel root on wd0
|
|
|
|
controller isa0
|
|
controller eisa0
|
|
controller pci0
|
|
|
|
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
|
|
disk fd0 at fdc0 drive 0
|
|
disk fd1 at fdc0 drive 1
|
|
tape ft0 at fdc0 drive 2
|
|
|
|
options "CMD640" # work around CMD640 chip deficiency
|
|
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
|
|
disk wd0 at wdc0 drive 0
|
|
disk wd1 at wdc0 drive 1
|
|
|
|
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
|
|
disk wd2 at wdc1 drive 0
|
|
disk wd3 at wdc1 drive 1
|
|
|
|
options ATAPI #Enable ATAPI support for IDE bus
|
|
options ATAPI_STATIC #Don't do it as an LKM
|
|
device wcd0 #IDE CD-ROM
|
|
|
|
# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
|
|
# sufficient for any number of installed devices.
|
|
controller ncr0
|
|
controller amd0
|
|
controller ahb0
|
|
controller ahc0
|
|
|
|
controller bt0 at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
|
|
controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
|
|
controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
|
|
controller aic0 at isa? port 0x340 bio irq 11 vector aicintr
|
|
controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr
|
|
controller nca1 at isa? port 0x350 bio irq 5 vector ncaintr
|
|
controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
|
|
|
|
controller scbus0
|
|
|
|
device sd0
|
|
|
|
device od0 #See LINT for possible `od' options.
|
|
|
|
device st0
|
|
|
|
device cd0 #Only need one of these, the code dynamically grows
|
|
|
|
device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr
|
|
device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
|
|
|
|
controller matcd0 at isa? port 0x230 bio
|
|
|
|
device scd0 at isa? port 0x230 bio
|
|
|
|
# syscons is the default console driver, resembling an SCO console
|
|
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
|
|
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
|
|
#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
|
|
#options PCVT_FREEBSD=210 # pcvt running on FreeBSD >= 2.0.5
|
|
#options XSERVER # include code for XFree86
|
|
#options FAT_CURSOR # start with block cursor
|
|
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
|
|
#options PCVT_SCANSET=2 # IBM keyboards are non-std
|
|
|
|
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
|
|
|
|
#
|
|
# Laptop support (see LINT for more options)
|
|
#
|
|
device apm0 at isa? disable flags 0x31 # Advanced Power Management
|
|
|
|
# PCCARD (PCMCIA) support
|
|
#controller crd0
|
|
#device pcic0 at crd?
|
|
#device pcic1 at crd?
|
|
|
|
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
|
|
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
|
|
device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr
|
|
device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr
|
|
|
|
device lpt0 at isa? port? tty irq 7 vector lptintr
|
|
device lpt1 at isa? port? tty
|
|
device mse0 at isa? port 0x23c tty irq 5 vector mseintr
|
|
|
|
device psm0 at isa? disable port "IO_KBD" conflicts tty irq 12 vector psmintr
|
|
|
|
# Order is important here due to intrusive probes, do *not* alphabetize
|
|
# this list of network interfaces until the probes have been fixed.
|
|
# Right now it appears that the ie0 must be probed before ep0. See
|
|
# revision 1.20 of this file.
|
|
device de0
|
|
device fxp0
|
|
device vx0
|
|
|
|
device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr
|
|
device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr
|
|
device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
|
|
device ie1 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr
|
|
device ep0 at isa? port 0x300 net irq 10 vector epintr
|
|
device ex0 at isa? port? net irq? vector exintr
|
|
device fe0 at isa? port 0x300 net irq ? vector feintr
|
|
device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
|
|
device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
|
|
device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
|
|
device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
|
|
|
|
pseudo-device loop
|
|
pseudo-device ether
|
|
pseudo-device log
|
|
pseudo-device sl 1
|
|
# ijppp uses tun instead of ppp device
|
|
#pseudo-device ppp 1
|
|
pseudo-device tun 1
|
|
pseudo-device pty 16
|
|
pseudo-device gzip # Exec gzipped a.out's
|
|
|
|
# KTRACE enables the system-call tracing facility ktrace(2).
|
|
# This adds 4 KB bloat to your kernel, and slightly increases
|
|
# the costs of each syscall.
|
|
options KTRACE #kernel tracing
|
|
|