summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/alpha/conf/GENERIC48
-rw-r--r--sys/alpha/conf/GENERIC.hints26
-rw-r--r--sys/alpha/conf/NOTES48
-rw-r--r--sys/alpha/conf/SIMOS14
-rw-r--r--sys/alpha/conf/gethints.pl94
-rw-r--r--sys/amd64/conf/GENERIC86
-rw-r--r--sys/amd64/conf/GENERIC.hints85
-rw-r--r--sys/amd64/conf/Makefile7
-rw-r--r--sys/boot/forth/loader.conf2
-rw-r--r--sys/conf/Makefile.alpha14
-rw-r--r--sys/conf/Makefile.i38614
-rw-r--r--sys/conf/Makefile.pc9814
-rw-r--r--sys/conf/Makefile.powerpc14
-rw-r--r--sys/conf/NOTES669
-rw-r--r--sys/conf/files.alpha1
-rw-r--r--sys/conf/files.i3861
-rw-r--r--sys/conf/files.pc982
-rw-r--r--sys/i386/conf/GENERIC86
-rw-r--r--sys/i386/conf/GENERIC.hints85
-rw-r--r--sys/i386/conf/LINT2385
-rw-r--r--sys/i386/conf/Makefile7
-rw-r--r--sys/i386/conf/NEWCARD84
-rw-r--r--sys/i386/conf/NEWCARD.hints79
-rw-r--r--sys/i386/conf/NOTES669
-rw-r--r--sys/i386/conf/gethints.pl94
-rw-r--r--sys/i386/conf/makeLINT.pl22
-rw-r--r--sys/i386/isa/if_cx.c4
-rw-r--r--sys/i4b/driver/i4b_isppp.c3
-rw-r--r--sys/i4b/tina-dd/i4b_tina_dd.c4
-rw-r--r--sys/kern/subr_bus.c159
-rw-r--r--sys/pc98/conf/GENERIC190
-rw-r--r--sys/pc98/conf/GENERIC.hints70
-rw-r--r--sys/pc98/conf/gethints.pl87
-rw-r--r--sys/pc98/pc98/wd.c7
-rw-r--r--usr.sbin/config/Makefile2
-rw-r--r--usr.sbin/config/config.h41
-rw-r--r--usr.sbin/config/config.y251
-rw-r--r--usr.sbin/config/configvers.h2
-rw-r--r--usr.sbin/config/lang.l44
-rw-r--r--usr.sbin/config/main.c38
-rw-r--r--usr.sbin/config/mkheaders.c60
-rw-r--r--usr.sbin/config/mkioconf.c200
-rw-r--r--usr.sbin/config/mkmakefile.c169
-rw-r--r--usr.sbin/config/mkoptions.c24
44 files changed, 2076 insertions, 3929 deletions
diff --git a/sys/alpha/conf/GENERIC b/sys/alpha/conf/GENERIC
index 2f76c85..81bafbc 100644
--- a/sys/alpha/conf/GENERIC
+++ b/sys/alpha/conf/GENERIC
@@ -27,6 +27,8 @@ cpu EV5
ident GENERIC
maxusers 32
+hints "GENERIC.hints"
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
# Platforms supported
@@ -72,8 +74,7 @@ device pci
options COMPAT_OLDPCI # PCI compatability shims
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-device fd0 at fdc0 drive 0
+device fdc
# ATA and ATAPI devices
device ata
@@ -97,27 +98,26 @@ device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc0 at isa? port IO_KBD
-device atkbd0 at atkbdc? irq 1
-device psm0 at atkbdc? irq 12
+device atkbdc 1
+device atkbd
+device psm
-device vga0 at isa?
+device vga
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa?
+device sc 1
# real time clock
-device mcclock0 at isa? port 0x70
+device mcclock
# Serial (COM) ports
-device sio0 at isa? port IO_COM1 irq 4
-device sio1 at isa? port IO_COM2 irq 3 flags 0x50
+device sio
# Parallel port
-device ppc0 at isa? irq 7
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -143,19 +143,19 @@ device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying/(translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying/(translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf #Berkeley packet filter
+device bpf #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
diff --git a/sys/alpha/conf/GENERIC.hints b/sys/alpha/conf/GENERIC.hints
new file mode 100644
index 0000000..a007536
--- /dev/null
+++ b/sys/alpha/conf/GENERIC.hints
@@ -0,0 +1,26 @@
+# $FreeBSD$
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
+hint.vga.0.at="isa"
+hint.sc.0.at="isa"
+hint.mcclock.0.at="isa"
+hint.mcclock.0.port="0x70"
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.irq="4"
+hint.sio.1.at="isa"
+hint.sio.1.port="0x2F8"
+hint.sio.1.irq="3"
+hint.sio.1.flags="0x50"
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
diff --git a/sys/alpha/conf/NOTES b/sys/alpha/conf/NOTES
index 2f76c85..81bafbc 100644
--- a/sys/alpha/conf/NOTES
+++ b/sys/alpha/conf/NOTES
@@ -27,6 +27,8 @@ cpu EV5
ident GENERIC
maxusers 32
+hints "GENERIC.hints"
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
# Platforms supported
@@ -72,8 +74,7 @@ device pci
options COMPAT_OLDPCI # PCI compatability shims
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-device fd0 at fdc0 drive 0
+device fdc
# ATA and ATAPI devices
device ata
@@ -97,27 +98,26 @@ device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc0 at isa? port IO_KBD
-device atkbd0 at atkbdc? irq 1
-device psm0 at atkbdc? irq 12
+device atkbdc 1
+device atkbd
+device psm
-device vga0 at isa?
+device vga
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa?
+device sc 1
# real time clock
-device mcclock0 at isa? port 0x70
+device mcclock
# Serial (COM) ports
-device sio0 at isa? port IO_COM1 irq 4
-device sio1 at isa? port IO_COM2 irq 3 flags 0x50
+device sio
# Parallel port
-device ppc0 at isa? irq 7
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -143,19 +143,19 @@ device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying/(translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying/(translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf #Berkeley packet filter
+device bpf #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
diff --git a/sys/alpha/conf/SIMOS b/sys/alpha/conf/SIMOS
index 1345069b..12ecba7 100644
--- a/sys/alpha/conf/SIMOS
+++ b/sys/alpha/conf/SIMOS
@@ -55,13 +55,13 @@ device cd
# revision 1.20 of this file.
#device de
-pseudo-device loop
-pseudo-device ether
-pseudo-device sl
-pseudo-device ppp 1
-pseudo-device tun
-pseudo-device pty
-pseudo-device gzip # Exec gzipped a.out's
+device loop
+device ether
+device sl
+device ppp 1
+device tun
+device pty
+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
diff --git a/sys/alpha/conf/gethints.pl b/sys/alpha/conf/gethints.pl
new file mode 100644
index 0000000..e29adb1
--- /dev/null
+++ b/sys/alpha/conf/gethints.pl
@@ -0,0 +1,94 @@
+#! /usr/bin/perl
+#
+# This is a transition aid. It extracts old-style configuration information
+# from a config file and writes an equivalent device.hints file to stdout.
+# You can use that with loader(8) or statically compile it in with the
+# 'hints' directive. See how GENERIC and GENERIC.hints fit together for
+# a static example. You should use loader(8) if at all possible.
+#
+# $FreeBSD$
+
+while (<STDIN>) {
+ chop;
+ s/#.*//;
+ next unless /^device/;
+ ($dev, $nameunit, $at, $where, @rest) = split;
+ next unless $at eq "at" && $where ne "";
+ $name = $nameunit;
+ $name =~ s/[0-9]*$//g;
+ $unit = $nameunit;
+ $unit =~ s/.*[^0-9]//g;
+ $where =~ s/\?$//;
+ print "hint.$name.$unit.at=\"$where\"\n";
+ while ($key = shift(@rest)) {
+ if ($key eq "disable") {
+ print "hint.$name.$unit.disabled=\"1\"\n";
+ next;
+ }
+ if ($key eq "port") {
+ $val = shift(@rest);
+ $val =~ s/IO_AHA0/0x330/;
+ $val =~ s/IO_AHA1/0x334/;
+ $val =~ s/IO_ASC1/0x3EB/;
+ $val =~ s/IO_ASC2/0x22B/;
+ $val =~ s/IO_ASC3/0x26B/;
+ $val =~ s/IO_ASC4/0x2AB/;
+ $val =~ s/IO_ASC5/0x2EB/;
+ $val =~ s/IO_ASC6/0x32B/;
+ $val =~ s/IO_ASC7/0x36B/;
+ $val =~ s/IO_ASC8/0x3AB/;
+ $val =~ s/IO_BT0/0x330/;
+ $val =~ s/IO_BT1/0x334/;
+ $val =~ s/IO_CGA/0x3D0/;
+ $val =~ s/IO_COM1/0x3F8/;
+ $val =~ s/IO_COM2/0x2F8/;
+ $val =~ s/IO_COM3/0x3E8/;
+ $val =~ s/IO_COM4/0x2E8/;
+ $val =~ s/IO_DMA1/0x000/;
+ $val =~ s/IO_DMA2/0x0C0/;
+ $val =~ s/IO_DMAPG/0x080/;
+ $val =~ s/IO_FD1/0x3F0/;
+ $val =~ s/IO_FD2/0x370/;
+ $val =~ s/IO_GAME/0x201/;
+ $val =~ s/IO_GSC1/0x270/;
+ $val =~ s/IO_GSC2/0x2E0/;
+ $val =~ s/IO_GSC3/0x370/;
+ $val =~ s/IO_GSC4/0x3E0/;
+ $val =~ s/IO_ICU1/0x020/;
+ $val =~ s/IO_ICU2/0x0A0/;
+ $val =~ s/IO_KBD/0x060/;
+ $val =~ s/IO_LPT1/0x378/;
+ $val =~ s/IO_LPT2/0x278/;
+ $val =~ s/IO_LPT3/0x3BC/;
+ $val =~ s/IO_MDA/0x3B0/;
+ $val =~ s/IO_NMI/0x070/;
+ $val =~ s/IO_NPX/0x0F0/;
+ $val =~ s/IO_PMP1/0x026/;
+ $val =~ s/IO_PMP2/0x178/;
+ $val =~ s/IO_PPI/0x061/;
+ $val =~ s/IO_RTC/0x070/;
+ $val =~ s/IO_TIMER1/0x040/;
+ $val =~ s/IO_TIMER2/0x048/;
+ $val =~ s/IO_UHA0/0x330/;
+ $val =~ s/IO_VGA/0x3C0/;
+ $val =~ s/IO_WD1/0x1F0/;
+ $val =~ s/IO_WD2/0x170/;
+ if ($val ne "?") {
+ print "hint.$name.$unit.port=\"$val\"\n";
+ }
+ next;
+ }
+ if ($key eq "irq" || $key eq "drq" || $key eq "drive" ||
+ $key eq "iomem" || $key eq "iosiz" || $key eq "flags"||
+ $key eq "bus" || $key eq "target" || $key eq "unit") {
+ $key =~ s/iomem/maddr/;
+ $key =~ s/iosiz/msize/;
+ $val = shift(@rest);
+ if ($val ne "?") {
+ print "hint.$name.$unit.$key=\"$val\"\n";
+ }
+ next;
+ }
+ print "unrecognized config token $key\n";
+ }
+}
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index ed19bb9..404fb9a 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -25,6 +25,8 @@ cpu I686_CPU
ident GENERIC
maxusers 32
+hints "GENERIC.hints" #Default places to look for devices.
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulation
@@ -65,17 +67,13 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev
device isa
device eisa
device pci
-options COMPAT_OLDISA # Old ISA driver shims
-options COMPAT_OLDPCI # Old PCI driver shims
+options COMPAT_OLDISA # compatability shims for lnc, fe, le
+options COMPAT_OLDPCI # compatability shims for lnc, vx
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
+device fdc
# ATA and ATAPI devices
-device ata0 at isa? port IO_WD1 irq 14
-device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
@@ -93,11 +91,11 @@ device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
-device adv0 at isa?
+device adv
device adw
-device bt0 at isa?
-device aha0 at isa?
-device aic0 at isa?
+device bt
+device aha 1
+device aic
# SCSI peripherals
device scbus # SCSI bus (required)
@@ -112,44 +110,40 @@ device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
# atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc0 at isa? port IO_KBD
-device atkbd0 at atkbdc? irq 1 flags 0x1
-device psm0 at atkbdc? irq 12
+device atkbdc 1
+device atkbd
+device psm
-device vga0 at isa?
+device vga
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa? flags 0x100
+device sc 1
# Enable this for the pcvt (VT220 compatible) console driver
-#device vt0 at isa?
+#device vt
#options XSERVER # support for X server on a vt console
#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
# Floating point support - do not disable.
-device npx0 at nexus? port IO_NPX irq 13
+device npx
# Power management support (see LINT for more options)
-device apm0 at nexus? disable flags 0x20 # Advanced Power Management
+device apm
# PCCARD (PCMCIA) support
device card
-device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
-device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable
+device pcic
# Serial (COM) ports
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-device sio1 at isa? port IO_COM2 irq 3
-device sio2 at isa? disable port IO_COM3 irq 5
-device sio3 at isa? disable port IO_COM4 irq 9
+device sio
# Parallel port
-device ppc0 at isa? irq 7
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -177,11 +171,11 @@ device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ISA Ethernet NICs.
-device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
+device ed
device ex
device ep
-device cs0 at isa? port 0x300
-device sn0 at isa? port 0x300 irq 10
+device cs
+device sn
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
@@ -197,25 +191,25 @@ device awi
# Xircom pccard ethernet
device xe
# The probe order of these is presently determined by i386/isa/isa_compat.c.
-device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
-device fe0 at isa? port 0x300
-device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-device lnc0 at isa? port 0x280 irq 10 drq 0
+device ie
+device fe
+device le
+device lnc
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying (translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf # Berkeley packet filter
+device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
diff --git a/sys/amd64/conf/GENERIC.hints b/sys/amd64/conf/GENERIC.hints
new file mode 100644
index 0000000..29183de
--- /dev/null
+++ b/sys/amd64/conf/GENERIC.hints
@@ -0,0 +1,85 @@
+# $FreeBSD$
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
+hint.ata.0.at="isa"
+hint.ata.0.port="0x1F0"
+hint.ata.0.irq="14"
+hint.ata.1.at="isa"
+hint.ata.1.port="0x170"
+hint.ata.1.irq="15"
+hint.adv.0.at="isa"
+hint.bt.0.at="isa"
+hint.aha.0.at="isa"
+hint.aic.0.at="isa"
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
+hint.atkbd.0.flags="0x1"
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
+hint.vga.0.at="isa"
+hint.sc.0.at="isa"
+hint.sc.0.flags="0x100"
+hint.vt.0.at="isa"
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F0"
+hint.npx.0.irq="13"
+hint.apm.0.at="nexus"
+hint.apm.0.disabled="1"
+hint.apm.0.flags="0x20"
+hint.pcic.0.at="isa"
+hint.pcic.0.irq="10"
+hint.pcic.0.port="0x3e0"
+hint.pcic.0.iomem="0xd0000"
+hint.pcic.1.at="isa"
+hint.pcic.1.irq="11"
+hint.pcic.1.port="0x3e2"
+hint.pcic.1.iomem="0xd4000"
+hint.pcic.1.disabled="1"
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+hint.sio.1.at="isa"
+hint.sio.1.port="0x2F8"
+hint.sio.1.irq="3"
+hint.sio.2.at="isa"
+hint.sio.2.disabled="1"
+hint.sio.2.port="0x3E8"
+hint.sio.2.irq="5"
+hint.sio.3.at="isa"
+hint.sio.3.disabled="1"
+hint.sio.3.port="0x2E8"
+hint.sio.3.irq="9"
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
+hint.ed.0.at="isa"
+hint.ed.0.port="0x280"
+hint.ed.0.irq="10"
+hint.ed.0.iomem="0xd8000"
+hint.cs.0.at="isa"
+hint.cs.0.port="0x300"
+hint.sn.0.at="isa"
+hint.sn.0.port="0x300"
+hint.sn.0.irq="10"
+hint.ie.0.at="isa"
+hint.ie.0.port="0x300"
+hint.ie.0.irq="10"
+hint.ie.0.iomem="0xd0000"
+hint.fe.0.at="isa"
+hint.fe.0.port="0x300"
+hint.le.0.at="isa"
+hint.le.0.port="0x300"
+hint.le.0.irq="5"
+hint.le.0.iomem="0xd0000"
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x280"
+hint.lnc.0.irq="10"
+hint.lnc.0.drq="0"
diff --git a/sys/amd64/conf/Makefile b/sys/amd64/conf/Makefile
new file mode 100644
index 0000000..67fff85
--- /dev/null
+++ b/sys/amd64/conf/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+all:
+ @echo "make LINT only"
+
+LINT: NOTES makeLINT.pl
+ perl5 makeLINT.pl < NOTES > LINT
diff --git a/sys/boot/forth/loader.conf b/sys/boot/forth/loader.conf
index 80b910b..b2d11d4 100644
--- a/sys/boot/forth/loader.conf
+++ b/sys/boot/forth/loader.conf
@@ -21,7 +21,7 @@ userconfig_script_load="NO"
userconfig_script_name="/boot/kernel.conf"
userconfig_script_type="userconfig_script"
-loader_conf_files="/boot/loader.conf /boot/loader.conf.local"
+loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local"
verbose_loading="NO" # Set to YES for verbose loader output
diff --git a/sys/conf/Makefile.alpha b/sys/conf/Makefile.alpha
index b1b701b..d729cd1 100644
--- a/sys/conf/Makefile.alpha
+++ b/sys/conf/Makefile.alpha
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 500001
+%VERSREQ= 500002
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
@@ -81,10 +81,10 @@ GEN_CFILES= $S/$M/$M/genassym.c
# omitted from SYSTEM_CFILES. They include setdefs.h, a header which
# is generated from all of ${OBJS}. We don't want to have to compile
# everything just to do a make depend.
-SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c
+SYSTEM_CFILES= param.c vnode_if.c hints.c config.c
SYSTEM_SFILES= $S/$M/$M/locore.s
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
-SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
+SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} param.o hints.o config.o \
setdef1.o hack.So
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \
-e locorestart \
@@ -149,7 +149,7 @@ kernel-clean:
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
-# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
+# $S/$M/$M/Locore.c ${CFILES} param.c | \
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
@@ -314,9 +314,6 @@ modules-reinstall modules-reinstall.debug:
config.o:
${NORMAL_C}
-ioconf.o:
- ${NORMAL_C}
-
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
@@ -332,6 +329,9 @@ vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
vers.o:
${NORMAL_C}
+hints.o: hints.c
+ ${NORMAL_C}
+
vnode_if.c: $S/kern/vnode_if.pl $S/kern/vnode_if.src
perl5 $S/kern/vnode_if.pl -c $S/kern/vnode_if.src
diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386
index 09e3825..9d1b668 100644
--- a/sys/conf/Makefile.i386
+++ b/sys/conf/Makefile.i386
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 500001
+%VERSREQ= 500002
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
@@ -81,10 +81,10 @@ GEN_CFILES= $S/$M/$M/genassym.c
# omitted from SYSTEM_CFILES. They include setdefs.h, a header which
# is generated from all of ${OBJS}. We don't want to have to compile
# everything just to do a make depend.
-SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c
+SYSTEM_CFILES= param.c vnode_if.c hints.c config.c
SYSTEM_SFILES= $S/$M/$M/locore.s
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
-SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
+SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} param.o hints.o config.o \
setdef1.o hack.So
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \
-export-dynamic -dynamic-linker /red/herring \
@@ -149,7 +149,7 @@ kernel-clean:
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
-# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
+# $S/$M/$M/Locore.c ${CFILES} param.c | \
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
@@ -273,9 +273,6 @@ modules-reinstall modules-reinstall.debug:
config.o:
${NORMAL_C}
-ioconf.o:
- ${NORMAL_C}
-
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
@@ -291,6 +288,9 @@ vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
vers.o:
${NORMAL_C}
+hints.o: hints.c
+ ${NORMAL_C}
+
vnode_if.c: $S/kern/vnode_if.pl $S/kern/vnode_if.src
perl5 $S/kern/vnode_if.pl -c $S/kern/vnode_if.src
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98
index 1e2ec25..0d4e869 100644
--- a/sys/conf/Makefile.pc98
+++ b/sys/conf/Makefile.pc98
@@ -19,7 +19,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 500001
+%VERSREQ= 500002
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
@@ -83,10 +83,10 @@ GEN_CFILES= $S/$M/$M/genassym.c
# omitted from SYSTEM_CFILES. They include setdefs.h, a header which
# is generated from all of ${OBJS}. We don't want to have to compile
# everything just to do a make depend.
-SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c
+SYSTEM_CFILES= param.c vnode_if.c hints.c config.c
SYSTEM_SFILES= $S/$M/$M/locore.s
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
-SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
+SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} param.o hints.o config.o \
setdef1.o hack.So
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \
-export-dynamic -dynamic-linker /red/herring \
@@ -151,7 +151,7 @@ kernel-clean:
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
-# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
+# $S/$M/$M/Locore.c ${CFILES} param.c | \
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
@@ -276,9 +276,6 @@ modules-reinstall modules-reinstall.debug:
config.o:
${NORMAL_C}
-ioconf.o:
- ${NORMAL_C}
-
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
@@ -294,6 +291,9 @@ vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
vers.o:
${NORMAL_C}
+hints.o: hints.c
+ ${NORMAL_C}
+
vnode_if.c: $S/kern/vnode_if.pl $S/kern/vnode_if.src
perl5 $S/kern/vnode_if.pl -c $S/kern/vnode_if.src
diff --git a/sys/conf/Makefile.powerpc b/sys/conf/Makefile.powerpc
index 09e3825..9d1b668 100644
--- a/sys/conf/Makefile.powerpc
+++ b/sys/conf/Makefile.powerpc
@@ -17,7 +17,7 @@
#
# Which version of config(8) is required.
-%VERSREQ= 500001
+%VERSREQ= 500002
# Can be overridden by makeoptions or /etc/make.conf
KERNEL?= kernel
@@ -81,10 +81,10 @@ GEN_CFILES= $S/$M/$M/genassym.c
# omitted from SYSTEM_CFILES. They include setdefs.h, a header which
# is generated from all of ${OBJS}. We don't want to have to compile
# everything just to do a make depend.
-SYSTEM_CFILES= ioconf.c param.c vnode_if.c config.c
+SYSTEM_CFILES= param.c vnode_if.c hints.c config.c
SYSTEM_SFILES= $S/$M/$M/locore.s
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
-SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \
+SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} param.o hints.o config.o \
setdef1.o hack.So
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \
-export-dynamic -dynamic-linker /red/herring \
@@ -149,7 +149,7 @@ kernel-clean:
#lint: /tmp param.c
# @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} \
-# $S/$M/$M/Locore.c ${CFILES} ioconf.c param.c | \
+# $S/$M/$M/Locore.c ${CFILES} param.c | \
# grep -v 'struct/union .* never defined' | \
# grep -v 'possible pointer alignment problem'
@@ -273,9 +273,6 @@ modules-reinstall modules-reinstall.debug:
config.o:
${NORMAL_C}
-ioconf.o:
- ${NORMAL_C}
-
param.c: $S/conf/param.c
-rm -f param.c
cp $S/conf/param.c .
@@ -291,6 +288,9 @@ vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
vers.o:
${NORMAL_C}
+hints.o: hints.c
+ ${NORMAL_C}
+
vnode_if.c: $S/kern/vnode_if.pl $S/kern/vnode_if.src
perl5 $S/kern/vnode_if.pl -c $S/kern/vnode_if.src
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index c60f78e..746dbae 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -1,12 +1,14 @@
#
-# LINT -- config file for checking all the sources, tries to pull in
-# as much of the source tree as it can.
+# DOCS -- Lines that can be cut/pasted into kernel and hints configs.
#
-# $FreeBSD$
+# Lines that begin with 'device', 'options', 'machine', 'ident', 'maxusers',
+# 'makeoptions', 'hints' etc go into the kernel configuration that you
+# run config(8) with.
+#
+# Lines that begin with 'hints.' are NOT for config(8), they go into your
+# hints file. See /boot/device.hints and/or the 'hints' config(8) directive.
#
-# NB: You probably don't want to try running a kernel built from this
-# file. Instead, you should start from GENERIC, and add options from
-# this file as required.
+# $FreeBSD$
#
#
@@ -427,29 +429,29 @@ device lmc # tulip based LanMedia WAN cards
#
# Network interfaces:
-# The `loop' pseudo-device is MANDATORY when networking is enabled.
-# The `ether' pseudo-device provides generic code to handle
+# The `loop' device is MANDATORY when networking is enabled.
+# The `ether' device provides generic code to handle
# Ethernets; it is MANDATORY when a Ethernet device driver is
# configured or token-ring is enabled.
-# The 'fddi' pseudo-device provides generic code to support FDDI.
-# The `sppp' pseudo-device serves a similar role for certain types
+# The 'fddi' device provides generic code to support FDDI.
+# The `sppp' device serves a similar role for certain types
# of synchronous PPP links (like `cx', `ar').
-# The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
-# The `ppp' pseudo-device implements the Point-to-Point Protocol.
-# The `bpf' pseudo-device enables the Berkeley Packet Filter. Be
+# The `sl' device implements the Serial Line IP (SLIP) service.
+# The `ppp' device implements the Point-to-Point Protocol.
+# The `bpf' device enables the Berkeley Packet Filter. Be
# aware of the legal and administrative consequences of enabling this
# option. The number of devices determines the maximum number of
# simultaneous BPF clients programs runnable.
-# The `disc' pseudo-device implements a minimal network interface,
+# The `disc' device implements a minimal network interface,
# which throws away all packets sent and never receives any. It is
# included for testing purposes. This shows up as the 'ds' interface.
-# The `tun' pseudo-device implements (user-)ppp and nos-tun
-# The `gif' pseudo-device implements IPv6 over IP4 tunneling,
+# The `tun' device implements (user-)ppp and nos-tun
+# The `gif' device implements IPv6 over IP4 tunneling,
# IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
# IPv6 over IPv6 tunneling.
-# The `faith' pseudo-device captures packets sent to it and diverts them
+# The `faith' device captures packets sent to it and diverts them
# to the IPv4/IPv6 translation daemon.
-# The `ef' pseudo-device provides support for multiple ethernet frame types
+# The `ef' device provides support for multiple ethernet frame types
# specified via ETHER_* options. See ef(4) for details.
#
# The PPP_BSDCOMP option enables support for compress(1) style entire
@@ -458,29 +460,30 @@ device lmc # tulip based LanMedia WAN cards
# events for resetting the demand dial activity timer - requires bpf.
# See pppd(8) for more details.
#
-pseudo-device ether #Generic Ethernet
-pseudo-device token #Generic TokenRing
-pseudo-device fddi #Generic FDDI
-pseudo-device sppp #Generic Synchronous PPP
-pseudo-device loop #Network loopback device
-pseudo-device bpf #Berkeley packet filter
-pseudo-device disc #Discard device (ds0, ds1, etc)
-pseudo-device tun #Tunnel driver (ppp(8), nos-tun(8))
-pseudo-device sl #Serial Line IP
-pseudo-device ppp 2 #Point-to-point protocol
+device ether #Generic Ethernet
+device vlan 1 #VLAN support
+device token #Generic TokenRing
+device fddi #Generic FDDI
+device sppp #Generic Synchronous PPP
+device loop 1 #Network loopback device
+device bpf #Berkeley packet filter
+device disc #Discard device (ds0, ds1, etc)
+device tun #Tunnel driver (ppp(8), nos-tun(8))
+device sl #Serial Line IP
+device ppp 2 #Point-to-point protocol
options PPP_BSDCOMP #PPP BSD-compress support
options PPP_DEFLATE #PPP zlib/deflate/gzip support
options PPP_FILTER #enable bpf filtering (needs bpf)
-pseudo-device ef # Multiple ethernet frames support
+device ef # Multiple ethernet frames support
options ETHER_II # enable Ethernet_II frame
options ETHER_8023 # enable Ethernet_802.3 (Novell) frame
options ETHER_8022 # enable Ethernet_802.2 frame
options ETHER_SNAP # enable Ethernet_802.2/SNAP frame
# for IPv6
-pseudo-device gif 4 #IPv6 and IPv4 tunneling
-pseudo-device faith 1 #for IPv6 and IPv4 translation
+device gif 4 #IPv6 and IPv4 tunneling
+device faith 1 #for IPv6 and IPv4 translation
#
# Internet family options:
@@ -689,7 +692,7 @@ options NFS_DEBUG # Enable NFS Debugging
# Coda stuff:
options CODA #CODA filesystem.
-pseudo-device vcoda 4 #coda minicache <-> venus comm.
+device vcoda 4 #coda minicache <-> venus comm.
#
# Add support for the EXT2FS filesystem of Linux fame. Be a bit
@@ -764,15 +767,22 @@ options CLK_USE_TSC_CALIBRATION
# The syntax for wiring down devices is:
-# device scbus0 at ahc0 # Single bus device
-# device scbus1 at ahc1 bus 0 # Single bus device
-# device scbus3 at ahc2 bus 0 # Twin bus device
-# device scbus2 at ahc2 bus 1 # Twin bus device
-# device da0 at scbus0 target 0 unit 0
-# device da1 at scbus3 target 1
-# device da2 at scbus2 target 3
-# device sa1 at scbus1 target 6
-# device cd
+hint.scbus.0.at="ahc0"
+hint.scbus.1.at="ahc1"
+hint.scbus.1.bus="0"
+hint.scbus.3.at="ahc2"
+hint.scbus.3.bus="0"
+hint.scbus.2.at="ahc2"
+hint.scbus.2.bus="1"
+hint.da.0.at="scbus0"
+hint.da.0.target="0"
+hint.da.0.unit="0"
+hint.da.1.at="scbus3"
+hint.da.1.target="1"
+hint.da.2.at="scbus2"
+hint.da.2.target="3"
+hint.sa.1.at="scbus1"
+hint.sa.1.target="6"
# "units" (SCSI logical unit number) that are not specified are
# treated as if specified as LUN 0.
@@ -863,13 +873,13 @@ options SES_ENABLE_PASSTHROUGH
# as it is required for `telnetd', `rlogind', `screen', `emacs', and
# `xterm', among others.
-pseudo-device pty #Pseudo ttys
-pseudo-device speaker #Play IBM BASIC-style noises out your speaker
-pseudo-device gzip #Exec gzipped a.out's
-pseudo-device vn #Vnode driver (turns a file into a device)
-pseudo-device md #Memory/malloc disk
-pseudo-device snp #Snoop device - to look at pty/vty/etc..
-pseudo-device ccd 4 #Concatenated disk driver
+device pty #Pseudo ttys
+device speaker #Play IBM BASIC-style noises out your speaker
+device gzip #Exec gzipped a.out's
+device vn #Vnode driver (turns a file into a device)
+device md #Memory/malloc disk
+device snp #Snoop device - to look at pty/vty/etc..
+device ccd 4 #Concatenated disk driver
# Configuring Vinum into the kernel is not necessary, since the kld
# module gets started automatically when vinum(8) starts. This
@@ -882,7 +892,7 @@ pseudo-device ccd 4 #Concatenated disk driver
# Can't get vinum config: Invalid argument
#
# see vinum(4) for more reasons not to use these options.
-pseudo-device vinum #Vinum concat/mirror/raid driver
+device vinum #Vinum concat/mirror/raid driver
options VINUMDEBUG #enable Vinum debugging hooks
# Size of the kernel message buffer. Should be N * pagesize.
@@ -926,15 +936,13 @@ device isa
# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
# reset the CPU for reboot. This is needed on some systems with broken
# keyboard controllers.
-#
-# PAS_JOYSTICK_ENABLE enables the gameport on the ProAudio Spectrum
+options COMPAT_OLDISA #Use ISA shims and glue for old drivers
options AUTO_EOI_1
-#options AUTO_EOI_2
+options AUTO_EOI_2
+
options MAXMEM="(128*1024)"
-#options BROKEN_KEYBOARD_RESET
-#options PAS_JOYSTICK_ENABLE
-options COMPAT_OLDISA #Use ISA shims and glue for old drivers
+options BROKEN_KEYBOARD_RESET
# Enable support for the kernel PLL to use an external PPS signal,
# under supervision of [x]ntpd(8)
@@ -952,10 +960,14 @@ options PPS_SYNC
options NTIMECOUNTER=20
# The keyboard controller; it controls the keyboard and the PS/2 mouse.
-device atkbdc0 at isa? port IO_KBD
+device atkbdc 1
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
# The AT keyboard
-device atkbd0 at atkbdc? irq 1
+device atkbd
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
# Options for atkbd:
options ATKBD_DFLT_KEYMAP # specify the built-in keymap
@@ -971,7 +983,9 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev
# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads
# PS/2 mouse
-device psm0 at atkbdc? irq 12
+device psm
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
# Options for psm:
options PSM_HOOKRESUME #hook the system resume event, useful
@@ -979,7 +993,8 @@ options PSM_HOOKRESUME #hook the system resume event, useful
options PSM_RESETAFTERSUSPEND #reset the device at the resume event
# The video card driver.
-device vga0 at isa?
+device vga
+hint.vga.0.at="isa"
# Options for vga:
# Try the following option if the mouse pointer is not drawn correctly
@@ -1002,10 +1017,11 @@ options VGA_WIDTH90 # support 90 column modes
options VESA
# Splash screen at start up! Screen savers require this too.
-pseudo-device splash
+device splash
# The pcvt console driver (vt220 compatible).
-device vt0 at isa?
+device vt
+hint.vt.0.at="isa"
options XSERVER # support for running an X server on vt
options FAT_CURSOR # start with block cursor
# This PCVT option is for keyboards such as those used on IBM ThinkPad laptops
@@ -1022,7 +1038,8 @@ options PCVT_VT220KEYB
options PCVT_GREENSAVER
# The syscons console driver (sco color console compatible).
-device sc0 at isa?
+device sc 1
+hint.sc.0.at="isa"
options MAXCONS=16 # number of virtual consoles
options SC_ALT_MOUSE_IMAGE # simplified mouse cursor in text mode
options SC_DFLT_FONT # compile font in
@@ -1050,8 +1067,8 @@ options SC_NO_HISTORY
options SC_NO_SYSMOUSE
# `flags' for sc
-# 0x80 Put the video card in the VESA 800x600 dots, 16 color mode
-# 0x100 Probe for a keyboard device periodically if one is not present
+# 0x80 Put the video card in the VESA 800x600 dots, 16 color mode
+# 0x100 Probe for a keyboard device periodically if one is not present
#
# The Numeric Processing eXtension driver. In addition to this, you
@@ -1060,7 +1077,11 @@ options SC_NO_SYSMOUSE
# *and* a math emulator compiled into the kernel, the hardware FPU
# will be used, unless it is found to be broken or unless "flags" to
# npx0 includes "0x08", which requests preference for the emulator.
-device npx0 at nexus? port IO_NPX flags 0x0 irq 13
+device npx
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F0"
+hint.npx.0.flags="0x0"
+hint.npx.0.irq="13"
#
# `flags' for npx0:
@@ -1099,11 +1120,16 @@ device npx0 at nexus? port IO_NPX flags 0x0 irq 13
# probed correctly.
#
-device bt0 at isa? port IO_BT0
-device adv0 at isa?
+device bt
+hint.bt.0.at="isa"
+hint.bt.0.port="0x330"
+device adv
+hint.adv.0.at="isa"
device adw
-device aha0 at isa?
-device aic0 at isa?
+device aha 1
+hint.aha.0.at="isa"
+device aic
+hint.aic.0.at="isa"
#
# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers. Only
@@ -1137,30 +1163,42 @@ options ATA_STATIC_ID
options ATA_ENABLE_ATAPI_DMA
#
-# For older non-PCI systems, these are the lines to use:
-#device ata0 at isa? port IO_WD1 irq 14
-#device ata1 at isa? port IO_WD2 irq 15
+# For older non-PCI, non-PnPBIOS systems, these are the hints lines to add:
+hint.ata.0.at="isa"
+hint.ata.0.port="0x1f0"
+hint.ata.0.irq="14"
+hint.ata.1.at="isa"
+hint.ata.1.port="0x170"
+hint.ata.1.irq="15"
#
# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
#
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
+device fdc
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
#
# FDC_DEBUG enables floppy debugging. Since the debug output is huge, you
# gotta turn it actually on by setting the variable fd_debug with DDB,
# however.
options FDC_DEBUG
#
-# Activate this line instead of the fdc0 line above if you happen to
-# have an Insight floppy tape. Probing them proved to be dangerous
-# for people with floppy disks only, so it's "hidden" behind a flag:
-#device fdc0 at isa? port IO_FD1 flags 1 irq 6 drq 2
+# Activate this line if you happen to have an Insight floppy tape.
+# Probing them proved to be dangerous for people with floppy disks only,
+# so it's "hidden" behind a flag:
+#hint.fdc.0.flags="1"
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
+# Specify floppy devices
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
# M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
-device fla0 at isa?
+device fla
+hint.fla.0.at="isa"
#
# Other standard PC hardware: `mse', `sio', etc.
@@ -1168,9 +1206,16 @@ device fla0 at isa?
# mse: Logitech and ATI InPort bus mouse ports
# sio: serial ports (see sio(4))
-device mse0 at isa? port 0x23c irq 5
+device mse
+hint.mse.0.at="isa"
+hint.mse.0.port="0x23c"
+hint.mse.0.irq="5"
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
+device sio
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
#
# `flags' for serial drivers that support consoles (only for sio now):
@@ -1232,30 +1277,81 @@ options COM_MULTIPORT #code for some cards with shared IRQs
# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
# (no options needed)
#
-device ar0 at isa? port 0x300 irq 10 iomem 0xd0000
-device cs0 at isa? port 0x300
-device cx0 at isa? port 0x240 irq 15 drq 7
-device ed0 at isa? port 0x280 irq 5 iomem 0xd8000
-device el0 at isa? port 0x300 irq 9
-device ep
-device ex
-device fe0 at isa? port 0x300
-device ie0 at isa? port 0x300 irq 5 iomem 0xd0000
-device ie1 at isa? port 0x360 irq 7 iomem 0xd0000
-device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-device lnc0 at isa? port 0x280 irq 10 drq 0
-device rdp0 at isa? port 0x378 irq 7 flags 2
-device sr0 at isa? port 0x300 irq 5 iomem 0xd0000
-device sn0 at isa? port 0x300 irq 10
-device an
-device awi
-device wi
+device ar 1
+hint.ar.0.at="isa"
+hint.ar.0.port="0x300"
+hint.ar.0.irq="10"
+hint.ar.0.iomem="0xd0000"
+device cs
+hint.cs.0.at="isa"
+hint.cs.0.port="0x300"
+device cx 1
+hint.cx.0.at="isa"
+hint.cx.0.port="0x240"
+hint.cx.0.irq="15"
+hint.cx.0.drq="7"
+device ed
+hint.ed.0.at="isa"
+hint.ed.0.port="0x280"
+hint.ed.0.irq="5"
+hint.ed.0.iomem="0xd8000"
+device el 1
+hint.el.0.at="isa"
+hint.el.0.port="0x300"
+hint.el.0.irq="9"
+device ep
+device ex
+device fe 1
+hint.fe.0.at="isa"
+hint.fe.0.port="0x300"
+device ie 2
+hint.ie.0.at="isa"
+hint.ie.0.port="0x300"
+hint.ie.0.irq="5"
+hint.ie.0.iomem="0xd0000"
+hint.ie.1.at="isa"
+hint.ie.1.port="0x360"
+hint.ie.1.irq="7"
+hint.ie.1.iomem="0xd0000"
+device le 1
+hint.le.0.at="isa"
+hint.le.0.port="0x300"
+hint.le.0.irq="5"
+hint.le.0.iomem="0xd0000"
+device lnc 1
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x280"
+hint.lnc.0.irq="10"
+hint.lnc.0.drq="0"
+device rdp 1
+hint.rdp.0.at="isa"
+hint.rdp.0.port="0x378"
+hint.rdp.0.irq="7"
+hint.rdp.0.flags="2"
+device sr 1
+hint.sr.0.at="isa"
+hint.sr.0.port="0x300"
+hint.sr.0.irq="5"
+hint.sr.0.iomem="0xd0000"
+device sn
+hint.sn.0.at="isa"
+hint.sn.0.port="0x300"
+hint.sn.0.irq="10"
+device an
+device awi
+device wi
options WLCACHE # enables the signal-strength cache
options WLDEBUG # enables verbose debugging output
-device wl0 at isa? port 0x300
-device xe
+device wl 1
+hint.wl.0.at="isa"
+hint.wl.0.port="0x300"
+device xe
-device oltr0 at isa?
+device oltr
+options OLTR_NO_BULLSEYE_MAC
+options OLTR_NO_HAWKEYE_MAC
+options OLTR_NO_TMS_MAC
+hint.oltr.0.at="isa"
#
# ATM related options
@@ -1263,7 +1359,7 @@ device oltr0 at isa?
# The `en' device provides support for Efficient Networks (ENI)
# ENI-155 PCI midway cards, and the Adaptec 155Mbps PCI ATM cards (ANA-59x0).
#
-# atm pseudo-device provides generic atm functions and is required for
+# atm device provides generic atm functions and is required for
# atm devices.
# NATM enables the netnatm protocol family that can be used to
# bypass TCP/IP.
@@ -1272,36 +1368,12 @@ device oltr0 at isa?
# for more details, please read the original documents at
# http://www.ccrc.wustl.edu/pub/chuck/tech/bsdatm/bsdatm.html
#
-pseudo-device atm
-device en
+device atm
+device en 1
options NATM #native ATM
#
-# Audio drivers: `snd', `sb', `pas', `gus', `pca'
-#
-# snd: Voxware sound support code
-# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
-# sbxvi: SoundBlaster 16
-# sbmidi: SoundBlaster 16 MIDI interface
-# pas: ProAudioSpectrum PCM and MIDI
-# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
-# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
-# mss: Microsoft Sound System
-# css: Crystal Sound System (CSS 423x PnP)
-# sscape: Ensoniq Soundscape MIDI interface
-# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
-# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
-# uart: stand-alone 6850 UART for MIDI
-# mpu: Roland MPU-401 stand-alone card
-#
-# Note: It has been reported that ISA DMA with the SoundBlaster will
-# lock up the machine (PR docs/5358). If this happens to you,
-# turning off USWC write posting in your machine's BIOS may fix
-# the problem.
-#
-# Beware! The addresses specified below are also hard-coded in
-# src/sys/i386/isa/sound/sound_config.h. If you change the values here, you
-# must also change the values in the include file.
+# Audio drivers: `pcm', `sbc', `gusc', `pca'
#
# pcm: PCM audio through various sound cards.
#
@@ -1322,48 +1394,6 @@ options NATM #native ATM
#
# pca: PCM audio through your PC speaker
#
-# If you have a GUS-MAX card and want to use the CS4231 codec on the
-# card the drqs for the gus max must be 8 bit (1, 2, or 3).
-#
-# If you would like to use the full duplex option on the gus, then define
-# flags to be the ``read dma channel''.
-#
-# options BROKEN_BUS_CLOCK #PAS-16 isn't working and OPTI chipset
-# options SYMPHONY_PAS #PAS-16 isn't working and SYMPHONY chipset
-# options EXCLUDE_SBPRO #PAS-16
-# options SBC_IRQ=5 #PAS-16. Must match irq on sb0 line.
-# PAS16: The order of the pas0/sb0/opl0 is important since the
-# sb emulation is enabled in the pas-16 attach.
-#
-# To override the GUS defaults use:
-# options GUS_DMA2
-# options GUS_DMA
-# options GUS_IRQ
-#
-# The src/sys/i386/isa/sound/sound.doc has more information.
-
-# Controls all "VOXWARE" driver sound devices. See Luigi's driver
-# below for an alternate which may work better for some cards.
-#
-#device snd
-#device pas0 at isa? port 0x388 irq 10 drq 6
-#device sb0 at isa? port 0x220 irq 5 drq 1
-#device sbxvi0 at isa? drq 5
-#device sbmidi0 at isa? port 0x330
-#device awe0 at isa? port 0x620
-#device gus0 at isa? port 0x220 irq 12 drq 1
-##device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3
-#device mss0 at isa? port 0x530 irq 10 drq 1
-#device css0 at isa? port 0x534 irq 5 drq 1 flags 0x08
-#device sscape0 at isa? port 0x330 irq 9 drq 0
-#device trix0 at isa? port 0x330 irq 6 drq 0
-#device sscape_mss0 at isa? port 0x534 irq 5 drq 1
-#device opl0 at isa? port 0x388
-#device mpu0 at isa? port 0x330 irq 6 drq 0
-#device uart0 at isa? port 0x330 irq 5
-
-# The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!).
-#
# Supported cards include:
# Creative SoundBlaster ISA PnP/non-PnP
# Supports ESS and Avance ISA chips as well.
@@ -1372,12 +1402,16 @@ options NATM #native ATM
# Neomagic 256AV (ac97)
# Most of the more common ISA/PnP sb/mss/ess compatable cards.
-# For non-pnp sound cards with no bridge drivers only:
-device pcm0 at isa? irq 10 drq 1 flags 0x0
-#
-# For PnP/PCI sound cards
device pcm
+# For non-pnp sound cards with no bridge drivers only:
+hint.pcm.0.at="isa"
+hint.pcm.0.irq="10"
+hint.pcm.0.drq="1"
+hint.pcm.0.flags="0x0"
+
+# For PnP/PCI sound cards, no hints are required.
+
# The bridge drivers for sound cards. These can be seperately configured
# for providing services to the likes of new-midi (not in the tree yet).
# When used with 'device pcm' they also provide pcm sound services.
@@ -1388,11 +1422,23 @@ device pcm
# csa: Crystal Semiconductor CS461x/428x PCI
# For non-PnP cards:
-device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
-device gusc0 at isa? port 0x220 irq 5 drq 1 flags 0x13
+device sbc
+hint.sbc.0.at="isa"
+hint.sbc.0.port="0x220"
+hint.sbc.0.irq="5"
+hint.sbc.0.drq="1"
+hint.sbc.0.flags="0x15"
+device gusc
+hint.gusc.0.at="isa"
+hint.gusc.0.port="0x220"
+hint.gusc.0.irq="5"
+hint.gusc.0.drq="1"
+hint.gusc.0.flags="0x13"
# Not controlled by `snd'
-device pca0 at isa? port IO_TIMER1
+device pca
+hint.pca.0.at="isa"
+hint.pca.0.port="0x040"
#
# Miscellaneous hardware:
@@ -1443,26 +1489,31 @@ device pca0 at isa? port IO_TIMER1
# The exact values used for rp0 depend on how many boards you have
# in the system. The manufacturer's sample configs are listed as:
#
+# device rp # core driver support
+#
# Comtrol Rocketport ISA single card
-# device rp0 at isa? port 0x280
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x280"
#
# If instead you have two ISA cards, one installed at 0x100 and the
# second installed at 0x180, then you should add the following to
-# your kernel configuration file:
-#
-# device rp0 at isa? port 0x100
-# device rp1 at isa? port 0x180
+# your kernel probe hints:
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x100"
+# hints.rp.1.at="isa"
+# hints.rp.1.port="0x180"
#
# For 4 ISA cards, it might be something like this:
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x180"
+# hints.rp.1.at="isa"
+# hints.rp.1.port="0x100"
+# hints.rp.2.at="isa"
+# hints.rp.2.port="0x340"
+# hints.rp.3.at="isa"
+# hints.rp.3.port="0x240"
#
-# device rp0 at isa? port 0x180
-# device rp1 at isa? port 0x100
-# device rp2 at isa? port 0x340
-# device rp3 at isa? port 0x240
-#
-# And for PCI cards, you only need say:
-#
-# device rp
+# And for PCI cards, you need no hints.
# Notes on the Digiboard driver:
#
@@ -1471,7 +1522,6 @@ device pca0 at isa? port IO_TIMER1
# 0x02 - use the windowed PC/Xe in 64K mode (dgb only)
# Notes on the Specialix SI/XIO driver:
-# **This is NOT a Specialix supported Driver!**
# The host card is memory, not IO mapped.
# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
@@ -1492,34 +1542,99 @@ device pca0 at isa? port IO_TIMER1
# Brumby: flags 2 iosiz 0x4000
# Stallion: flags 1 iosiz 0x10000
-device mcd0 at isa? port 0x300 irq 10
+device mcd 1
+hint.mcd.0.at="isa"
+hint.mcd.0.port="0x300"
+hint.mcd.0.irq="10"
# for the Sony CDU31/33A CDROM
-device scd0 at isa? port 0x230
+device scd 1
+hint.scd.0.at="isa"
+hint.scd.0.port="0x230"
# for the SoundBlaster 16 multicd - up to 4 devices
-device matcd0 at isa? port 0x230
-device wt0 at isa? port 0x300 irq 5 drq 1
-device ctx0 at isa? port 0x230 iomem 0xd0000
-device spigot0 at isa? port 0xad6 irq 15 iomem 0xee000
-device apm0
-device gp0 at isa? port 0x2c0
-device gsc0 at isa? port IO_GSC1 drq 3
-device joy0 at isa? port IO_GAME
-device cy0 at isa? irq 10 iomem 0xd4000 iosiz 0x2000
+device matcd 1
+hint.matcd.0.at="isa"
+hint.matcd.0.port="0x230"
+device wt 1
+hint.wt.0.at="isa"
+hint.wt.0.port="0x300"
+hint.wt.0.irq="5"
+hint.wt.0.drq="1"
+device ctx 1
+hint.ctx.0.at="isa"
+hint.ctx.0.port="0x230"
+hint.ctx.0.iomem="0xd0000"
+device spigot 1
+hint.spigot.0.at="isa"
+hint.spigot.0.port="0xad6"
+hint.spigot.0.irq="15"
+hint.spigot.0.iomem="0xee000"
+device apm
+hint.apm.0.flags="0x20"
+device gp
+hint.gp.0.at="isa"
+hint.gp.0.port="0x2c0"
+device gsc 1
+hint.gsc.0.at="isa"
+hint.gsc.0.port="0x270"
+hint.gsc.0.drq="3"
+device joy # PnP aware, hints for nonpnp only
+hint.joy.0.at="isa"
+hint.joy.0.port="0x201"
+device cy 1
options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
-device dgb0 at isa? port 0x220 iomem 0xfc000
+hint.cy.0.at="isa"
+hint.cy.0.irq="10"
+hint.cy.0.iomem="0xd4000"
+hint.cy.0.iosiz="0x2000"
+device dgb 1
options NDGBPORTS=16 # Defaults to 16*NDGB
-device dgm0 at isa? port 0x104 iomem 0xd0000
-device labpc0 at isa? port 0x260 irq 5
-device rc0 at isa? port 0x220 irq 12
-device rp0 at isa? port 0x280
+hint.dgb.0.at="isa"
+hint.dgb.0.port="0x220"
+hint.dgb.0.iomem="0xfc000"
+device dgm 1
+hint.dgm.0.at="isa"
+hint.dgm.0.port="0x104"
+hint.dgm.0.iomem="0xd0000"
+device labpc 1
+hint.labpc.0.at="isa"
+hint.labpc.0.port="0x260"
+hint.labpc.0.irq="5"
+device rc 1
+hint.rc.0.at="isa"
+hint.rc.0.port="0x220"
+hint.rc.0.irq="12"
+device rp
+hint.rp.0.at="isa"
+hint.rp.0.port="0x280"
# the port and irq for tw0 are fictitious
-device tw0 at isa? port 0x380 irq 11
-device si0 at isa? iomem 0xd0000 irq 12
-device asc0 at isa? port IO_ASC1 drq 3 irq 10
-device stl0 at isa? port 0x2a0 irq 10
-device stli0 at isa? port 0x2a0 iomem 0xcc000 flags 23 iosiz 0x1000
-# You are unlikely to have the hardware for loran0 <phk@FreeBSD.org>
-device loran0 at isa? irq 5
+device tw 1
+hint.tw.0.at="isa"
+hint.tw.0.port="0x380"
+hint.tw.0.irq="11"
+device si
+options SI_DEBUG
+hint.si.0.at="isa"
+hint.si.0.iomem="0xd0000"
+hint.si.0.irq="12"
+device asc 1
+hint.asc.0.at="isa"
+hint.asc.0.port="0x3EB"
+hint.asc.0.drq="3"
+hint.asc.0.irq="10"
+device stl
+hint.stl.0.at="isa"
+hint.stl.0.port="0x2a0"
+hint.stl.0.irq="10"
+device stli
+hint.stli.0.at="isa"
+hint.stli.0.port="0x2a0"
+hint.stli.0.iomem="0xcc000"
+hint.stli.0.flags="23"
+hint.stli.0.iosiz="0x1000"
+# You are unlikely to have the hardware for loran <phk@FreeBSD.org>
+device loran
+hint.loran.0.at="isa"
+hint.loran.0.irq="5"
# HOT1 Xilinx 6200 card (http://www.vcc.com/)
device xrpu
@@ -1585,7 +1700,7 @@ device pci
# PCI options
#
-#options PCI_QUIET #quiets PCI code on chipset settings
+options PCI_QUIET #quiets PCI code on chipset settings
options COMPAT_OLDPCI #Use PCI shims and glue for old drivers
@@ -1688,7 +1803,7 @@ options COMPAT_OLDPCI #Use PCI shims and glue for old drivers
# in Dell Latitude laptop docking stations.
#
# The `fpa' device provides support for the Digital DEFPA PCI FDDI
-# adapter. pseudo-device fddi is also needed.
+# adapter. device fddi is also needed.
#
# The `meteor' device is a PCI video capture board. It can also have the
# following options:
@@ -1805,8 +1920,10 @@ options SCSI_ISP_WWN="0x5000000099990000"
#options ISP_DISABLE_1080_SUPPORT
#options ISP_DISABLE_12160_SUPPORT
#options ISP_DISABLE_2100_SUPPORT
+#options ISP_DISABLE_2200_SUPPORT
#options ISP_COMPILE_1020_FW=1
#options ISP_COMPILE_1080_FW=1
+#options ISP_COMPILE_12160_FW=1
#options ISP_COMPILE_2100_FW=1
#options ISP_COMPILE_2200_FW=1
#options ISP_TARGET_MODE=1
@@ -1849,15 +1966,15 @@ device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device de # DEC/Intel DC21x4x (``Tulip'')
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device tx # SMC 9432TX (83c170 ``EPIC'')
-device vx # 3Com 3c590, 3c595 (``Vortex'')
+device vx 1 # 3Com 3c590, 3c595 (``Vortex'')
device sk
device ti
device wx
-device fpa
-device meteor
+device fpa 1
+device meteor 1
#The oltr driver in the ISA section will also find PCI cards.
-#device oltr0
+device oltr
# Brooktree driver has been ported to the new I2C framework. Thus,
@@ -1868,15 +1985,16 @@ device meteor
# The iic and smb devices are only needed if you want to control other
# I2C slaves connected to the external connector of some cards.
#
-device bktr
+device bktr 1
#
# PCCARD/PCMCIA
#
# card: pccard slots
# pcic: isa/pccard bridge
-device pcic0 at isa?
-device pcic1 at isa?
+device pcic
+hint.pcic.0.at="isa"
+hint.pcic.1.at="isa"
device card
# You may need to reset all pccards after resuming
@@ -1910,7 +2028,7 @@ options POWERFAIL_NMI # make it beep instead of panicing
#
device smbus # Bus support, required for smb below.
device intpm
-device alpm
+device alpm 1
device smb
@@ -1938,7 +2056,10 @@ device ic
device iic
device iicsmb # smb over i2c bridge
-device pcf0 at isa? port 0x320 irq 5
+device pcf
+hint.pcf.0.at="isa"
+hint.pcf.0.port="0x320"
+hint.pcf.0.irq="5"
# ISDN4BSD section
#
@@ -1951,142 +2072,156 @@ device pcf0 at isa? port 0x320 irq 5
# due to not being converted to newbus. We hope to get them back to support
# in the near future.
#
+device isic # core driver support
+
# ISA bus non-PnP Cards:
# ----------------------
#
# Teles S0/8 or Niccy 1008
options TEL_S0_8
-device isic0 at isa? iomem 0xd0000 irq 5 flags 1
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0xd0000"
+hint.isic.0.irq="5"
+hint.isic.0.flags="1"
#
# Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
options TEL_S0_16
-#device isic0 at isa? port 0xd80 iomem 0xd0000 irq 5 flags 2
+hint.isic.0.at="isa"
+hint.isic.0.port="0xd80"
+hint.isic.0.iomem="0xd0000"
+hint.isic.0.irq="5"
+hint.isic.0.flags="2"
#
# Teles S0/16.3
options TEL_S0_16_3
-#device isic0 at isa? port 0xd80 irq 5 flags 3
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0xd80"
+hint.isic.0.irq="5"
+hint.isic.0.flags="3"
#
# AVM A1 or AVM Fritz!Card
options AVM_A1
-#device isic0 at isa? port 0x340 irq 5 flags 4
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0x340"
+hint.isic.0.irq="5"
+hint.isic.0.flags="4"
#
# USRobotics Sportster ISDN TA intern (not supported yet!)
#options USR_STI
-#device isic0 at isa? port 0x268 irq 5 flags 7
+#hint.isic.0.at="isa"
+#hint.isic.0.iomem="0x268"
+#hint.isic.0.irq="5"
+#hint.isic.0.flags="7"
#
# ITK ix1 Micro ( < V.3, non-PnP version ) (not supported yet!)
#options ITKIX1
-#device isic0 at isa? port 0x398 irq 10 flags 18
+#hint.isic.0.at="isa"
+#hint.isic.0.iomem="0x398"
+#hint.isic.0.irq="10"
+#hint.isic.0.flags="18"
#
# ELSA PCC-16
options ELSA_PCC16
-#device isic0 at isa? port 0x360 irq 10 flags 20
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0x360"
+hint.isic.0.irq="10"
+hint.isic.0.flags="20"
#
# ISA bus PnP Cards:
# ------------------
#
# Teles S0/16.3 PnP
options TEL_S0_16_3_P
-#device isic
#
# Creatix ISDN-S0 P&P
options CRTX_S0_P
-#device isic
#
# Dr. Neuhaus Niccy Go@
options DRN_NGO
-#device isic
#
# Sedlbauer Win Speed
options SEDLBAUER
-#device isic
#
# Dynalink IS64PH (not supported yet!)
#options DYNALINK
-#device isic
#
# ELSA QuickStep 1000pro ISA
options ELSA_QS1ISA
-#device isic
#
# ITK ix1 Micro ( V.3, PnP version ) (not supported yet!)
#options ITKIX1
-#device isic
#
# AVM Fritz!Card PnP (not supported yet!)
#options AVM_PNP
-#device isic
#
# Siemens I-Surf 2.0
options SIEMENS_ISURF2
-#device isic
#
# Asuscom ISDNlink 128K ISA
#options ASUSCOM_IPAC
-#device isic
#
# PCI bus Cards:
# --------------
#
# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
options ELSA_QS1PCI
-#device isic
#
# AVM Fritz!Card PCI
options AVM_A1_PCI
-#device isic
#
# PCMCIA Cards:
# -------------
#
# AVM PCMCIA Fritz!Card (not supported yet!)
#options AVM_A1_PCMCIA
-#device isic0 at isa? port 0x340 irq 5 flags 10
#
# Active Cards:
# -------------
#
# Stollmann Tina-dd control device
# (driver under development, not fully functional!)
-device tina0 at isa? port 0x260 irq 10
+device tina
+hint.tina.0.at="isa"
+hint.tina.0.port="0x260"
+hint.tina.0.irq="10"
#
# ISDN Protocol Stack
# -------------------
#
# Q.921 / layer 2 - i4b passive cards D channel handling
-pseudo-device "i4bq921"
+device "i4bq921"
#
# Q.931 / layer 3 - i4b passive cards D channel handling
-pseudo-device "i4bq931"
+device "i4bq931"
#
# layer 4 - i4b common passive and active card handling
-pseudo-device "i4b"
+device "i4b"
#
# ISDN devices
# ------------
#
# userland driver to do ISDN tracing (for passive cards only)
-pseudo-device "i4btrc" 4
+device "i4btrc" 4
#
# userland driver to control the whole thing
-pseudo-device "i4bctl"
+device "i4bctl"
#
# userland driver for access to raw B channel
-pseudo-device "i4brbch" 4
+device "i4brbch" 4
#
# userland driver for telephony
-pseudo-device "i4btel" 2
+device "i4btel" 2
#
# network driver for IP over raw HDLC ISDN
-pseudo-device "i4bipr" 4
+device "i4bipr" 4
# enable VJ header compression detection for ipr i/f
options IPR_VJ
# enable logging of the first n IP packets to isdnd (n=32 here)
-#options IPR_LOG=32
+options IPR_LOG=32
#
# network driver for sync PPP over ISDN; requires an equivalent
-# number of sppp pseudo-devices to be configured
-pseudo-device "i4bisppp" 4
+# number of sppp device to be configured
+device "i4bisppp" 4
# Parallel-Port Bus
@@ -2122,7 +2257,9 @@ options PLIP_DEBUG # Parallel network IP interface debug
options PCFCLOCK_VERBOSE # Verbose pcfclock driver
options PCFCLOCK_MAX_RETRIES=5 # Maximum read tries (default 10)
-device ppc0 at isa? irq 7
+device ppc
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
device ppbus
device vpo
device lpt
@@ -2167,7 +2304,7 @@ options PMAP_SHPGPERPROC=201
# (see also sysctls "vm.defer_swapspace_pageouts" and
# "vm.disable_swapspace_pageouts")
#
-#options NO_SWAPPING
+options NO_SWAPPING
# Set the number of sf_bufs to allocate. sf_bufs are virtual buffers
# for sendfile(2) that are used to map file VM pages, and normally
@@ -2194,7 +2331,7 @@ options DEBUG_LOCKS
# The STREAMS network emulation code can also be compiled statically or as a
# module. If loaded as a module, it must be loaded before the svr4 module
# (the /usr/sbin/svr4 script does this for you). If compiling statically,
-# the `streams' pseudo-device must be configured into any kernel which also
+# the `streams' device must be configured into any kernel which also
# specifies COMPAT_SVR4. It is possible to have a statically-configured
# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
# script understands that it doesn't need to load the `streams' module under
@@ -2204,7 +2341,7 @@ options DEBUG_LOCKS
#
options COMPAT_SVR4 # build emulator statically
options DEBUG_SVR4 # enable verbose debugging
-pseudo-device streams # STREAMS network driver (required for svr4).
+device streams # STREAMS network driver (required for svr4).
# The 'dpt' driver provides support for DPT controllers (http://www.dpt.com/).
# These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
@@ -2348,9 +2485,6 @@ options MSGTQL=41
options NBUF=512
options NETATALKDEBUG
options NMBCLUSTERS=1024
-#options OLTR_NO_BULLSEYE_MAC
-#options OLTR_NO_HAWKEYE_MAC
-#options OLTR_NO_TMS_MAC
options PANIC_REBOOT_WAIT_TIME=16
options PSM_DEBUG=1
options SCSI_NCR_DEBUG
@@ -2375,7 +2509,6 @@ options SHMSEG=9
options SHM_PHYS_BACKED
options SHOW_BUSYBUFS # List buffers that prevent root unmount
options SIMPLELOCK_DEBUG
-options SI_DEBUG
options SLIP_IFF_OPTS
options SPX_HACK
options TIMER_FREQ="((14318182+6)/12)"
diff --git a/sys/conf/files.alpha b/sys/conf/files.alpha
index a8a5a06..91e461d 100644
--- a/sys/conf/files.alpha
+++ b/sys/conf/files.alpha
@@ -174,7 +174,6 @@ dev/syscons/syscons.c optional sc
dev/syscons/sysmouse.c optional sc
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
-isa/fd.c optional fd
isa/fd.c optional fdc
isa/ppc.c optional ppc
isa/psm.c optional psm
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 509a400..1b4347d 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -357,7 +357,6 @@ i4b/layer1/i4b_tel_s08.c optional isic
i4b/layer1/i4b_usr_sti.c optional isic
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
-isa/fd.c optional fd
isa/fd.c optional fdc
isa/ppc.c optional ppc
isa/psm.c optional psm
diff --git a/sys/conf/files.pc98 b/sys/conf/files.pc98
index 8a63260..9523e15 100644
--- a/sys/conf/files.pc98
+++ b/sys/conf/files.pc98
@@ -347,7 +347,6 @@ pc98/i386/userconfig.c optional userconfig
pc98/pc98/atapi.c optional wdc
pc98/pc98/clock.c standard
pc98/pc98/diskslice_machdep.c standard
-pc98/pc98/fd.c optional fd
pc98/pc98/fd.c optional fdc
pc98/pc98/if_ed.c optional ed
pc98/pc98/isa_dma.c optional isa
@@ -367,7 +366,6 @@ pc98/pc98/spkr.c optional speaker
pc98/pc98/syscons.c optional sc
pc98/pc98/syscons_pc98.c optional sc
pc98/pc98/wd.c count wdc
-pc98/pc98/wd.c count wd
pc98/pc98/wd_cd.c optional wcd wdc
pc98/pc98/wfd.c optional wfd wdc
pc98/pc98/wst.c optional wst wdc
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index ed19bb9..404fb9a 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -25,6 +25,8 @@ cpu I686_CPU
ident GENERIC
maxusers 32
+hints "GENERIC.hints" #Default places to look for devices.
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulation
@@ -65,17 +67,13 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev
device isa
device eisa
device pci
-options COMPAT_OLDISA # Old ISA driver shims
-options COMPAT_OLDPCI # Old PCI driver shims
+options COMPAT_OLDISA # compatability shims for lnc, fe, le
+options COMPAT_OLDPCI # compatability shims for lnc, vx
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
+device fdc
# ATA and ATAPI devices
-device ata0 at isa? port IO_WD1 irq 14
-device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
@@ -93,11 +91,11 @@ device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
-device adv0 at isa?
+device adv
device adw
-device bt0 at isa?
-device aha0 at isa?
-device aic0 at isa?
+device bt
+device aha 1
+device aic
# SCSI peripherals
device scbus # SCSI bus (required)
@@ -112,44 +110,40 @@ device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
# atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc0 at isa? port IO_KBD
-device atkbd0 at atkbdc? irq 1 flags 0x1
-device psm0 at atkbdc? irq 12
+device atkbdc 1
+device atkbd
+device psm
-device vga0 at isa?
+device vga
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa? flags 0x100
+device sc 1
# Enable this for the pcvt (VT220 compatible) console driver
-#device vt0 at isa?
+#device vt
#options XSERVER # support for X server on a vt console
#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
# Floating point support - do not disable.
-device npx0 at nexus? port IO_NPX irq 13
+device npx
# Power management support (see LINT for more options)
-device apm0 at nexus? disable flags 0x20 # Advanced Power Management
+device apm
# PCCARD (PCMCIA) support
device card
-device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
-device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable
+device pcic
# Serial (COM) ports
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-device sio1 at isa? port IO_COM2 irq 3
-device sio2 at isa? disable port IO_COM3 irq 5
-device sio3 at isa? disable port IO_COM4 irq 9
+device sio
# Parallel port
-device ppc0 at isa? irq 7
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -177,11 +171,11 @@ device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ISA Ethernet NICs.
-device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
+device ed
device ex
device ep
-device cs0 at isa? port 0x300
-device sn0 at isa? port 0x300 irq 10
+device cs
+device sn
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
@@ -197,25 +191,25 @@ device awi
# Xircom pccard ethernet
device xe
# The probe order of these is presently determined by i386/isa/isa_compat.c.
-device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
-device fe0 at isa? port 0x300
-device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-device lnc0 at isa? port 0x280 irq 10 drq 0
+device ie
+device fe
+device le
+device lnc
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying (translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf # Berkeley packet filter
+device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
diff --git a/sys/i386/conf/GENERIC.hints b/sys/i386/conf/GENERIC.hints
new file mode 100644
index 0000000..29183de
--- /dev/null
+++ b/sys/i386/conf/GENERIC.hints
@@ -0,0 +1,85 @@
+# $FreeBSD$
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
+hint.ata.0.at="isa"
+hint.ata.0.port="0x1F0"
+hint.ata.0.irq="14"
+hint.ata.1.at="isa"
+hint.ata.1.port="0x170"
+hint.ata.1.irq="15"
+hint.adv.0.at="isa"
+hint.bt.0.at="isa"
+hint.aha.0.at="isa"
+hint.aic.0.at="isa"
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
+hint.atkbd.0.flags="0x1"
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
+hint.vga.0.at="isa"
+hint.sc.0.at="isa"
+hint.sc.0.flags="0x100"
+hint.vt.0.at="isa"
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F0"
+hint.npx.0.irq="13"
+hint.apm.0.at="nexus"
+hint.apm.0.disabled="1"
+hint.apm.0.flags="0x20"
+hint.pcic.0.at="isa"
+hint.pcic.0.irq="10"
+hint.pcic.0.port="0x3e0"
+hint.pcic.0.iomem="0xd0000"
+hint.pcic.1.at="isa"
+hint.pcic.1.irq="11"
+hint.pcic.1.port="0x3e2"
+hint.pcic.1.iomem="0xd4000"
+hint.pcic.1.disabled="1"
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+hint.sio.1.at="isa"
+hint.sio.1.port="0x2F8"
+hint.sio.1.irq="3"
+hint.sio.2.at="isa"
+hint.sio.2.disabled="1"
+hint.sio.2.port="0x3E8"
+hint.sio.2.irq="5"
+hint.sio.3.at="isa"
+hint.sio.3.disabled="1"
+hint.sio.3.port="0x2E8"
+hint.sio.3.irq="9"
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
+hint.ed.0.at="isa"
+hint.ed.0.port="0x280"
+hint.ed.0.irq="10"
+hint.ed.0.iomem="0xd8000"
+hint.cs.0.at="isa"
+hint.cs.0.port="0x300"
+hint.sn.0.at="isa"
+hint.sn.0.port="0x300"
+hint.sn.0.irq="10"
+hint.ie.0.at="isa"
+hint.ie.0.port="0x300"
+hint.ie.0.irq="10"
+hint.ie.0.iomem="0xd0000"
+hint.fe.0.at="isa"
+hint.fe.0.port="0x300"
+hint.le.0.at="isa"
+hint.le.0.port="0x300"
+hint.le.0.irq="5"
+hint.le.0.iomem="0xd0000"
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x280"
+hint.lnc.0.irq="10"
+hint.lnc.0.drq="0"
diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT
deleted file mode 100644
index c60f78e..0000000
--- a/sys/i386/conf/LINT
+++ /dev/null
@@ -1,2385 +0,0 @@
-#
-# LINT -- config file for checking all the sources, tries to pull in
-# as much of the source tree as it can.
-#
-# $FreeBSD$
-#
-# NB: You probably don't want to try running a kernel built from this
-# file. Instead, you should start from GENERIC, and add options from
-# this file as required.
-#
-
-#
-# This directive is mandatory; it defines the architecture to be
-# configured for; in this case, the 386 family based IBM-PC and
-# compatibles.
-#
-machine i386
-
-#
-# This is the ``identification'' of the kernel. Usually this should
-# be the same as the name of your kernel.
-#
-ident LINT
-
-#
-# The `maxusers' parameter controls the static sizing of a number of
-# internal system tables by a complicated formula defined in param.c.
-#
-maxusers 10
-
-#
-# The `makeoptions' parameter allows variables to be passed to the
-# generated Makefile in the build area.
-#
-# CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
-# after most other flags. Here we use it to inhibit use of non-optimal
-# gcc builtin functions (e.g., memcmp).
-#
-# DEBUG happens to be magic.
-# The following is equivalent to 'config -g KERNELNAME' and creates
-# 'kernel.debug' compiled with -g debugging as well as a normal
-# 'kernel'. Use 'make install.debug' to install the debug kernel
-# but that isn't normally necessary as the debug symbols are not loaded
-# by the kernel and are not useful there anyway.
-#
-# KERNEL can be overridden so that you can change the default name of your
-# kernel.
-#
-makeoptions CONF_CFLAGS=-fno-builtin #Don't allow use of memcmp, etc.
-#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
-#makeoptions KERNEL=foo #Build kernel "foo" and install "/foo"
-
-#
-# Certain applications can grow to be larger than the 128M limit
-# that FreeBSD initially imposes. Below are some options to
-# allow that limit to grow to 256MB, and can be increased further
-# with changing the parameters. MAXDSIZ is the maximum that the
-# limit can be set to, and the DFLDSIZ is the default value for
-# the limit. You might want to set the default lower than the
-# max, and explicitly set the maximum with a shell command for processes
-# that regularly exceed the limit like INND.
-#
-options MAXDSIZ="(256*1024*1024)"
-options DFLDSIZ="(256*1024*1024)"
-
-#
-# BLKDEV_IOSIZE sets the default block size used in user block
-# device I/O. Note that this value will be overriden by the label
-# when specifying a block device from a label with a non-0
-# partition blocksize. The default is PAGE_SIZE.
-#
-options BLKDEV_IOSIZE=8192
-
-# Options for the VM subsystem
-#options PQ_NOOPT # No coloring
-options PQ_LARGECACHE # color for 512k/16k cache
-#options PQ_HUGECACHE # color for 1024k/16k cache
-#options PQ_MEDIUMCACHE # color for 64k/16k cache
-#options PQ_NORMALCACHE # color for 256k/16k cache
-
-# This allows you to actually store this configuration file into
-# the kernel binary itself, where it may be later read by saying:
-# strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
-#
-options INCLUDE_CONFIG_FILE # Include this file in kernel
-
-#
-# The root device and filesystem type can be compiled in;
-# this provides a fallback option if the root device cannot
-# be correctly guesst by the bootstrap code, or an override if
-# the RB_DFLTROOT flag (-r) is specified when booting the kernel.
-#
-options ROOTDEVNAME=\"ufs:da0s2e\"
-
-
-#####################################################################
-# SMP OPTIONS:
-#
-# SMP enables building of a Symmetric MultiProcessor Kernel.
-# APIC_IO enables the use of the IO APIC for Symmetric I/O.
-# NCPU sets the number of CPUs, defaults to 2.
-# NBUS sets the number of busses, defaults to 8.
-# NAPIC sets the number of IO APICs on the motherboard, defaults to 1.
-# NINTR sets the total number of INTs provided by the motherboard.
-#
-# Notes:
-#
-# An SMP kernel will ONLY run on an Intel MP spec. qualified motherboard.
-#
-# Be sure to disable 'cpu I386_CPU' && 'cpu I486_CPU' for SMP kernels.
-#
-# Check the 'Rogue SMP hardware' section to see if additional options
-# are required by your hardware.
-#
-
-# Mandatory:
-options SMP # Symmetric MultiProcessor Kernel
-options APIC_IO # Symmetric (APIC) I/O
-
-# Optional, these are the defaults plus 1:
-options NCPU=5 # number of CPUs
-options NBUS=10 # number of busses
-options NAPIC=2 # number of IO APICs
-options NINTR=25 # number of INTs
-
-#
-# Rogue SMP hardware:
-#
-
-# Bridged PCI cards:
-#
-# The MP tables of most of the current generation MP motherboards
-# do NOT properly support bridged PCI cards. To use one of these
-# cards you should refer to ???
-
-
-#####################################################################
-# CPU OPTIONS
-
-#
-# You must specify at least one CPU (the one you intend to run on);
-# deleting the specification for CPUs you don't need to use may make
-# parts of the system run faster. This is especially true removing
-# I386_CPU.
-#
-cpu I386_CPU
-cpu I486_CPU
-cpu I586_CPU # aka Pentium(tm)
-cpu I686_CPU # aka Pentium Pro(tm)
-
-#
-# Options for CPU features.
-#
-# CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
-# BlueLightning CPU. It works only with Cyrix FPU, and this option
-# should not be used with Intel FPU.
-#
-# CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
-# CPU if CPU supports it. The default is double-clock mode on
-# BlueLightning CPU box.
-#
-# CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
-#
-# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
-# mapped mode. Default is 2-way set associative mode.
-#
-# CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
-# of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
-# Otherwise, the NO_LOCK bit of CCR1 is cleared. (NOTE 3)
-#
-# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
-# reorder). This option should not be used if you use memory mapped
-# I/O device(s).
-#
-# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
-#
-# CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
-# for i386 machines.
-#
-# CPU_IORT defines I/O clock delay time (NOTE 1). Default values of
-# I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
-# (no clock delay).
-#
-# CPU_L2_LATENCY specifed the L2 cache latency value. This option is used
-# only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
-# The default value is 5.
-#
-# CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
-# of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
-# 1).
-#
-# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs. This option
-# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
-# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
-#
-# CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
-#
-# CPU_SUSP_HLT enables suspend on HALT. If this option is set, CPU
-# enters suspend mode following execution of HALT instruction.
-#
-# CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
-# K5/K6/K6-2 cpus.
-#
-# CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
-# flush at hold state.
-#
-# CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
-# without cache flush at hold state, and (2) write-back CPU cache on
-# Cyrix 6x86 whose revision < 2.7 (NOTE 2).
-#
-# NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
-# Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
-# executed. This should be included for ALL kernels that won't run
-# on a Pentium.
-#
-# NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
-# which indicates that the 15-16MB range is *definitely* not being
-# occupied by an ISA memory hole.
-#
-# NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
-# CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
-# These options may crash your system.
-#
-# NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
-# in write-through mode when revision < 2.7. If revision of Cyrix
-# 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
-#
-# NOTE 3: This option may cause failures for software that requires
-# locked cycles in order to operate correctly.
-#
-options CPU_BLUELIGHTNING_FPU_OP_CACHE
-options CPU_BLUELIGHTNING_3X
-options CPU_BTB_EN
-options CPU_DIRECT_MAPPED_CACHE
-options CPU_DISABLE_5X86_LSSER
-options CPU_FASTER_5X86_FPU
-options CPU_I486_ON_386
-options CPU_IORT
-options CPU_L2_LATENCY=5
-options CPU_LOOP_EN
-options CPU_PPRO2CELERON
-options CPU_RSTK_EN
-options CPU_SUSP_HLT
-options CPU_WT_ALLOC
-options CYRIX_CACHE_WORKS
-options CYRIX_CACHE_REALLY_WORKS
-#options NO_F00F_HACK
-
-#
-# A math emulator is mandatory if you wish to run on hardware which
-# does not have a floating-point processor. Pick either the original,
-# bogus (but freely-distributable) math emulator, or a much more
-# fully-featured but GPL-licensed emulator taken from Linux.
-#
-options MATH_EMULATE #Support for x87 emulation
-# Don't enable both of these in a real config.
-options GPL_MATH_EMULATE #Support for x87 emulation via
- #new math emulator
-
-
-#####################################################################
-# COMPATIBILITY OPTIONS
-
-#
-# Implement system calls compatible with 4.3BSD and older versions of
-# FreeBSD. You probably do NOT want to remove this as much current code
-# still relies on the 4.3 emulation.
-#
-options COMPAT_43
-
-#
-# Allow user-mode programs to manipulate their local descriptor tables.
-# This option is required for the WINE Windows(tm) emulator, and is
-# not used by anything else (that we know of).
-#
-options USER_LDT #allow user-level control of i386 ldt
-
-#
-# These three options provide support for System V Interface
-# Definition-style interprocess communication, in the form of shared
-# memory, semaphores, and message queues, respectively.
-#
-options SYSVSHM
-options SYSVSEM
-options SYSVMSG
-
-
-#####################################################################
-# DEBUGGING OPTIONS
-
-#
-# Enable the kernel debugger.
-#
-options DDB
-
-#
-# Don't drop into DDB for a panic. Intended for unattended operation
-# where you may want to drop to DDB from the console, but still want
-# the machine to recover from a panic
-#
-options DDB_UNATTENDED
-
-#
-# If using GDB remote mode to debug the kernel, there's a non-standard
-# extension to the remote protocol that can be used to use the serial
-# port as both the debugging port and the system console. It's non-
-# standard and you're on your own if you enable it. See also the
-# "remotechat" variables in the FreeBSD specific version of gdb.
-#
-options GDB_REMOTE_CHAT
-
-#
-# KTRACE enables the system-call tracing facility ktrace(2).
-#
-options KTRACE #kernel tracing
-
-#
-# The INVARIANTS option is used in a number of source files to enable
-# extra sanity checking of internal structures. This support is not
-# enabled by default because of the extra time it would take to check
-# for these conditions, which can only occur as a result of
-# programming errors.
-#
-options INVARIANTS
-
-#
-# The INVARIANT_SUPPORT option makes us compile in support for
-# verifying some of the internal structures. It is a prerequisite for
-# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
-# called. The intent is that you can set 'INVARIANTS' for single
-# source files (by changing the source file or specifying it on the
-# command line) if you have 'INVARIANT_SUPPORT' enabled.
-#
-options INVARIANT_SUPPORT
-
-#
-# The DIAGNOSTIC option is used to enable extra debugging information
-# from some parts of the kernel. As this makes everything more noisy,
-# it is disabled by default.
-#
-options DIAGNOSTIC
-
-#
-# PERFMON causes the driver for Pentium/Pentium Pro performance counters
-# to be compiled. See perfmon(4) for more information.
-#
-options PERFMON
-
-
-#
-# This option let some drivers co-exist that can't co-exist in a running
-# system. This is used to be able to compile all kernel code in one go for
-# quality assurance purposes (like this file, which the option takes it name
-# from.)
-#
-options COMPILING_LINT
-
-
-# XXX - this doesn't belong here.
-# Allow ordinary users to take the console - this is useful for X.
-options UCONSOLE
-
-# XXX - this doesn't belong here either
-options USERCONFIG #boot -c editor
-options INTRO_USERCONFIG #imply -c and show intro screen
-options VISUAL_USERCONFIG #visual boot -c editor
-
-#####################################################################
-# NETWORKING OPTIONS
-
-#
-# Protocol families:
-# Only the INET (Internet) family is officially supported in FreeBSD.
-# Source code for the NS (Xerox Network Service) is provided for amusement
-# value.
-#
-options INET #Internet communications protocols
-options INET6 #IPv6 communications protocols
-options IPSEC #IP security
-options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
-options IPSEC_IPV6FWD #IP security tunnel for IPv6
-options IPSEC_DEBUG #debug for IP security
-
-options IPX #IPX/SPX communications protocols
-options IPXIP #IPX in IP encapsulation (not available)
-options IPTUNNEL #IP in IPX encapsulation (not available)
-
-options NCP #NetWare Core protocol
-
-options NETATALK #Appletalk communications protocols
-
-# These are currently broken but are shipped due to interest.
-#options NS #Xerox NS protocols
-#options NSIP #XNS over IP
-
-# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
-# Individual node types can be enabled with the corresponding option
-# listed below; however, this is not strictly necessary as netgraph
-# will automatically load the corresponding KLD module if the node type
-# is not already compiled into the kernel. Each type below has a
-# corresponding man page, e.g., ng_async(8).
-options NETGRAPH #netgraph(4) system
-options NETGRAPH_ASYNC
-options NETGRAPH_BPF
-options NETGRAPH_CISCO
-options NETGRAPH_ECHO
-options NETGRAPH_FRAME_RELAY
-options NETGRAPH_HOLE
-options NETGRAPH_IFACE
-options NETGRAPH_KSOCKET
-options NETGRAPH_LMI
-# MPPC compression requires proprietary files (not included)
-#options NETGRAPH_MPPC_COMPRESSION
-options NETGRAPH_MPPC_ENCRYPTION
-options NETGRAPH_PPP
-options NETGRAPH_PPPOE
-options NETGRAPH_PPTPGRE
-options NETGRAPH_RFC1490
-options NETGRAPH_SOCKET
-options NETGRAPH_TEE
-options NETGRAPH_TTY
-options NETGRAPH_UI
-options NETGRAPH_VJC
-
-device mn # Munich32x/Falc54 Nx64kbit/sec cards.
-device lmc # tulip based LanMedia WAN cards
-
-#
-# Network interfaces:
-# The `loop' pseudo-device is MANDATORY when networking is enabled.
-# The `ether' pseudo-device provides generic code to handle
-# Ethernets; it is MANDATORY when a Ethernet device driver is
-# configured or token-ring is enabled.
-# The 'fddi' pseudo-device provides generic code to support FDDI.
-# The `sppp' pseudo-device serves a similar role for certain types
-# of synchronous PPP links (like `cx', `ar').
-# The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
-# The `ppp' pseudo-device implements the Point-to-Point Protocol.
-# The `bpf' pseudo-device enables the Berkeley Packet Filter. Be
-# aware of the legal and administrative consequences of enabling this
-# option. The number of devices determines the maximum number of
-# simultaneous BPF clients programs runnable.
-# The `disc' pseudo-device implements a minimal network interface,
-# which throws away all packets sent and never receives any. It is
-# included for testing purposes. This shows up as the 'ds' interface.
-# The `tun' pseudo-device implements (user-)ppp and nos-tun
-# The `gif' pseudo-device implements IPv6 over IP4 tunneling,
-# IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
-# IPv6 over IPv6 tunneling.
-# The `faith' pseudo-device captures packets sent to it and diverts them
-# to the IPv4/IPv6 translation daemon.
-# The `ef' pseudo-device provides support for multiple ethernet frame types
-# specified via ETHER_* options. See ef(4) for details.
-#
-# The PPP_BSDCOMP option enables support for compress(1) style entire
-# packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
-# PPP_FILTER enables code for filtering the ppp data stream and selecting
-# events for resetting the demand dial activity timer - requires bpf.
-# See pppd(8) for more details.
-#
-pseudo-device ether #Generic Ethernet
-pseudo-device token #Generic TokenRing
-pseudo-device fddi #Generic FDDI
-pseudo-device sppp #Generic Synchronous PPP
-pseudo-device loop #Network loopback device
-pseudo-device bpf #Berkeley packet filter
-pseudo-device disc #Discard device (ds0, ds1, etc)
-pseudo-device tun #Tunnel driver (ppp(8), nos-tun(8))
-pseudo-device sl #Serial Line IP
-pseudo-device ppp 2 #Point-to-point protocol
-options PPP_BSDCOMP #PPP BSD-compress support
-options PPP_DEFLATE #PPP zlib/deflate/gzip support
-options PPP_FILTER #enable bpf filtering (needs bpf)
-
-pseudo-device ef # Multiple ethernet frames support
-options ETHER_II # enable Ethernet_II frame
-options ETHER_8023 # enable Ethernet_802.3 (Novell) frame
-options ETHER_8022 # enable Ethernet_802.2 frame
-options ETHER_SNAP # enable Ethernet_802.2/SNAP frame
-
-# for IPv6
-pseudo-device gif 4 #IPv6 and IPv4 tunneling
-pseudo-device faith 1 #for IPv6 and IPv4 translation
-
-#
-# Internet family options:
-#
-# TCP_COMPAT_42 causes the TCP code to emulate certain bugs present in
-# 4.2BSD. This option should not be used unless you have a 4.2BSD
-# machine and TCP connections fail.
-#
-# MROUTING enables the kernel multicast packet forwarder, which works
-# with mrouted(8).
-#
-# IPFIREWALL enables support for IP firewall construction, in
-# conjunction with the `ipfw' program. IPFIREWALL_VERBOSE sends
-# logged packets to the system logger. IPFIREWALL_VERBOSE_LIMIT
-# limits the number of times a matching entry can be logged.
-#
-# WARNING: IPFIREWALL defaults to a policy of "deny ip from any to any"
-# and if you do not add other rules during startup to allow access,
-# YOU WILL LOCK YOURSELF OUT. It is suggested that you set firewall_type=open
-# in /etc/rc.conf when first enabling this feature, then refining the
-# firewall rules in /etc/rc.firewall after you've tested that the new kernel
-# feature works properly.
-#
-# IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
-# allow everything. Use with care, if a cracker can crash your
-# firewall machine, they can get to your protected machines. However,
-# if you are using it as an as-needed filter for specific problems as
-# they arise, then this may be for you. Changing the default to 'allow'
-# means that you won't get stuck if the kernel and /sbin/ipfw binary get
-# out of sync.
-#
-# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
-#
-# IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
-# packets without touching the ttl). This can be useful to hide firewalls
-# from traceroute and similar tools.
-#
-# TCPDEBUG is undocumented.
-#
-options TCP_COMPAT_42 #emulate 4.2BSD TCP bugs
-options MROUTING # Multicast routing
-options IPFIREWALL #firewall
-options IPFIREWALL_VERBOSE #print information about
- # dropped packets
-options IPFIREWALL_FORWARD #enable transparent proxy support
-options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity
-options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
-options IPV6FIREWALL #firewall for IPv6
-options IPV6FIREWALL_VERBOSE
-options IPV6FIREWALL_VERBOSE_LIMIT=100
-options IPV6FIREWALL_DEFAULT_TO_ACCEPT
-options IPDIVERT #divert sockets
-options IPFILTER #ipfilter support
-options IPFILTER_LOG #ipfilter logging
-options IPSTEALTH #support for stealth forwarding
-options TCPDEBUG
-
-# The following options add sysctl variables for controlling how certain
-# TCP packets are handled.
-#
-# TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
-# prevents nmap et al. from identifying the TCP/IP stack, but breaks support
-# for RFC1644 extensions and is not recommended for web servers.
-#
-# TCP_RESTRICT_RST adds support for blocking the emission of TCP RST packets.
-# This is useful on systems which are exposed to SYN floods (e.g. IRC servers)
-# or any system which one does not want to be easily portscannable.
-#
-options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN
-options TCP_RESTRICT_RST #restrict emission of TCP RST
-
-# DUMMYNET enables the "dummynet" bandwidth limiter. You need
-# IPFIREWALL as well. See the dummynet(4) manpage for more info.
-# BRIDGE enables bridging between ethernet cards -- see bridge(4).
-# You can use IPFIREWALL and dummynet together with bridging.
-options DUMMYNET
-options BRIDGE
-
-#
-# ATM (HARP version) options
-#
-# ATM_CORE includes the base ATM functionality code. This must be included
-# for ATM support.
-#
-# ATM_IP includes support for running IP over ATM.
-#
-# At least one (and usually only one) of the following signalling managers
-# must be included (note that all signalling managers include PVC support):
-# ATM_SIGPVC includes support for the PVC-only signalling manager `sigpvc'.
-# ATM_SPANS includes support for the `spans' signalling manager, which runs
-# the FORE Systems's proprietary SPANS signalling protocol.
-# ATM_UNI includes support for the `uni30' and `uni31' signalling managers,
-# which run the ATM Forum UNI 3.x signalling protocols.
-#
-# The `hea' driver provides support for the Efficient Networks, Inc.
-# ENI-155p ATM PCI Adapter.
-#
-# The `hfa' driver provides support for the FORE Systems, Inc.
-# PCA-200E ATM PCI Adapter.
-#
-options ATM_CORE #core ATM protocol family
-options ATM_IP #IP over ATM support
-options ATM_SIGPVC #SIGPVC signalling manager
-options ATM_SPANS #SPANS signalling manager
-options ATM_UNI #UNI signalling manager
-device hea #Efficient ENI-155p ATM PCI
-device hfa #FORE PCA-200E ATM PCI
-
-
-#####################################################################
-# FILESYSTEM OPTIONS
-
-#
-# Only the root, /usr, and /tmp filesystems need be statically
-# compiled; everything else will be automatically loaded at mount
-# time. (Exception: the UFS family---FFS, and MFS --- cannot
-# currently be demand-loaded.) Some people still prefer to statically
-# compile other filesystems as well.
-#
-# NB: The NULL, PORTAL, UMAP and UNION filesystems are known to be
-# buggy, and WILL panic your system if you attempt to do anything with
-# them. They are included here as an incentive for some enterprising
-# soul to sit down and fix them.
-#
-
-# One of these is mandatory:
-options FFS #Fast filesystem
-options MFS #Memory File System
-options NFS #Network File System
-
-# The rest are optional:
-#options NFS_NOSERVER #Disable the NFS-server code.
-options CD9660 #ISO 9660 filesystem
-options FDESC #File descriptor filesystem
-options KERNFS #Kernel filesystem
-options MSDOSFS #MS DOS File System
-options NTFS #NT File System
-options NULLFS #NULL filesystem
-options NWFS #NetWare filesystem
-options PORTAL #Portal filesystem
-options PROCFS #Process filesystem
-options UMAPFS #UID map filesystem
-options UNION #Union filesystem
-# The xFS_ROOT options REQUIRE the associated ``options xFS''
-options CD9660_ROOT #CD-ROM usable as root device
-options FFS_ROOT #FFS usable as root device
-options NFS_ROOT #NFS usable as root device
-# This code is still experimental (e.g. doesn't handle disk slices well).
-# Also, 'options MFS' is currently incompatible with DEVFS.
-options DEVFS #devices filesystem
-
-# Soft updates is technique for improving file system speed and
-# making abrupt shutdown less risky. It is not enabled by default due
-# to copyright restraints on the code that implement it.
-#
-# Read ../../ufs/ffs/README.softupdates to learn what you need to
-# do to enable this. ../../contrib/softupdates/README gives
-# more details on how they actually work.
-#
-#options SOFTUPDATES
-
-# Extended attributes allow additional data to be associated with files,
-# and is used for ACLs, Capabilities, and MAC labels
-#
-options FFS_EXTATTR
-
-# Make space in the kernel for a root filesystem on a md device.
-# Define to the number of kilobytes to reserve for the filesystem.
-options MD_ROOT_SIZE=10
-
-# Make the md device a potential root device, either with preloaded
-# images of type mfs_root or md_root.
-options MD_ROOT
-
-# Allow this many swap-devices.
-options NSWAPDEV=20
-
-# Disk quotas are supported when this option is enabled.
-options QUOTA #enable disk quotas
-
-# If you are running a machine just as a fileserver for PC and MAC
-# users, using SAMBA or Netatalk, you may consider setting this option
-# and keeping all those users' directories on a filesystem that is
-# mounted with the suiddir option. This gives new files the same
-# ownership as the directory (similar to group). It's a security hole
-# if you let these users run programs, so confine it to file-servers
-# (but it'll save you lots of headaches in those cases). Root owned
-# directories are exempt and X bits are cleared. The suid bit must be
-# set on the directory as well; see chmod(1) PC owners can't see/set
-# ownerships so they keep getting their toes trodden on. This saves
-# you all the support calls as the filesystem it's used on will act as
-# they expect: "It's my dir so it must be my file".
-#
-options SUIDDIR
-
-# NFS options:
-options NFS_MINATTRTIMO=3 # VREG attrib cache timeout in sec
-options NFS_MAXATTRTIMO=60
-options NFS_MINDIRATTRTIMO=30 # VDIR attrib cache timeout in sec
-options NFS_MAXDIRATTRTIMO=60
-options NFS_GATHERDELAY=10 # Default write gather delay (msec)
-options NFS_UIDHASHSIZ=29 # Tune the size of nfssvc_sock with this
-options NFS_WDELAYHASHSIZ=16 # and with this
-options NFS_MUIDHASHSIZ=63 # Tune the size of nfsmount with this
-options NFS_DEBUG # Enable NFS Debugging
-
-# Coda stuff:
-options CODA #CODA filesystem.
-pseudo-device vcoda 4 #coda minicache <-> venus comm.
-
-#
-# Add support for the EXT2FS filesystem of Linux fame. Be a bit
-# careful with this - the ext2fs code has a tendency to lag behind
-# changes and not be exercised very much, so mounting read/write could
-# be dangerous (and even mounting read only could result in panics.)
-#
-options EXT2FS
-
-# Use real implementations of the aio_* system calls. There are numerous
-# stability issues in the current aio code that make it unsuitable for
-# inclusion on shell boxes.
-options VFS_AIO
-
-
-#####################################################################
-# POSIX P1003.1B
-
-# Real time extensions added in the 1993 Posix
-# P1003_1B: Infrastructure
-# _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
-# _KPOSIX_VERSION: Version kernel is built for
-
-options P1003_1B
-options _KPOSIX_PRIORITY_SCHEDULING
-options _KPOSIX_VERSION=199309L
-
-
-#####################################################################
-# CLOCK OPTIONS
-
-# The granularity of operation is controlled by the kernel option HZ whose
-# default value (100) means a granularity of 10ms. For an accurate simulation
-# of high data rates it might be necessary to reduce the timer granularity to
-# 1ms or less. Consider, however, that some interfaces using programmed I/O
-# may require a considerable time to output packets. So, reducing the
-# granularity too much might actually cause ticks to be missed thus reducing
-# the accuracy of operation.
-
-options HZ=100
-
-# Other clock options
-
-options CLK_CALIBRATION_LOOP
-options CLK_USE_I8254_CALIBRATION
-options CLK_USE_TSC_CALIBRATION
-
-
-#####################################################################
-# SCSI DEVICES
-
-# SCSI DEVICE CONFIGURATION
-
-# The SCSI subsystem consists of the `base' SCSI code, a number of
-# high-level SCSI device `type' drivers, and the low-level host-adapter
-# device drivers. The host adapters are listed in the ISA and PCI
-# device configuration sections below.
-#
-# Beginning with FreeBSD 2.0.5 you can wire down your SCSI devices so
-# that a given bus, target, and LUN always come on line as the same
-# device unit. In earlier versions the unit numbers were assigned
-# in the order that the devices were probed on the SCSI bus. This
-# means that if you removed a disk drive, you may have had to rewrite
-# your /etc/fstab file, and also that you had to be careful when adding
-# a new disk as it may have been probed earlier and moved your device
-# configuration around.
-
-# This old behavior is maintained as the default behavior. The unit
-# assignment begins with the first non-wired down unit for a device
-# type. For example, if you wire a disk as "da3" then the first
-# non-wired disk will be assigned da4.
-
-# The syntax for wiring down devices is:
-
-# device scbus0 at ahc0 # Single bus device
-# device scbus1 at ahc1 bus 0 # Single bus device
-# device scbus3 at ahc2 bus 0 # Twin bus device
-# device scbus2 at ahc2 bus 1 # Twin bus device
-# device da0 at scbus0 target 0 unit 0
-# device da1 at scbus3 target 1
-# device da2 at scbus2 target 3
-# device sa1 at scbus1 target 6
-# device cd
-
-# "units" (SCSI logical unit number) that are not specified are
-# treated as if specified as LUN 0.
-
-# All SCSI devices allocate as many units as are required.
-
-# The "unknown" device (uk? in pre-2.0.5) is now part of the base SCSI
-# configuration and doesn't have to be explicitly configured.
-
-device scbus #base SCSI code
-device ch #SCSI media changers
-device da #SCSI direct access devices (aka disks)
-device sa #SCSI tapes
-device cd #SCSI CD-ROMs
-device pass #CAM passthrough driver
-device pt #SCSI processor type
-device ses #SCSI SES/SAF-TE driver
-device targ #SCSI target driver
-
-# CAM OPTIONS:
-# debugging options:
-# -- NOTE -- If you specify one of the bus/target/lun options, you must
-# specify them all!
-# CAMDEBUG: When defined enables debugging macros
-# CAM_DEBUG_BUS: Debug the given bus. Use -1 to debug all busses.
-# CAM_DEBUG_TARGET: Debug the given target. Use -1 to debug all targets.
-# CAM_DEBUG_LUN: Debug the given lun. Use -1 to debug all luns.
-# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE,
-# CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB
-#
-# CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds
-# SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions
-# SCSI_NO_OP_STRINGS: When defined disables opcode descriptions
-# SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter)
-# queue after a bus reset, and the number of milliseconds to
-# freeze the device queue after a bus device reset.
-options CAMDEBUG
-options CAM_DEBUG_BUS=-1
-options CAM_DEBUG_TARGET=-1
-options CAM_DEBUG_LUN=-1
-options CAM_DEBUG_FLAGS="CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB"
-options CAM_MAX_HIGHPOWER=4
-options SCSI_NO_SENSE_STRINGS
-options SCSI_NO_OP_STRINGS
-options SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device
-
-# Options for the CAM CDROM driver:
-# CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN
-# CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only
-# enforced if there is I/O waiting for another LUN
-# The compiled in defaults for these variables are 2 and 10 seconds,
-# respectively.
-#
-# These can also be changed on the fly with the following sysctl variables:
-# kern.cam.cd.changer.min_busy_seconds
-# kern.cam.cd.changer.max_busy_seconds
-#
-options CHANGER_MIN_BUSY_SECONDS=2
-options CHANGER_MAX_BUSY_SECONDS=10
-
-# Options for the CAM sequential access driver:
-# SA_SPACE_TIMEOUT: Timeout for space operations, in minutes
-# SA_REWIND_TIMEOUT: Timeout for rewind operations, in minutes
-# SA_ERASE_TIMEOUT: Timeout for erase operations, in minutes
-# SA_1FM_AT_EOD: Default to model which only has a default one filemark at EOT.
-options SA_SPACE_TIMEOUT="(60)"
-options SA_REWIND_TIMEOUT="(2*60)"
-options SA_ERASE_TIMEOUT="(4*60)"
-options SA_1FM_AT_EOD
-
-# Optional timeout for the CAM processor target (pt) device
-# This is specified in seconds. The default is 60 seconds.
-options SCSI_PT_DEFAULT_TIMEOUT="60"
-
-# Optional enable of doing SES passthrough on other devices (e.g., disks)
-#
-# Normally disabled because a lot of newer SCSI disks report themselves
-# as having SES capabilities, but this can then clot up attempts to build
-# build a topology with the SES device that's on the box these drives
-# are in....
-options SES_ENABLE_PASSTHROUGH
-
-
-#####################################################################
-# MISCELLANEOUS DEVICES AND OPTIONS
-
-# The `pty' device usually turns out to be ``effectively mandatory'',
-# as it is required for `telnetd', `rlogind', `screen', `emacs', and
-# `xterm', among others.
-
-pseudo-device pty #Pseudo ttys
-pseudo-device speaker #Play IBM BASIC-style noises out your speaker
-pseudo-device gzip #Exec gzipped a.out's
-pseudo-device vn #Vnode driver (turns a file into a device)
-pseudo-device md #Memory/malloc disk
-pseudo-device snp #Snoop device - to look at pty/vty/etc..
-pseudo-device ccd 4 #Concatenated disk driver
-
-# Configuring Vinum into the kernel is not necessary, since the kld
-# module gets started automatically when vinum(8) starts. This
-# device is also untested. Use at your own risk.
-#
-# The option VINUMDEBUG must match the value set in CFLAGS
-# in src/sbin/vinum/Makefile. Failure to do so will result in
-# the following message from vinum(8):
-#
-# Can't get vinum config: Invalid argument
-#
-# see vinum(4) for more reasons not to use these options.
-pseudo-device vinum #Vinum concat/mirror/raid driver
-options VINUMDEBUG #enable Vinum debugging hooks
-
-# Size of the kernel message buffer. Should be N * pagesize.
-options MSGBUF_SIZE=40960
-
-
-#####################################################################
-# HARDWARE DEVICE CONFIGURATION
-
-# ISA and EISA devices:
-# EISA support is available for some device, so they can be auto-probed.
-# MicroChannel (MCA) support is available for some devices.
-
-#
-# Mandatory ISA devices: isa, npx
-#
-device isa
-
-#
-# Options for `isa':
-#
-# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
-# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
-# This option breaks suspend/resume on some portables.
-#
-# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
-# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
-# Automatic EOI is documented not to work for for the slave with the
-# original i8259A, but it works for some clones and some integrated
-# versions.
-#
-# MAXMEM specifies the amount of RAM on the machine; if this is not
-# specified, FreeBSD will first read the amount of memory from the CMOS
-# RAM, so the amount of memory will initially be limited to 64MB or 16MB
-# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
-# then attempt to detect the installed amount of RAM. If this probe
-# fails to detect >64MB RAM you will have to use the MAXMEM option.
-# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
-# be 131072 (128 * 1024).
-#
-# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
-# reset the CPU for reboot. This is needed on some systems with broken
-# keyboard controllers.
-#
-# PAS_JOYSTICK_ENABLE enables the gameport on the ProAudio Spectrum
-
-options AUTO_EOI_1
-#options AUTO_EOI_2
-options MAXMEM="(128*1024)"
-#options BROKEN_KEYBOARD_RESET
-#options PAS_JOYSTICK_ENABLE
-options COMPAT_OLDISA #Use ISA shims and glue for old drivers
-
-# Enable support for the kernel PLL to use an external PPS signal,
-# under supervision of [x]ntpd(8)
-# More info in ntpd documentation: http://www.eecis.udel.edu/~ntp
-
-options PPS_SYNC
-
-# If you see the "calcru: negative time of %ld usec for pid %d (%s)\n"
-# message you probably have some broken sw/hw which disables interrupts
-# for too long. You can make the system more resistant to this by
-# choosing a high value for NTIMECOUNTER. The default is 5, there
-# is no upper limit but more than a couple of hundred are not productive.
-# A better strategy may be to sysctl -w kern.timecounter.method=1
-
-options NTIMECOUNTER=20
-
-# The keyboard controller; it controls the keyboard and the PS/2 mouse.
-device atkbdc0 at isa? port IO_KBD
-
-# The AT keyboard
-device atkbd0 at atkbdc? irq 1
-
-# Options for atkbd:
-options ATKBD_DFLT_KEYMAP # specify the built-in keymap
-makeoptions ATKBD_DFLT_KEYMAP="jp.106"
-
-# These options are valid for other keyboard drivers as well.
-options KBD_DISABLE_KEYMAP_LOAD # refuse to load a keymap
-options KBD_INSTALL_CDEV # install a CDEV entry in /dev
-
-# `flags' for atkbd:
-# 0x01 Force detection of keyboard, else we always assume a keyboard
-# 0x02 Don't reset keyboard, useful for some newer ThinkPads
-# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads
-
-# PS/2 mouse
-device psm0 at atkbdc? irq 12
-
-# Options for psm:
-options PSM_HOOKRESUME #hook the system resume event, useful
- #for some laptops
-options PSM_RESETAFTERSUSPEND #reset the device at the resume event
-
-# The video card driver.
-device vga0 at isa?
-
-# Options for vga:
-# Try the following option if the mouse pointer is not drawn correctly
-# or font does not seem to be loaded properly. May cause flicker on
-# some systems.
-options VGA_ALT_SEQACCESS
-
-# If you can dispense with some vga driver features, you may want to
-# use the following options to save some memory.
-options VGA_NO_FONT_LOADING # don't save/load font
-options VGA_NO_MODE_CHANGE # don't change video modes
-
-# Older video cards may require this option for proper operation.
-options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs
-
-# The following option probably won't work with the LCD displays.
-options VGA_WIDTH90 # support 90 column modes
-
-# To include support for VESA video modes
-options VESA
-
-# Splash screen at start up! Screen savers require this too.
-pseudo-device splash
-
-# The pcvt console driver (vt220 compatible).
-device vt0 at isa?
-options XSERVER # support for running an X server on vt
-options FAT_CURSOR # start with block cursor
-# This PCVT option is for keyboards such as those used on IBM ThinkPad laptops
-options PCVT_SCANSET=2 # IBM keyboards are non-std
-# Other PCVT options are documented in pcvt(4).
-options PCVT_24LINESDEF
-options PCVT_CTRL_ALT_DEL
-options PCVT_META_ESC
-options PCVT_NSCREENS=9
-options PCVT_PRETTYSCRNS
-options PCVT_SCREENSAVER
-options PCVT_USEKBDSEC
-options PCVT_VT220KEYB
-options PCVT_GREENSAVER
-
-# The syscons console driver (sco color console compatible).
-device sc0 at isa?
-options MAXCONS=16 # number of virtual consoles
-options SC_ALT_MOUSE_IMAGE # simplified mouse cursor in text mode
-options SC_DFLT_FONT # compile font in
-makeoptions SC_DFLT_FONT=cp850
-options SC_DISABLE_DDBKEY # disable `debug' key
-options SC_DISABLE_REBOOT # disable reboot key sequence
-options SC_HISTORY_SIZE=200 # number of history buffer lines
-options SC_MOUSE_CHAR=0x3 # char code for text mode mouse cursor
-options SC_PIXEL_MODE # add support for the raster text mode
-
-# The following options will let you change the default colors of syscons.
-options SC_NORM_ATTR="(FG_GREEN|BG_BLACK)"
-options SC_NORM_REV_ATTR="(FG_YELLOW|BG_GREEN)"
-options SC_KERNEL_CONS_ATTR="(FG_RED|BG_BLACK)"
-options SC_KERNEL_CONS_REV_ATTR="(FG_BLACK|BG_RED)"
-
-# If you have a two button mouse, you may want to add the following option
-# to use the right button of the mouse to paste text.
-options SC_TWOBUTTON_MOUSE
-
-# You can selectively disable features in syscons.
-options SC_NO_CUTPASTE
-options SC_NO_FONT_LOADING
-options SC_NO_HISTORY
-options SC_NO_SYSMOUSE
-
-# `flags' for sc
-# 0x80 Put the video card in the VESA 800x600 dots, 16 color mode
-# 0x100 Probe for a keyboard device periodically if one is not present
-
-#
-# The Numeric Processing eXtension driver. In addition to this, you
-# may configure a math emulator (see above). If your machine has a
-# hardware FPU and the kernel configuration includes the npx device
-# *and* a math emulator compiled into the kernel, the hardware FPU
-# will be used, unless it is found to be broken or unless "flags" to
-# npx0 includes "0x08", which requests preference for the emulator.
-device npx0 at nexus? port IO_NPX flags 0x0 irq 13
-
-#
-# `flags' for npx0:
-# 0x01 don't use the npx registers to optimize bcopy.
-# 0x02 don't use the npx registers to optimize bzero.
-# 0x04 don't use the npx registers to optimize copyin or copyout.
-# 0x08 use emulator even if hardware FPU is available.
-# The npx registers are normally used to optimize copying and zeroing when
-# all of the following conditions are satisfied:
-# I586_CPU is an option
-# the cpu is an i586 (perhaps not a Pentium)
-# the probe for npx0 succeeds
-# INT 16 exception handling works.
-# Then copying and zeroing using the npx registers is normally 30-100% faster.
-# The flags can be used to control cases where it doesn't work or is slower.
-# Setting them at boot time using userconfig works right (the optimizations
-# are not used until later in the bootstrap when npx0 is attached).
-# Flag 0x08 automatically disables the i586 optimized routines.
-#
-
-#
-# Optional ISA and EISA devices:
-#
-
-#
-# SCSI host adapters: `aha', `aic', `bt'
-#
-# adv: All Narrow SCSI bus AdvanSys controllers.
-# adw: Second Generation AdvanSys controllers including the ADV940UW.
-# aha: Adaptec 154x
-# ahc: Adaptec 274x/284x/294x
-# aic: Adaptec 152x
-# bt: Most Buslogic controllers
-#
-# Note that the order is important in order for Buslogic cards to be
-# probed correctly.
-#
-
-device bt0 at isa? port IO_BT0
-device adv0 at isa?
-device adw
-device aha0 at isa?
-device aic0 at isa?
-
-#
-# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers. Only
-# one entry is needed; the code will find and configure all supported
-# controllers.
-#
-device ida # Compaq Smart RAID
-device mlx # Mylex DAC960
-device amr # AMI MegaRAID
-
-#
-# The 'ATA' driver supports all ATA and ATAPI devices.
-# You only need one "device ata" for it to find all
-# PCI ATA/ATAPI devices on modern machines.
-device ata
-device atadisk # ATA disk drives
-device atapicd # ATAPI CDROM drives
-device atapifd # ATAPI floppy drives
-device atapist # ATAPI tape drives
-
-#
-#The following options are valid on the ATA driver:
-#
-# ATA_STATIC_ID: controller numbering is static ie depends on location
-# else the device numbers are dynamically allocated.
-# ATA_ENABLE_ATAPI_DMA: enable DMA on ATAPI device, since many ATAPI devices
-# claim to support DMA but doesn't actually work, this
-# is not enabled as default.
-
-options ATA_STATIC_ID
-options ATA_ENABLE_ATAPI_DMA
-
-#
-# For older non-PCI systems, these are the lines to use:
-#device ata0 at isa? port IO_WD1 irq 14
-#device ata1 at isa? port IO_WD2 irq 15
-
-#
-# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
-#
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-#
-# FDC_DEBUG enables floppy debugging. Since the debug output is huge, you
-# gotta turn it actually on by setting the variable fd_debug with DDB,
-# however.
-options FDC_DEBUG
-#
-# Activate this line instead of the fdc0 line above if you happen to
-# have an Insight floppy tape. Probing them proved to be dangerous
-# for people with floppy disks only, so it's "hidden" behind a flag:
-#device fdc0 at isa? port IO_FD1 flags 1 irq 6 drq 2
-
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
-
-# M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
-device fla0 at isa?
-
-#
-# Other standard PC hardware: `mse', `sio', etc.
-#
-# mse: Logitech and ATI InPort bus mouse ports
-# sio: serial ports (see sio(4))
-
-device mse0 at isa? port 0x23c irq 5
-
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-
-#
-# `flags' for serial drivers that support consoles (only for sio now):
-# 0x10 enable console support for this unit. The other console flags
-# are ignored unless this is set. Enabling console support does
-# not make the unit the preferred console - boot with -h or set
-# the 0x20 flag for that. Currently, at most one unit can have
-# console support; the first one (in config file order) with
-# this flag set is preferred. Setting this flag for sio0 gives
-# the old behaviour.
-# 0x20 force this unit to be the console (unless there is another
-# higher priority console). This replaces the COMCONSOLE option.
-# 0x40 reserve this unit for low level console operations. Do not
-# access the device in any normal way.
-# 0x80 use this port for serial line gdb support in ddb.
-#
-# PnP `flags' (set via userconfig using pnp x flags y)
-# 0x1 disable probing of this device. Used to prevent your modem
-# from being attached as a PnP modem.
-#
-
-# Options for serial drivers that support consoles (only for sio now):
-options BREAK_TO_DEBUGGER #a BREAK on a comconsole goes to
- #DDB, if available.
-options CONSPEED=9600 #default speed for serial console (default 9600)
-
-# Options for sio:
-options COM_ESP #code for Hayes ESP
-options COM_MULTIPORT #code for some cards with shared IRQs
-
-# Other flags for sio that aren't documented in the man page.
-# 0x20000 enable hardware RTS/CTS and larger FIFOs. Only works for
-# ST16650A-compatible UARTs.
-
-#
-# Network interfaces: `cx', `ed', `el', `ep', `ie', `is', `le', `lnc'
-#
-# ar: Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver (requires sppp)
-# cs: IBM Etherjet and other Crystal Semi CS89x0-based adapters
-# cx: Cronyx/Sigma multiport sync/async (with Cisco or PPP framing)
-# ed: Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
-# el: 3Com 3C501 (slow!)
-# ep: 3Com 3C509, 3C529, 3C556, 3C562D, 3C563D, 3C572, 3C574X, 3C579, 3C589
-# ex: Intel EtherExpress Pro/10 and other i82595-based adapters
-# fe: Fujitsu MB86960A/MB86965A Ethernet
-# ie: AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210; Intel EtherExpress
-# le: Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
-# DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
-# lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 & Am79C960)
-# rdp: RealTek RTL 8002-based pocket ethernet adapters
-# sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
-# wl: Lucent Wavelan (ISA card only).
-# wi: Lucent WaveLAN/IEEE 802.11 PCMCIA adapters. Note: this supports both
-# the PCMCIA and ISA cards: the ISA card is really a PCMCIA to ISA
-# bridge with a PCMCIA adapter plugged into it.
-# an: Aironet 4500/4800 802.11 wireless adapters. Supports the PCMCIA,
-# PCI and ISA varieties.
-# xe: Xircom/Intel EtherExpress Pro100/16 PC Card ethernet controller.
-# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
-# (no options needed)
-#
-device ar0 at isa? port 0x300 irq 10 iomem 0xd0000
-device cs0 at isa? port 0x300
-device cx0 at isa? port 0x240 irq 15 drq 7
-device ed0 at isa? port 0x280 irq 5 iomem 0xd8000
-device el0 at isa? port 0x300 irq 9
-device ep
-device ex
-device fe0 at isa? port 0x300
-device ie0 at isa? port 0x300 irq 5 iomem 0xd0000
-device ie1 at isa? port 0x360 irq 7 iomem 0xd0000
-device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-device lnc0 at isa? port 0x280 irq 10 drq 0
-device rdp0 at isa? port 0x378 irq 7 flags 2
-device sr0 at isa? port 0x300 irq 5 iomem 0xd0000
-device sn0 at isa? port 0x300 irq 10
-device an
-device awi
-device wi
-options WLCACHE # enables the signal-strength cache
-options WLDEBUG # enables verbose debugging output
-device wl0 at isa? port 0x300
-device xe
-
-device oltr0 at isa?
-
-#
-# ATM related options
-#
-# The `en' device provides support for Efficient Networks (ENI)
-# ENI-155 PCI midway cards, and the Adaptec 155Mbps PCI ATM cards (ANA-59x0).
-#
-# atm pseudo-device provides generic atm functions and is required for
-# atm devices.
-# NATM enables the netnatm protocol family that can be used to
-# bypass TCP/IP.
-#
-# the current driver supports only PVC operations (no atm-arp, no multicast).
-# for more details, please read the original documents at
-# http://www.ccrc.wustl.edu/pub/chuck/tech/bsdatm/bsdatm.html
-#
-pseudo-device atm
-device en
-options NATM #native ATM
-
-#
-# Audio drivers: `snd', `sb', `pas', `gus', `pca'
-#
-# snd: Voxware sound support code
-# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
-# sbxvi: SoundBlaster 16
-# sbmidi: SoundBlaster 16 MIDI interface
-# pas: ProAudioSpectrum PCM and MIDI
-# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
-# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
-# mss: Microsoft Sound System
-# css: Crystal Sound System (CSS 423x PnP)
-# sscape: Ensoniq Soundscape MIDI interface
-# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
-# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
-# uart: stand-alone 6850 UART for MIDI
-# mpu: Roland MPU-401 stand-alone card
-#
-# Note: It has been reported that ISA DMA with the SoundBlaster will
-# lock up the machine (PR docs/5358). If this happens to you,
-# turning off USWC write posting in your machine's BIOS may fix
-# the problem.
-#
-# Beware! The addresses specified below are also hard-coded in
-# src/sys/i386/isa/sound/sound_config.h. If you change the values here, you
-# must also change the values in the include file.
-#
-# pcm: PCM audio through various sound cards.
-#
-# This has support for a large number of new audio cards, based on
-# CS423x, OPTi931, Yamaha OPL-SAx, and also for SB16, GusPnP.
-# For more information about this driver and supported cards,
-# see the pcm.4 man page.
-#
-# The flags of the device tells the device a bit more info about the
-# device that normally is obtained through the PnP interface.
-# bit 2..0 secondary DMA channel;
-# bit 4 set if the board uses two dma channels;
-# bit 15..8 board type, overrides autodetection; leave it
-# zero if don't know what to put in (and you don't,
-# since this is unsupported at the moment...).
-#
-# This driver will use the new PnP code if it's available.
-#
-# pca: PCM audio through your PC speaker
-#
-# If you have a GUS-MAX card and want to use the CS4231 codec on the
-# card the drqs for the gus max must be 8 bit (1, 2, or 3).
-#
-# If you would like to use the full duplex option on the gus, then define
-# flags to be the ``read dma channel''.
-#
-# options BROKEN_BUS_CLOCK #PAS-16 isn't working and OPTI chipset
-# options SYMPHONY_PAS #PAS-16 isn't working and SYMPHONY chipset
-# options EXCLUDE_SBPRO #PAS-16
-# options SBC_IRQ=5 #PAS-16. Must match irq on sb0 line.
-# PAS16: The order of the pas0/sb0/opl0 is important since the
-# sb emulation is enabled in the pas-16 attach.
-#
-# To override the GUS defaults use:
-# options GUS_DMA2
-# options GUS_DMA
-# options GUS_IRQ
-#
-# The src/sys/i386/isa/sound/sound.doc has more information.
-
-# Controls all "VOXWARE" driver sound devices. See Luigi's driver
-# below for an alternate which may work better for some cards.
-#
-#device snd
-#device pas0 at isa? port 0x388 irq 10 drq 6
-#device sb0 at isa? port 0x220 irq 5 drq 1
-#device sbxvi0 at isa? drq 5
-#device sbmidi0 at isa? port 0x330
-#device awe0 at isa? port 0x620
-#device gus0 at isa? port 0x220 irq 12 drq 1
-##device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3
-#device mss0 at isa? port 0x530 irq 10 drq 1
-#device css0 at isa? port 0x534 irq 5 drq 1 flags 0x08
-#device sscape0 at isa? port 0x330 irq 9 drq 0
-#device trix0 at isa? port 0x330 irq 6 drq 0
-#device sscape_mss0 at isa? port 0x534 irq 5 drq 1
-#device opl0 at isa? port 0x388
-#device mpu0 at isa? port 0x330 irq 6 drq 0
-#device uart0 at isa? port 0x330 irq 5
-
-# The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!).
-#
-# Supported cards include:
-# Creative SoundBlaster ISA PnP/non-PnP
-# Supports ESS and Avance ISA chips as well.
-# Gravis UltraSound ISA PnP/non-PnP
-# Crystal Semiconductor CS461x/428x PCI
-# Neomagic 256AV (ac97)
-# Most of the more common ISA/PnP sb/mss/ess compatable cards.
-
-# For non-pnp sound cards with no bridge drivers only:
-device pcm0 at isa? irq 10 drq 1 flags 0x0
-#
-# For PnP/PCI sound cards
-device pcm
-
-# The bridge drivers for sound cards. These can be seperately configured
-# for providing services to the likes of new-midi (not in the tree yet).
-# When used with 'device pcm' they also provide pcm sound services.
-#
-# sbc: Creative SoundBlaster ISA PnP/non-PnP
-# Supports ESS and Avance ISA chips as well.
-# gusc: Gravis UltraSound ISA PnP/non-PnP
-# csa: Crystal Semiconductor CS461x/428x PCI
-
-# For non-PnP cards:
-device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
-device gusc0 at isa? port 0x220 irq 5 drq 1 flags 0x13
-
-# Not controlled by `snd'
-device pca0 at isa? port IO_TIMER1
-
-#
-# Miscellaneous hardware:
-#
-# mcd: Mitsumi CD-ROM
-# scd: Sony CD-ROM
-# matcd: Matsushita/Panasonic CD-ROM
-# wt: Wangtek and Archive QIC-02/QIC-36 tape drives
-# ctx: Cortex-I frame grabber
-# apm: Laptop Advanced Power Management (experimental)
-# spigot: The Creative Labs Video Spigot video-acquisition board
-# meteor: Matrox Meteor video capture board
-# bktr: Brooktree bt848/848a/849a/878/879 video capture and TV Tuner board
-# cy: Cyclades serial driver
-# dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!)
-# dgm: Digiboard PC/Xem driver
-# gp: National Instruments AT-GPIB and AT-GPIB/TNT board
-# asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey
-# gsc: Genius GS-4500 hand scanner.
-# joy: joystick
-# labpc: National Instrument's Lab-PC and Lab-PC+
-# rc: RISCom/8 multiport card
-# rp: Comtrol Rocketport(ISA) - single card
-# tw: TW-523 power line interface for use with X-10 home control products
-# si: Specialix SI/XIO 4-32 port terminal multiplexor
-# stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
-# stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
-
-# Notes on APM
-# The flags takes the following meaning for apm0:
-# 0x0020 Statclock is broken.
-# If apm is omitted, some systems require sysctl -w kern.timecounter.method=1
-# for correct timekeeping.
-
-# Notes on the spigot:
-# The video spigot is at 0xad6. This port address can not be changed.
-# The irq values may only be 10, 11, or 15
-# I/O memory is an 8kb region. Possible values are:
-# 0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff
-# The start address must be on an even boundary.
-# Add the following option if you want to allow non-root users to be able
-# to access the spigot. This option is not secure because it allows users
-# direct access to the I/O page.
-# options SPIGOT_UNSECURE
-
-# Notes on the Comtrol Rocketport driver:
-#
-# The exact values used for rp0 depend on how many boards you have
-# in the system. The manufacturer's sample configs are listed as:
-#
-# Comtrol Rocketport ISA single card
-# device rp0 at isa? port 0x280
-#
-# If instead you have two ISA cards, one installed at 0x100 and the
-# second installed at 0x180, then you should add the following to
-# your kernel configuration file:
-#
-# device rp0 at isa? port 0x100
-# device rp1 at isa? port 0x180
-#
-# For 4 ISA cards, it might be something like this:
-#
-# device rp0 at isa? port 0x180
-# device rp1 at isa? port 0x100
-# device rp2 at isa? port 0x340
-# device rp3 at isa? port 0x240
-#
-# And for PCI cards, you only need say:
-#
-# device rp
-
-# Notes on the Digiboard driver:
-#
-# The following flag values have special meanings:
-# 0x01 - alternate layout of pins (dgb & dgm)
-# 0x02 - use the windowed PC/Xe in 64K mode (dgb only)
-
-# Notes on the Specialix SI/XIO driver:
-# **This is NOT a Specialix supported Driver!**
-# The host card is memory, not IO mapped.
-# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
-# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
-# The cards can use an IRQ of 11, 12 or 15.
-
-# Notes on the Stallion stl and stli drivers:
-# See src/i386/isa/README.stl for complete instructions.
-# This is version 0.0.5alpha, unsupported by Stallion.
-# The stl driver has a secondary IO port hard coded at 0x280. You need
-# to change src/i386/isa/stallion.c if you reconfigure this on the boards.
-# The "flags" and "iosiz" settings on the stli driver depend on the board:
-# EasyConnection 8/64 ISA: flags 23 iosiz 0x1000
-# EasyConnection 8/64 EISA: flags 24 iosiz 0x10000
-# EasyConnection 8/64 MCA: flags 25 iosiz 0x1000
-# ONboard ISA: flags 4 iosiz 0x10000
-# ONboard EISA: flags 7 iosiz 0x10000
-# ONboard MCA: flags 3 iosiz 0x10000
-# Brumby: flags 2 iosiz 0x4000
-# Stallion: flags 1 iosiz 0x10000
-
-device mcd0 at isa? port 0x300 irq 10
-# for the Sony CDU31/33A CDROM
-device scd0 at isa? port 0x230
-# for the SoundBlaster 16 multicd - up to 4 devices
-device matcd0 at isa? port 0x230
-device wt0 at isa? port 0x300 irq 5 drq 1
-device ctx0 at isa? port 0x230 iomem 0xd0000
-device spigot0 at isa? port 0xad6 irq 15 iomem 0xee000
-device apm0
-device gp0 at isa? port 0x2c0
-device gsc0 at isa? port IO_GSC1 drq 3
-device joy0 at isa? port IO_GAME
-device cy0 at isa? irq 10 iomem 0xd4000 iosiz 0x2000
-options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
-device dgb0 at isa? port 0x220 iomem 0xfc000
-options NDGBPORTS=16 # Defaults to 16*NDGB
-device dgm0 at isa? port 0x104 iomem 0xd0000
-device labpc0 at isa? port 0x260 irq 5
-device rc0 at isa? port 0x220 irq 12
-device rp0 at isa? port 0x280
-# the port and irq for tw0 are fictitious
-device tw0 at isa? port 0x380 irq 11
-device si0 at isa? iomem 0xd0000 irq 12
-device asc0 at isa? port IO_ASC1 drq 3 irq 10
-device stl0 at isa? port 0x2a0 irq 10
-device stli0 at isa? port 0x2a0 iomem 0xcc000 flags 23 iosiz 0x1000
-# You are unlikely to have the hardware for loran0 <phk@FreeBSD.org>
-device loran0 at isa? irq 5
-# HOT1 Xilinx 6200 card (http://www.vcc.com/)
-device xrpu
-
-#
-# MCA devices:
-#
-# The MCA bus device is `mca'. It provides auto-detection and
-# configuration support for all devices on the MCA bus.
-#
-# The 'aha' device provides support for the Adaptec 1640
-#
-# The 'bt' device provides support for various Buslogic/Bustek
-# and Storage Dimensions SCSI adapters.
-#
-# The 'ep' device provides support for the 3Com 3C529 ethernet card.
-#
-device mca
-
-#
-# EISA devices:
-#
-# The EISA bus device is `eisa'. It provides auto-detection and
-# configuration support for all devices on the EISA bus.
-#
-# The `ahb' device provides support for the Adaptec 174X adapter.
-#
-# The `ahc' device provides support for the Adaptec 274X and 284X
-# adapters. The 284X, although a VLB card, responds to EISA probes.
-#
-# fea: DEC DEFEA EISA FDDI adapter
-#
-device eisa
-device ahb
-device ahc
-device fea
-
-# The aic7xxx driver will attempt to use memory mapped I/O for all PCI
-# controllers that have it configured only if this option is set. Unfortunately,
-# this doesn't work on some motherboards, which prevents it from being the
-# default.
-options AHC_ALLOW_MEMIO
-
-# The adw driver will attempt to use memory mapped I/O for all PCI
-# controllers that have it configured only if this option is set.
-options ADW_ALLOW_MEMIO
-
-# By default, only 10 EISA slots are probed, since the slot numbers
-# above clash with the configuration address space of the PCI subsystem,
-# and the EISA probe is not very smart about this. This is sufficient
-# for most machines, but in particular the HP NetServer LC series comes
-# with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
-# thus you need to bump this figure to 12 for them.
-options EISA_SLOTS=12
-
-#
-# PCI devices & PCI options:
-#
-# The main PCI bus device is `pci'. It provides auto-detection and
-# configuration support for all devices on the PCI bus, using either
-# configuration mode defined in the PCI specification.
-
-device pci
-
-# PCI options
-#
-#options PCI_QUIET #quiets PCI code on chipset settings
-options COMPAT_OLDPCI #Use PCI shims and glue for old drivers
-
-
-# The `ahc' device provides support for the Adaptec 29/3940(U)(W)
-# and motherboard based AIC7870/AIC7880 adapters.
-#
-# The `amd' device provides support for the AMD 53C974 SCSI host
-# adapter chip as found on devices such as the Tekram DC-390(T).
-#
-# The `ncr' device provides support for the NCR 53C810 and 53C825
-# self-contained SCSI host adapters.
-#
-# The `isp' device provides support for the Qlogic ISP 1020, 1040
-# nd 1040B PCI SCSI host adapters, ISP 1240 Dual Ultra SCSI,
-# ISP 1080 and 1280 (Dual) Ultra2, ISP 12160 Ultra3 SCSI, as well as
-# the Qlogic ISP 2100 and ISP 2200 Fibre Channel Host Adapters.
-#
-# The `dc' device provides support for PCI fast ethernet adapters
-# based on the DEC/Intel 21143 and various workalikes including:
-# the ADMtek AL981 Comet and AN985 Centaur, the ASIX Electronics
-# AX88140A and AX88141, the Davicom DM9100 and DM9102, the Lite-On
-# 82c168 and 82c169 PNIC, the Lite-On/Macronix LC82C115 PNIC II
-# and the Macronix 98713/98713A/98715/98715A/98725 PMAC. This driver
-# replaces the old al, ax, dm, pn and mx drivers. List of brands:
-# Digital DE500-BA, Kingston KNE100TX, D-Link DFE-570TX, SOHOware SFA110,
-# SVEC PN102-TX, CNet Pro110B, 120A, and 120B, Compex RL100-TX,
-# LinkSys LNE100TX, LNE100TX V2.0, Jaton XpressNet, Alfa Inc GFC2204,
-# KNE110TX.
-#
-# The `de' device provides support for the Digital Equipment DC21040
-# self-contained Ethernet adapter.
-#
-# The `fxp' device provides support for the Intel EtherExpress Pro/100B
-# PCI Fast Ethernet adapters.
-#
-# The 'rl' device provides support for PCI fast ethernet adapters based
-# on the RealTek 8129/8139 chipset. Note that the RealTek driver defaults
-# to using programmed I/O to do register accesses because memory mapped
-# mode seems to cause severe lockups on SMP hardware. This driver also
-# supports the Accton EN1207D `Cheetah' adapter, which uses a chip called
-# the MPX 5030/5038, which is either a RealTek in disguise or a RealTek
-# workalike. Note that the D-Link DFE-530TX+ uses the RealTek chipset
-# and is supported by this driver, not the 'vr' driver.
-#
-# The 'sf' device provides support for Adaptec Duralink PCI fast
-# ethernet adapters based on the Adaptec AIC-6915 "starfire" controller.
-# This includes dual and quad port cards, as well as one 100baseFX card.
-# Most of these are 64-bit PCI devices, except for one single port
-# card which is 32-bit.
-#
-# The 'ste' device provides support for adapters based on the Sundance
-# Technologies ST201 PCI fast ethernet controller. This includes the
-# D-Link DFE-550TX.
-#
-# The 'sis' device provides support for adapters based on the Silicon
-# Integrated Systems SiS 900 and SiS 7016 PCI fast ethernet controller
-# chips.
-#
-# The 'sk' device provides support for the SysKonnect SK-984x series
-# PCI gigabit ethernet NICs. This includes the SK-9841 and SK-9842
-# single port cards (single mode and multimode fiber) and the
-# SK-9843 and SK-9844 dual port cards (also single mode and multimode).
-# The driver will autodetect the number of ports on the card and
-# attach each one as a separate network interface.
-#
-# The 'ti' device provides support for PCI gigabit ethernet NICs based
-# on the Alteon Networks Tigon 1 and Tigon 2 chipsets. This includes the
-# Alteon AceNIC, the 3Com 3c985, the Netgear GA620 and various others.
-# Note that you will probably want to bump up NMBCLUSTERS a lot to use
-# this driver.
-#
-# The 'tl' device provides support for the Texas Instruments TNETE100
-# series 'ThunderLAN' cards and integrated ethernet controllers. This
-# includes several Compaq Netelligent 10/100 cards and the built-in
-# ethernet controllers in several Compaq Prosignia, Proliant and
-# Deskpro systems. It also supports several Olicom 10Mbps and 10/100
-# boards.
-#
-# The `tx' device provides support for the SMC 9432TX cards.
-#
-# The `vr' device provides support for various fast ethernet adapters
-# based on the VIA Technologies VT3043 `Rhine I' and VT86C100A `Rhine II'
-# chips, including the D-Link DFE530TX (see 'rl' for DFE530TX+), the Hawking
-# Technologies PN102TX, and the AOpen/Acer ALN-320.
-#
-# The `vx' device provides support for the 3Com 3C590 and 3C595
-# early support
-#
-# The `wb' device provides support for various fast ethernet adapters
-# based on the Winbond W89C840F chip. Note: this is not the same as
-# the Winbond W89C940F, which is an NE2000 clone.
-#
-# The `wx' device provides support for the Intel Gigabit Ethernet
-# PCI card (`Wiseman').
-#
-# The `xl' device provides support for the 3Com 3c900, 3c905 and
-# 3c905B (Fast) Etherlink XL cards and integrated controllers. This
-# includes the integrated 3c905B-TX chips in certain Dell Optiplex and
-# Dell Precision desktop machines and the integrated 3c905-TX chips
-# in Dell Latitude laptop docking stations.
-#
-# The `fpa' device provides support for the Digital DEFPA PCI FDDI
-# adapter. pseudo-device fddi is also needed.
-#
-# The `meteor' device is a PCI video capture board. It can also have the
-# following options:
-# options METEOR_ALLOC_PAGES=xxx preallocate kernel pages for data entry
-# figure (ROWS*COLUMN*BYTES_PER_PIXEL*FRAME+PAGE_SIZE-1)/PAGE_SIZE
-# options METEOR_DEALLOC_PAGES remove all allocated pages on close(2)
-# options METEOR_DEALLOC_ABOVE=xxx remove all allocated pages above the
-# specified amount. If this value is below the allocated amount no action
-# taken
-# options METEOR_SYSTEM_DEFAULT={METEOR_PAL|METEOR_NTSC|METEOR_SECAM}, used
-# for initialization of fps routine when a signal is not present.
-#
-# The 'bktr' device is a PCI video capture device using the Brooktree
-# bt848/bt848a/bt849a/bt878/bt879 chipset. When used with a TV Tuner it forms a
-# TV card, eg Miro PC/TV, Hauppauge WinCast/TV WinTV, VideoLogic Captivator,
-# Intel Smart Video III, AverMedia, IMS Turbo, FlyVideo.
-#
-# options OVERRIDE_CARD=xxx
-# options OVERRIDE_TUNER=xxx
-# options OVERRIDE_MSP=1
-# options OVERRIDE_DBX=1
-# These options can be used to override the auto detection
-# The current values for xxx are found in src/sys/dev/bktr/bktr_card.h
-# Using sysctl(8) run-time overrides on a per-card basis can be made
-#
-# options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL
-# or
-# options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_NTSC
-# Specifes the default video capture mode.
-# This is required for Dual Crystal (28&35Mhz) boards where PAL is used
-# to prevent hangs during initialisation. eg VideoLogic Captivator PCI.
-#
-# options BKTR_USE_PLL
-# PAL or SECAM users who have a 28Mhz crystal (and no 35Mhz crystal)
-# must enable PLL mode with this option. eg some new Bt878 cards.
-#
-# options BKTR_GPIO_ACCESS
-# This enable IOCTLs which give user level access to the GPIO port.
-#
-# options BKTR_NO_MSP_RESET
-# Prevents the MSP34xx reset. Good if you initialise the MSP in another OS first
-#
-# options BKTR_430_FX_MODE
-# Switch Bt878/879 cards into Intel 430FX chipset compatibility mode.
-#
-# options BKTR_SIS_VIA_MODE
-# Switch Bt878/879 cards into SIS/VIA chipset compatibility mode which is
-# needed for some old SiS and VIA chipset motherboards.
-# This also allows Bt878/879 chips to work on old OPTi (<1997) chipset
-# motherboards and motherboards with bad or incomplete PCI 2.1 support.
-# As a rough guess, old = before 1998
-#
-#
-# The oltr driver supports the following Olicom PCI token-ring adapters
-# OC-3136, OC-3137, OC-3139, OC-3140, OC-3141, OC-3540, OC-3250
-#
-device ahc # AHA2940 and onboard AIC7xxx devices
-device amd # AMD 53C974 (Teckram DC-390(T))
-device isp # Qlogic family
-device ncr # NCR/Symbios Logic
-device sym # NCR/Symbios Logic (newer chipsets)
-#
-# Options for ISP
-#
-# SCSI_ISP_NO_FWLOAD_MASK - mask of isp unit numbers (obviously
-# a max of 32) that you wish to disable
-# to disable the loading of firmware on.
-# SCSI_ISP_NO_NVRAM_MASK - mask of isp unit numbers (obviously
-# a max of 32) that you wish to disable
-# them picking up information from NVRAM
-# (for broken cards you can't fix the NVRAM
-# on- very rare, or for systems you can't
-# change NVRAM on (e.g. alpha) and you don't
-# like what's in there)
-# SCSI_ISP_PREFER_MEM_MAP - control preference for using memory mappings
-# instead of I/O space mappings. It defaults
-# to 1 for i386, 0 for alpha. Set to 1 to
-# unconditionally prefer mapping memory,
-# else it will use I/O space mappings. Of
-# course, this can fail if the PCI implement-
-# ation doesn't support what you want.
-#
-# SCSI_ISP_FCDUPLEX - mask of isp unit numbers (obviously
-# a max of 32) that you wish to set fibre
-# channel full duplex mode on.
-# to disable the loading of firmware on.
-# SCSI_ISP_FABRIC enable loading of Fabric f/w flavor (2100).
-# SCSI_ISP_SCCLUN enable loading of expanded lun f/w (2100).
-# SCSI_ISP_WWN - define a WWN to use as a default
-#
-# ISP_DISABLE_1020_SUPPORT Disable support for 1020/1040 cards
-# ISP_DISABLE_1080_SUPPORT Disable support for 1080/1240 cards
-# ISP_DISABLE_12160_SUPPORT Disable support for 12160 cards
-# ISP_DISABLE_2100_SUPPORT Disable support for 2100 cards
-# (these really just to save some code space)
-# (use of all four will cause the kernel to not compile)
-#
-# ISP_COMPILE_FW - compile all firmware in
-# ISP_COMPILE_1020_FW - compile in 1020/1040 firmware
-# ISP_COMPILE_1080_FW - compile in 1080/1240/1280 firmware
-# ISP_COMPILE_12160_FW - compile in 12160 firmware
-# ISP_COMPILE_2100_FW - compile in 2100 firmware
-# ISP_COMPILE_2200_FW - compile in 2200 firmware
-#
-# ISP_TARGET_MODE - enable target mode operation
-#
-options SCSI_ISP_NO_FWLOAD_MASK=0x12 # disable FW load for isp1, isp4
-options SCSI_ISP_NO_NVRAM_MASK=0x1 # disable NVRAM for isp0
-options SCSI_ISP_PREFER_MEM_MAP=0 # prefer I/O mapping
-options SCSI_ISP_FCDUPLEX=0x4 # isp2 is a Fibre Channel card
- # we want in full duplex mode.
-options SCSI_ISP_WWN="0x5000000099990000"
-#options ISP_DISABLE_1020_SUPPORT
-#options ISP_DISABLE_1080_SUPPORT
-#options ISP_DISABLE_12160_SUPPORT
-#options ISP_DISABLE_2100_SUPPORT
-#options ISP_COMPILE_1020_FW=1
-#options ISP_COMPILE_1080_FW=1
-#options ISP_COMPILE_2100_FW=1
-#options ISP_COMPILE_2200_FW=1
-#options ISP_TARGET_MODE=1
-
-# Options used in dev/sym/ (Symbios SCSI driver).
-#options SYM_SETUP_LP_PROBE_MAP #-Low Priority Probe Map (bits)
- # Allows the ncr to take precedence
- # 1 (1<<0) -> 810a, 860
- # 2 (1<<1) -> 825a, 875, 885, 895
- # 4 (1<<2) -> 895a, 896, 1510d
-#options SYM_SETUP_SCSI_DIFF #-HVD support for 825a, 875, 885
- # disabled:0 (default), enabled:1
-#options SYM_SETUP_PCI_PARITY #-PCI parity checking
- # disabled:0, enabled:1 (default)
-#options SYM_SETUP_MAX_LUN #-Number of LUNs supported
- # default:8, range:[1..64]
-
-
-# MII bus support is required for some PCI 10/100 ethernet NICs,
-# namely those which use MII-compliant transceivers or implement
-# tranceiver control interfaces that operate like an MII. Adding
-# "device miibus0" to the kernel config pulls in support for
-# the generic miibus API and all of the PHY drivers, including a
-# generic one for PHYs that aren't specifically handled by an
-# individual driver.
-device miibus
-
-# PCI Ethernet NICs that use the common MII bus controller code.
-device dc # DEC/Intel 21143 and various workalikes
-device rl # RealTek 8129/8139
-device sf # Adaptec AIC-6915 (``Starfire'')
-device sis # Silicon Integrated Systems SiS 900/SiS 7016
-device ste # Sundance ST201 (D-Link DFE-550TX)
-device tl # Texas Instruments ThunderLAN
-device vr # VIA Rhine, Rhine II
-device wb # Winbond W89C840F
-device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
-
-# PCI Ethernet NICs.
-device de # DEC/Intel DC21x4x (``Tulip'')
-device fxp # Intel EtherExpress PRO/100B (82557, 82558)
-device tx # SMC 9432TX (83c170 ``EPIC'')
-device vx # 3Com 3c590, 3c595 (``Vortex'')
-
-device sk
-device ti
-device wx
-device fpa
-device meteor
-#The oltr driver in the ISA section will also find PCI cards.
-#device oltr0
-
-
-# Brooktree driver has been ported to the new I2C framework. Thus,
-# you'll need to have the following 3 lines in the kernel config.
-# device smbus
-# device iicbus
-# device iicbb
-# The iic and smb devices are only needed if you want to control other
-# I2C slaves connected to the external connector of some cards.
-#
-device bktr
-
-#
-# PCCARD/PCMCIA
-#
-# card: pccard slots
-# pcic: isa/pccard bridge
-device pcic0 at isa?
-device pcic1 at isa?
-device card
-
-# You may need to reset all pccards after resuming
-options PCIC_RESUME_RESET # reset after resume
-
-#
-# Laptop/Notebook options:
-#
-# See also:
-# apm under `Miscellaneous hardware'
-# above.
-
-# For older notebooks that signal a powerfail condition (external
-# power supply dropped, or battery state low) by issuing an NMI:
-
-options POWERFAIL_NMI # make it beep instead of panicing
-
-#
-# SMB bus
-#
-# System Management Bus support provided by the 'smbus' device.
-#
-# Supported devices:
-# smb standard io
-#
-# Supported interfaces:
-# iicsmb I2C to SMB bridge with any iicbus interface
-# bktr brooktree848 I2C hardware interface
-# intpm Intel PIIX4 Power Management Unit
-# alpm Acer Aladdin-IV/V/Pro2 Power Management Unit
-#
-device smbus # Bus support, required for smb below.
-device intpm
-device alpm
-
-device smb
-
-#
-# I2C Bus
-#
-# Philips i2c bus support is provided by the `iicbus' device.
-#
-# Supported devices:
-# ic i2c network interface
-# iic i2c standard io
-# iicsmb i2c to smb bridge. Allow i2c i/o with smb commands.
-#
-# Supported interfaces:
-# pcf Philips PCF8584 ISA-bus controller
-# bktr brooktree848 I2C software interface
-#
-# Other:
-# iicbb generic I2C bit-banging code (needed by lpbb, bktr)
-#
-device iicbus # Bus support, required for ic/iic/iicsmb below.
-device iicbb
-
-device ic
-device iic
-device iicsmb # smb over i2c bridge
-
-device pcf0 at isa? port 0x320 irq 5
-
-# ISDN4BSD section
-#
-# See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
-#
-# i4b passive ISDN cards support (isic - I4b Siemens Isdn Chipset driver)
-# note that the ``options'' and ``device'' lines must BOTH be defined !
-#
-# Driver entries marked "(not supported yet!)" are not working currently
-# due to not being converted to newbus. We hope to get them back to support
-# in the near future.
-#
-# ISA bus non-PnP Cards:
-# ----------------------
-#
-# Teles S0/8 or Niccy 1008
-options TEL_S0_8
-device isic0 at isa? iomem 0xd0000 irq 5 flags 1
-#
-# Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
-options TEL_S0_16
-#device isic0 at isa? port 0xd80 iomem 0xd0000 irq 5 flags 2
-#
-# Teles S0/16.3
-options TEL_S0_16_3
-#device isic0 at isa? port 0xd80 irq 5 flags 3
-#
-# AVM A1 or AVM Fritz!Card
-options AVM_A1
-#device isic0 at isa? port 0x340 irq 5 flags 4
-#
-# USRobotics Sportster ISDN TA intern (not supported yet!)
-#options USR_STI
-#device isic0 at isa? port 0x268 irq 5 flags 7
-#
-# ITK ix1 Micro ( < V.3, non-PnP version ) (not supported yet!)
-#options ITKIX1
-#device isic0 at isa? port 0x398 irq 10 flags 18
-#
-# ELSA PCC-16
-options ELSA_PCC16
-#device isic0 at isa? port 0x360 irq 10 flags 20
-#
-# ISA bus PnP Cards:
-# ------------------
-#
-# Teles S0/16.3 PnP
-options TEL_S0_16_3_P
-#device isic
-#
-# Creatix ISDN-S0 P&P
-options CRTX_S0_P
-#device isic
-#
-# Dr. Neuhaus Niccy Go@
-options DRN_NGO
-#device isic
-#
-# Sedlbauer Win Speed
-options SEDLBAUER
-#device isic
-#
-# Dynalink IS64PH (not supported yet!)
-#options DYNALINK
-#device isic
-#
-# ELSA QuickStep 1000pro ISA
-options ELSA_QS1ISA
-#device isic
-#
-# ITK ix1 Micro ( V.3, PnP version ) (not supported yet!)
-#options ITKIX1
-#device isic
-#
-# AVM Fritz!Card PnP (not supported yet!)
-#options AVM_PNP
-#device isic
-#
-# Siemens I-Surf 2.0
-options SIEMENS_ISURF2
-#device isic
-#
-# Asuscom ISDNlink 128K ISA
-#options ASUSCOM_IPAC
-#device isic
-#
-# PCI bus Cards:
-# --------------
-#
-# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
-options ELSA_QS1PCI
-#device isic
-#
-# AVM Fritz!Card PCI
-options AVM_A1_PCI
-#device isic
-#
-# PCMCIA Cards:
-# -------------
-#
-# AVM PCMCIA Fritz!Card (not supported yet!)
-#options AVM_A1_PCMCIA
-#device isic0 at isa? port 0x340 irq 5 flags 10
-#
-# Active Cards:
-# -------------
-#
-# Stollmann Tina-dd control device
-# (driver under development, not fully functional!)
-device tina0 at isa? port 0x260 irq 10
-#
-# ISDN Protocol Stack
-# -------------------
-#
-# Q.921 / layer 2 - i4b passive cards D channel handling
-pseudo-device "i4bq921"
-#
-# Q.931 / layer 3 - i4b passive cards D channel handling
-pseudo-device "i4bq931"
-#
-# layer 4 - i4b common passive and active card handling
-pseudo-device "i4b"
-#
-# ISDN devices
-# ------------
-#
-# userland driver to do ISDN tracing (for passive cards only)
-pseudo-device "i4btrc" 4
-#
-# userland driver to control the whole thing
-pseudo-device "i4bctl"
-#
-# userland driver for access to raw B channel
-pseudo-device "i4brbch" 4
-#
-# userland driver for telephony
-pseudo-device "i4btel" 2
-#
-# network driver for IP over raw HDLC ISDN
-pseudo-device "i4bipr" 4
-# enable VJ header compression detection for ipr i/f
-options IPR_VJ
-# enable logging of the first n IP packets to isdnd (n=32 here)
-#options IPR_LOG=32
-#
-# network driver for sync PPP over ISDN; requires an equivalent
-# number of sppp pseudo-devices to be configured
-pseudo-device "i4bisppp" 4
-
-
-# Parallel-Port Bus
-#
-# Parallel port bus support is provided by the `ppbus' device.
-# Multiple devices may be attached to the parallel port, devices
-# are automatically probed and attached when found.
-#
-# Supported devices:
-# vpo Iomega Zip Drive
-# Requires SCSI disk support ('scbus' and 'da'), best
-# performance is achieved with ports in EPP 1.9 mode.
-# lpt Parallel Printer
-# plip Parallel network interface
-# ppi General-purpose I/O ("Geek Port") + IEEE1284 I/O
-# pps Pulse per second Timing Interface
-# lpbb Philips official parallel port I2C bit-banging interface
-#
-# Supported interfaces:
-# ppc ISA-bus parallel port interfaces.
-#
-
-options PPC_PROBE_CHIPSET # Enable chipset specific detection
- # (see flags in ppc(4))
-options DEBUG_1284 # IEEE1284 signaling protocol debug
-options PERIPH_1284 # Makes your computer act as a IEEE1284
- # compliant peripheral
-options DONTPROBE_1284 # Avoid boot detection of PnP parallel devices
-options VP0_DEBUG # ZIP/ZIP+ debug
-options LPT_DEBUG # Printer driver debug
-options PPC_DEBUG # Parallel chipset level debug
-options PLIP_DEBUG # Parallel network IP interface debug
-options PCFCLOCK_VERBOSE # Verbose pcfclock driver
-options PCFCLOCK_MAX_RETRIES=5 # Maximum read tries (default 10)
-
-device ppc0 at isa? irq 7
-device ppbus
-device vpo
-device lpt
-device plip
-device ppi
-device pps
-device lpbb
-device pcfclock
-
-# Kernel BOOTP support
-
-options BOOTP # Use BOOTP to obtain IP address/hostname
-options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
-options BOOTP_NFSV3 # Use NFS v3 to NFS mount root
-options BOOTP_COMPAT # Workaround for broken bootp daemons.
-options BOOTP_WIRED_TO=fxp0 # Use interface fxp0 for BOOTP
-
-#
-# Add tie-ins for a hardware watchdog. This only enable the hooks;
-# the user must still supply the actual driver.
-#
-options HW_WDOG
-
-#
-# Set the number of PV entries per process. Increasing this can
-# stop panics related to heavy use of shared memory. However, that can
-# (combined with large amounts of physical memory) cause panics at
-# boot time due the kernel running out of VM space.
-#
-# If you're tweaking this, you might also want to increase the sysctls
-# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
-#
-# The value below is the one more than the default.
-#
-options PMAP_SHPGPERPROC=201
-
-#
-# Disable swapping. This option removes all code which actually performs
-# swapping, so it's not possible to turn it back on at run-time.
-#
-# This is sometimes usable for systems which don't have any swap space
-# (see also sysctls "vm.defer_swapspace_pageouts" and
-# "vm.disable_swapspace_pageouts")
-#
-#options NO_SWAPPING
-
-# Set the number of sf_bufs to allocate. sf_bufs are virtual buffers
-# for sendfile(2) that are used to map file VM pages, and normally
-# default to a quantity that is roughly 16*MAXUSERS+512. You would
-# typically want about 4 of these for each simultaneous file send.
-#
-options NSFBUFS=1024
-
-#
-# Enable extra debugging code for locks. This stores the filename and
-# line of whatever acquired the lock in the lock itself, and change a
-# number of function calls to pass around the relevant data. This is
-# not at all useful unless you are debugging lock code. Also note
-# that it is likely to break e.g. fstat(1) unless you recompile your
-# userland with -DDEBUG_LOCKS as well.
-#
-options DEBUG_LOCKS
-
-#
-# SysVR4 ABI emulation
-#
-# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
-# a KLD module.
-# The STREAMS network emulation code can also be compiled statically or as a
-# module. If loaded as a module, it must be loaded before the svr4 module
-# (the /usr/sbin/svr4 script does this for you). If compiling statically,
-# the `streams' pseudo-device must be configured into any kernel which also
-# specifies COMPAT_SVR4. It is possible to have a statically-configured
-# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
-# script understands that it doesn't need to load the `streams' module under
-# those circumstances.
-# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
-# (whether static or dynamic).
-#
-options COMPAT_SVR4 # build emulator statically
-options DEBUG_SVR4 # enable verbose debugging
-pseudo-device streams # STREAMS network driver (required for svr4).
-
-# The 'dpt' driver provides support for DPT controllers (http://www.dpt.com/).
-# These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
-# The DPT controllers are commonly re-licensed under other brand-names -
-# some controllers by Olivetti, Dec, HP, AT&T, SNI, AST, Alphatronic, NEC and
-# Compaq are actually DPT controllers.
-#
-# See src/sys/dev/dpt for debugging and other subtle options.
-# DPT_MEASURE_PERFORMANCE Enables a set of (semi)invasive metrics. Various
-# instruments are enabled. The tools in
-# /usr/sbin/dpt_* assume these to be enabled.
-# DPT_HANDLE_TIMEOUTS Normally device timeouts are handled by the DPT.
-# If you ant the driver to handle timeouts, enable
-# this option. If your system is very busy, this
-# option will create more trouble than solve.
-# DPT_TIMEOUT_FACTOR Used to compute the excessive amount of time to
-# wait when timing out with the above option.
-# DPT_DEBUG_xxxx These are controllable from sys/dev/dpt/dpt.h
-# DPT_LOST_IRQ When enabled, will try, once per second, to catch
-# any interrupt that got lost. Seems to help in some
-# DPT-firmware/Motherboard combinations. Minimal
-# cost, great benefit.
-# DPT_RESET_HBA Make "reset" actually reset the controller
-# instead of fudging it. Only enable this if you
-# are 100% certain you need it.
-
-device dpt
-
-# DPT options
-#!CAM# options DPT_MEASURE_PERFORMANCE
-#!CAM# options DPT_HANDLE_TIMEOUTS
-options DPT_TIMEOUT_FACTOR=4
-options DPT_LOST_IRQ
-options DPT_RESET_HBA
-options DPT_ALLOW_MEMIO
-
-# USB support
-# UHCI controller
-device uhci
-# OHCI controller
-device ohci
-# General USB code (mandatory for USB)
-device usb
-#
-# USB Double Bulk Pipe devices
-device udbp
-# Generic USB device driver
-device ugen
-# Human Interface Device (anything with buttons and dials)
-device uhid
-# USB keyboard
-device ukbd
-# USB printer
-device ulpt
-# USB Iomega Zip 100 Drive
-device umass
-# USB mouse
-device ums
-# Diamond Rio 500 Mp3 player
-device urio
-#
-# ADMtek USB ethernet. Supports the LinkSys USB100TX,
-# the Billionton USB100, the Melco LU-ATX, the D-Link DSB-650TX
-# and the SMC 2202USB. Also works with the ADMtek AN986 Pegasus
-# eval board.
-device aue
-#
-# CATC USB-EL1201A USB ethernet. Supports the CATC Netmate
-# and Netmate II, and the Belkin F5U111.
-device cue
-#
-# Kawasaki LSI ethernet. Supports the LinkSys USB10T,
-# Entrega USB-NET-E45, Peracom Ethernet Adapter, the
-# 3Com 3c19250, the ADS Technologies USB-10BT, the ATen UC10T,
-# the Netgear EA101, the D-Link DSB-650, the SMC 2102USB
-# and 2104USB, and the Corega USB-T.
-device kue
-
-# debugging options for the USB subsystem
-#
-options UHCI_DEBUG
-options OHCI_DEBUG
-options USB_DEBUG
-
-options UGEN_DEBUG
-options UHID_DEBUG
-options UHUB_DEBUG
-options UKBD_DEBUG
-options ULPT_DEBUG
-options UMASS_DEBUG
-options UMS_DEBUG
-options URIO_DEBUG
-
-# options for ukbd:
-options UKBD_DFLT_KEYMAP # specify the built-in keymap
-makeoptions UKBD_DFLT_KEYMAP=it.iso
-
-#
-# Embedded system options:
-#
-# An embedded system might want to run something other than init.
-options INIT_PATH="/sbin/init:/stand/sysinstall"
-
-# Debug options
-options BUS_DEBUG # enable newbus debugging
-options DEBUG_VFS_LOCKS # enable vfs lock debugging
-options NPX_DEBUG # enable npx debugging (FPU/math emu)
-
-# More undocumented options for linting.
-# Note that documenting these are not considered an affront.
-
-options AHC_DUMP_EEPROM
-options AHC_TMODE_ENABLE
-options CAM_DEBUG_DELAY
-options CLUSTERDEBUG
-options COMPAT_LINUX
-options CPU_UPGRADE_HW_CACHE
-options DEBUG
-options DEBUG_LINUX
-#options DISABLE_PSE
-options ENABLE_ALART
-options ENABLE_VFS_IOOPT
-options FB_DEBUG
-options FB_INSTALL_CDEV
-options FE_8BIT_SUPPORT
-options I4B_SMP_WORKAROUND
-options I586_PMC_GUPROF=0x70000
-options IBCS2
-options KBDIO_DEBUG=2
-options KBD_MAXRETRY=4
-options KBD_MAXWAIT=6
-options KBD_RESETDELAY=201
-options KEY
-options LOCKF_DEBUG
-options LOUTB
-options MSGMNB=2049
-options MSGMNI=41
-options MSGSEG=2049
-options MSGSSZ=16
-options MSGTQL=41
-options NBUF=512
-options NETATALKDEBUG
-options NMBCLUSTERS=1024
-#options OLTR_NO_BULLSEYE_MAC
-#options OLTR_NO_HAWKEYE_MAC
-#options OLTR_NO_TMS_MAC
-options PANIC_REBOOT_WAIT_TIME=16
-options PSM_DEBUG=1
-options SCSI_NCR_DEBUG
-options SCSI_NCR_MAX_SYNC=10000
-options SCSI_NCR_MAX_WIDE=1
-options SCSI_NCR_MYADDR=7
-options SC_DEBUG_LEVEL
-options SC_RENDER_DEBUG
-options SEMMAP=31
-options SEMMNI=11
-options SEMMNS=61
-options SEMMNU=31
-options SEMMSL=61
-options SEMOPM=101
-options SEMUME=11
-options SHMALL=1025
-options SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
-options SHMMAXPGS=1025
-options SHMMIN=2
-options SHMMNI=33
-options SHMSEG=9
-options SHM_PHYS_BACKED
-options SHOW_BUSYBUFS # List buffers that prevent root unmount
-options SIMPLELOCK_DEBUG
-options SI_DEBUG
-options SLIP_IFF_OPTS
-options SPX_HACK
-options TIMER_FREQ="((14318182+6)/12)"
-options VFS_BIO_DEBUG
-options VM_KMEM_SIZE
-options VM_KMEM_SIZE_MAX
-options VM_KMEM_SIZE_SCALE
diff --git a/sys/i386/conf/Makefile b/sys/i386/conf/Makefile
new file mode 100644
index 0000000..67fff85
--- /dev/null
+++ b/sys/i386/conf/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+all:
+ @echo "make LINT only"
+
+LINT: NOTES makeLINT.pl
+ perl5 makeLINT.pl < NOTES > LINT
diff --git a/sys/i386/conf/NEWCARD b/sys/i386/conf/NEWCARD
index 9e95ab3..8a19f4e 100644
--- a/sys/i386/conf/NEWCARD
+++ b/sys/i386/conf/NEWCARD
@@ -34,6 +34,8 @@ cpu I686_CPU
ident NEWCARD
maxusers 32
+hints "NEWCARD.hints" #Default places to look for devices.
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulation
@@ -60,6 +62,7 @@ options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
+options KBD_INSTALL_CDEV # install a CDEV entry in /dev
# To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
@@ -75,15 +78,13 @@ device eisa
device pci
device pccard
#device cardbus
+options COMPAT_OLDISA # Old ISA driver shims
+options COMPAT_OLDPCI # Old PCI driver shims
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
+device fdc
# ATA and ATAPI devices
-device ata0 at isa? port IO_WD1 irq 14
-device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
@@ -101,11 +102,11 @@ device isp # Qlogic family
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
-#device adv0 at isa?
+#device adv
device adw
-device bt0 at isa?
-device aha0 at isa?
-device aic0 at isa?
+device bt
+device aha 1
+device aic
# SCSI peripherals
device scbus # SCSI bus (required)
@@ -120,43 +121,40 @@ device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
# atkbdc0 controls both the keyboard and the PS/2 mouse
-device atkbdc0 at isa? port IO_KBD
-device atkbd0 at atkbdc? irq 1
-device psm0 at atkbdc? irq 12
+device atkbdc 1
+device atkbd
+device psm
-device vga0 at isa?
+device vga
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa?
+device sc 1
# Enable this for the pcvt (VT220 compatible) console driver
-#device vt0 at isa?
+#device vt
#options XSERVER # support for X server on a vt console
#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
# Floating point support - do not disable.
-device npx0 at nexus? port IO_NPX irq 13
+device npx
# Power management support (see LINT for more options)
-device apm0 at nexus? flags 0x20 # Advanced Power Management
+device apm
# PCCARD (PCMCIA) support
-device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000
+device pcic
#device pccbb
# Serial (COM) ports
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-device sio1 at isa? port IO_COM2 irq 3
-device sio2 at isa? disable port IO_COM3 irq 5
-device sio3 at isa? disable port IO_COM4 irq 9
+device sio
# Parallel port
-device ppc0 at isa? irq 7
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -184,7 +182,7 @@ device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ISA Ethernet NICs.
-device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
+device ed
device ex
device ep
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
@@ -200,29 +198,29 @@ device an
# BayStack 660 and others
#device awi
# The probe order of these is presently determined by i386/isa/isa_compat.c.
-#device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
-#device fe0 at isa? port 0x300
-#device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-#device lnc0 at isa? port 0x280 irq 10 drq 0
-#device cs0 at isa? port 0x300
-device sn0 at isa? port 0x300 irq 10
+#device ie
+#device fe
+#device le
+#device lnc
+#device cs
+device sn
# Disabled because it is currently broken.
#device xe
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying (translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf # Berkeley packet filter
+device bpf # Berkeley packet filter
# USB support
#device uhci # UHCI PCI->USB interface
diff --git a/sys/i386/conf/NEWCARD.hints b/sys/i386/conf/NEWCARD.hints
new file mode 100644
index 0000000..5c774cc
--- /dev/null
+++ b/sys/i386/conf/NEWCARD.hints
@@ -0,0 +1,79 @@
+# $FreeBSD$
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
+hint.ata.0.at="isa"
+hint.ata.0.port="0x1F0"
+hint.ata.0.irq="14"
+hint.ata.1.at="isa"
+hint.ata.1.port="0x170"
+hint.ata.1.irq="15"
+hint.adv.0.at="isa"
+hint.bt.0.at="isa"
+hint.aha.0.at="isa"
+hint.aic.0.at="isa"
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
+hint.atkbd.0.flags="0x1"
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
+hint.vga.0.at="isa"
+hint.sc.0.at="isa"
+hint.sc.0.flags="0x100"
+hint.vt.0.at="isa"
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F0"
+hint.npx.0.irq="13"
+hint.apm.0.at="nexus"
+hint.apm.0.flags="0x20"
+hint.pcic.0.at="isa"
+hint.pcic.0.irq="10"
+hint.pcic.0.port="0x3e0"
+hint.pcic.0.iomem="0xd0000"
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+hint.sio.1.at="isa"
+hint.sio.1.port="0x2F8"
+hint.sio.1.irq="3"
+hint.sio.2.at="isa"
+hint.sio.2.disabled="1"
+hint.sio.2.port="0x3E8"
+hint.sio.2.irq="5"
+hint.sio.3.at="isa"
+hint.sio.3.disabled="1"
+hint.sio.3.port="0x2E8"
+hint.sio.3.irq="9"
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
+hint.ed.0.at="isa"
+hint.ed.0.port="0x280"
+hint.ed.0.irq="10"
+hint.ed.0.iomem="0xd8000"
+hint.cs.0.at="isa"
+hint.cs.0.port="0x300"
+hint.sn.0.at="isa"
+hint.sn.0.port="0x300"
+hint.sn.0.irq="10"
+hint.ie.0.at="isa"
+hint.ie.0.port="0x300"
+hint.ie.0.irq="10"
+hint.ie.0.iomem="0xd0000"
+hint.fe.0.at="isa"
+hint.fe.0.port="0x300"
+hint.le.0.at="isa"
+hint.le.0.port="0x300"
+hint.le.0.irq="5"
+hint.le.0.iomem="0xd0000"
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x280"
+hint.lnc.0.irq="10"
+hint.lnc.0.drq="0"
diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES
index c60f78e..746dbae 100644
--- a/sys/i386/conf/NOTES
+++ b/sys/i386/conf/NOTES
@@ -1,12 +1,14 @@
#
-# LINT -- config file for checking all the sources, tries to pull in
-# as much of the source tree as it can.
+# DOCS -- Lines that can be cut/pasted into kernel and hints configs.
#
-# $FreeBSD$
+# Lines that begin with 'device', 'options', 'machine', 'ident', 'maxusers',
+# 'makeoptions', 'hints' etc go into the kernel configuration that you
+# run config(8) with.
+#
+# Lines that begin with 'hints.' are NOT for config(8), they go into your
+# hints file. See /boot/device.hints and/or the 'hints' config(8) directive.
#
-# NB: You probably don't want to try running a kernel built from this
-# file. Instead, you should start from GENERIC, and add options from
-# this file as required.
+# $FreeBSD$
#
#
@@ -427,29 +429,29 @@ device lmc # tulip based LanMedia WAN cards
#
# Network interfaces:
-# The `loop' pseudo-device is MANDATORY when networking is enabled.
-# The `ether' pseudo-device provides generic code to handle
+# The `loop' device is MANDATORY when networking is enabled.
+# The `ether' device provides generic code to handle
# Ethernets; it is MANDATORY when a Ethernet device driver is
# configured or token-ring is enabled.
-# The 'fddi' pseudo-device provides generic code to support FDDI.
-# The `sppp' pseudo-device serves a similar role for certain types
+# The 'fddi' device provides generic code to support FDDI.
+# The `sppp' device serves a similar role for certain types
# of synchronous PPP links (like `cx', `ar').
-# The `sl' pseudo-device implements the Serial Line IP (SLIP) service.
-# The `ppp' pseudo-device implements the Point-to-Point Protocol.
-# The `bpf' pseudo-device enables the Berkeley Packet Filter. Be
+# The `sl' device implements the Serial Line IP (SLIP) service.
+# The `ppp' device implements the Point-to-Point Protocol.
+# The `bpf' device enables the Berkeley Packet Filter. Be
# aware of the legal and administrative consequences of enabling this
# option. The number of devices determines the maximum number of
# simultaneous BPF clients programs runnable.
-# The `disc' pseudo-device implements a minimal network interface,
+# The `disc' device implements a minimal network interface,
# which throws away all packets sent and never receives any. It is
# included for testing purposes. This shows up as the 'ds' interface.
-# The `tun' pseudo-device implements (user-)ppp and nos-tun
-# The `gif' pseudo-device implements IPv6 over IP4 tunneling,
+# The `tun' device implements (user-)ppp and nos-tun
+# The `gif' device implements IPv6 over IP4 tunneling,
# IPv4 over IPv6 tunneling, IPv4 over IPv4 tunneling and
# IPv6 over IPv6 tunneling.
-# The `faith' pseudo-device captures packets sent to it and diverts them
+# The `faith' device captures packets sent to it and diverts them
# to the IPv4/IPv6 translation daemon.
-# The `ef' pseudo-device provides support for multiple ethernet frame types
+# The `ef' device provides support for multiple ethernet frame types
# specified via ETHER_* options. See ef(4) for details.
#
# The PPP_BSDCOMP option enables support for compress(1) style entire
@@ -458,29 +460,30 @@ device lmc # tulip based LanMedia WAN cards
# events for resetting the demand dial activity timer - requires bpf.
# See pppd(8) for more details.
#
-pseudo-device ether #Generic Ethernet
-pseudo-device token #Generic TokenRing
-pseudo-device fddi #Generic FDDI
-pseudo-device sppp #Generic Synchronous PPP
-pseudo-device loop #Network loopback device
-pseudo-device bpf #Berkeley packet filter
-pseudo-device disc #Discard device (ds0, ds1, etc)
-pseudo-device tun #Tunnel driver (ppp(8), nos-tun(8))
-pseudo-device sl #Serial Line IP
-pseudo-device ppp 2 #Point-to-point protocol
+device ether #Generic Ethernet
+device vlan 1 #VLAN support
+device token #Generic TokenRing
+device fddi #Generic FDDI
+device sppp #Generic Synchronous PPP
+device loop 1 #Network loopback device
+device bpf #Berkeley packet filter
+device disc #Discard device (ds0, ds1, etc)
+device tun #Tunnel driver (ppp(8), nos-tun(8))
+device sl #Serial Line IP
+device ppp 2 #Point-to-point protocol
options PPP_BSDCOMP #PPP BSD-compress support
options PPP_DEFLATE #PPP zlib/deflate/gzip support
options PPP_FILTER #enable bpf filtering (needs bpf)
-pseudo-device ef # Multiple ethernet frames support
+device ef # Multiple ethernet frames support
options ETHER_II # enable Ethernet_II frame
options ETHER_8023 # enable Ethernet_802.3 (Novell) frame
options ETHER_8022 # enable Ethernet_802.2 frame
options ETHER_SNAP # enable Ethernet_802.2/SNAP frame
# for IPv6
-pseudo-device gif 4 #IPv6 and IPv4 tunneling
-pseudo-device faith 1 #for IPv6 and IPv4 translation
+device gif 4 #IPv6 and IPv4 tunneling
+device faith 1 #for IPv6 and IPv4 translation
#
# Internet family options:
@@ -689,7 +692,7 @@ options NFS_DEBUG # Enable NFS Debugging
# Coda stuff:
options CODA #CODA filesystem.
-pseudo-device vcoda 4 #coda minicache <-> venus comm.
+device vcoda 4 #coda minicache <-> venus comm.
#
# Add support for the EXT2FS filesystem of Linux fame. Be a bit
@@ -764,15 +767,22 @@ options CLK_USE_TSC_CALIBRATION
# The syntax for wiring down devices is:
-# device scbus0 at ahc0 # Single bus device
-# device scbus1 at ahc1 bus 0 # Single bus device
-# device scbus3 at ahc2 bus 0 # Twin bus device
-# device scbus2 at ahc2 bus 1 # Twin bus device
-# device da0 at scbus0 target 0 unit 0
-# device da1 at scbus3 target 1
-# device da2 at scbus2 target 3
-# device sa1 at scbus1 target 6
-# device cd
+hint.scbus.0.at="ahc0"
+hint.scbus.1.at="ahc1"
+hint.scbus.1.bus="0"
+hint.scbus.3.at="ahc2"
+hint.scbus.3.bus="0"
+hint.scbus.2.at="ahc2"
+hint.scbus.2.bus="1"
+hint.da.0.at="scbus0"
+hint.da.0.target="0"
+hint.da.0.unit="0"
+hint.da.1.at="scbus3"
+hint.da.1.target="1"
+hint.da.2.at="scbus2"
+hint.da.2.target="3"
+hint.sa.1.at="scbus1"
+hint.sa.1.target="6"
# "units" (SCSI logical unit number) that are not specified are
# treated as if specified as LUN 0.
@@ -863,13 +873,13 @@ options SES_ENABLE_PASSTHROUGH
# as it is required for `telnetd', `rlogind', `screen', `emacs', and
# `xterm', among others.
-pseudo-device pty #Pseudo ttys
-pseudo-device speaker #Play IBM BASIC-style noises out your speaker
-pseudo-device gzip #Exec gzipped a.out's
-pseudo-device vn #Vnode driver (turns a file into a device)
-pseudo-device md #Memory/malloc disk
-pseudo-device snp #Snoop device - to look at pty/vty/etc..
-pseudo-device ccd 4 #Concatenated disk driver
+device pty #Pseudo ttys
+device speaker #Play IBM BASIC-style noises out your speaker
+device gzip #Exec gzipped a.out's
+device vn #Vnode driver (turns a file into a device)
+device md #Memory/malloc disk
+device snp #Snoop device - to look at pty/vty/etc..
+device ccd 4 #Concatenated disk driver
# Configuring Vinum into the kernel is not necessary, since the kld
# module gets started automatically when vinum(8) starts. This
@@ -882,7 +892,7 @@ pseudo-device ccd 4 #Concatenated disk driver
# Can't get vinum config: Invalid argument
#
# see vinum(4) for more reasons not to use these options.
-pseudo-device vinum #Vinum concat/mirror/raid driver
+device vinum #Vinum concat/mirror/raid driver
options VINUMDEBUG #enable Vinum debugging hooks
# Size of the kernel message buffer. Should be N * pagesize.
@@ -926,15 +936,13 @@ device isa
# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
# reset the CPU for reboot. This is needed on some systems with broken
# keyboard controllers.
-#
-# PAS_JOYSTICK_ENABLE enables the gameport on the ProAudio Spectrum
+options COMPAT_OLDISA #Use ISA shims and glue for old drivers
options AUTO_EOI_1
-#options AUTO_EOI_2
+options AUTO_EOI_2
+
options MAXMEM="(128*1024)"
-#options BROKEN_KEYBOARD_RESET
-#options PAS_JOYSTICK_ENABLE
-options COMPAT_OLDISA #Use ISA shims and glue for old drivers
+options BROKEN_KEYBOARD_RESET
# Enable support for the kernel PLL to use an external PPS signal,
# under supervision of [x]ntpd(8)
@@ -952,10 +960,14 @@ options PPS_SYNC
options NTIMECOUNTER=20
# The keyboard controller; it controls the keyboard and the PS/2 mouse.
-device atkbdc0 at isa? port IO_KBD
+device atkbdc 1
+hint.atkbdc.0.at="isa"
+hint.atkbdc.0.port="0x060"
# The AT keyboard
-device atkbd0 at atkbdc? irq 1
+device atkbd
+hint.atkbd.0.at="atkbdc"
+hint.atkbd.0.irq="1"
# Options for atkbd:
options ATKBD_DFLT_KEYMAP # specify the built-in keymap
@@ -971,7 +983,9 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev
# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads
# PS/2 mouse
-device psm0 at atkbdc? irq 12
+device psm
+hint.psm.0.at="atkbdc"
+hint.psm.0.irq="12"
# Options for psm:
options PSM_HOOKRESUME #hook the system resume event, useful
@@ -979,7 +993,8 @@ options PSM_HOOKRESUME #hook the system resume event, useful
options PSM_RESETAFTERSUSPEND #reset the device at the resume event
# The video card driver.
-device vga0 at isa?
+device vga
+hint.vga.0.at="isa"
# Options for vga:
# Try the following option if the mouse pointer is not drawn correctly
@@ -1002,10 +1017,11 @@ options VGA_WIDTH90 # support 90 column modes
options VESA
# Splash screen at start up! Screen savers require this too.
-pseudo-device splash
+device splash
# The pcvt console driver (vt220 compatible).
-device vt0 at isa?
+device vt
+hint.vt.0.at="isa"
options XSERVER # support for running an X server on vt
options FAT_CURSOR # start with block cursor
# This PCVT option is for keyboards such as those used on IBM ThinkPad laptops
@@ -1022,7 +1038,8 @@ options PCVT_VT220KEYB
options PCVT_GREENSAVER
# The syscons console driver (sco color console compatible).
-device sc0 at isa?
+device sc 1
+hint.sc.0.at="isa"
options MAXCONS=16 # number of virtual consoles
options SC_ALT_MOUSE_IMAGE # simplified mouse cursor in text mode
options SC_DFLT_FONT # compile font in
@@ -1050,8 +1067,8 @@ options SC_NO_HISTORY
options SC_NO_SYSMOUSE
# `flags' for sc
-# 0x80 Put the video card in the VESA 800x600 dots, 16 color mode
-# 0x100 Probe for a keyboard device periodically if one is not present
+# 0x80 Put the video card in the VESA 800x600 dots, 16 color mode
+# 0x100 Probe for a keyboard device periodically if one is not present
#
# The Numeric Processing eXtension driver. In addition to this, you
@@ -1060,7 +1077,11 @@ options SC_NO_SYSMOUSE
# *and* a math emulator compiled into the kernel, the hardware FPU
# will be used, unless it is found to be broken or unless "flags" to
# npx0 includes "0x08", which requests preference for the emulator.
-device npx0 at nexus? port IO_NPX flags 0x0 irq 13
+device npx
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F0"
+hint.npx.0.flags="0x0"
+hint.npx.0.irq="13"
#
# `flags' for npx0:
@@ -1099,11 +1120,16 @@ device npx0 at nexus? port IO_NPX flags 0x0 irq 13
# probed correctly.
#
-device bt0 at isa? port IO_BT0
-device adv0 at isa?
+device bt
+hint.bt.0.at="isa"
+hint.bt.0.port="0x330"
+device adv
+hint.adv.0.at="isa"
device adw
-device aha0 at isa?
-device aic0 at isa?
+device aha 1
+hint.aha.0.at="isa"
+device aic
+hint.aic.0.at="isa"
#
# Compaq Smart RAID, Mylex DAC960 and AMI MegaRAID controllers. Only
@@ -1137,30 +1163,42 @@ options ATA_STATIC_ID
options ATA_ENABLE_ATAPI_DMA
#
-# For older non-PCI systems, these are the lines to use:
-#device ata0 at isa? port IO_WD1 irq 14
-#device ata1 at isa? port IO_WD2 irq 15
+# For older non-PCI, non-PnPBIOS systems, these are the hints lines to add:
+hint.ata.0.at="isa"
+hint.ata.0.port="0x1f0"
+hint.ata.0.irq="14"
+hint.ata.1.at="isa"
+hint.ata.1.port="0x170"
+hint.ata.1.irq="15"
#
# Standard floppy disk controllers and floppy tapes: `fdc', `fd', and `ft'
#
-device fdc0 at isa? port IO_FD1 irq 6 drq 2
+device fdc
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x3F0"
+hint.fdc.0.irq="6"
+hint.fdc.0.drq="2"
#
# FDC_DEBUG enables floppy debugging. Since the debug output is huge, you
# gotta turn it actually on by setting the variable fd_debug with DDB,
# however.
options FDC_DEBUG
#
-# Activate this line instead of the fdc0 line above if you happen to
-# have an Insight floppy tape. Probing them proved to be dangerous
-# for people with floppy disks only, so it's "hidden" behind a flag:
-#device fdc0 at isa? port IO_FD1 flags 1 irq 6 drq 2
+# Activate this line if you happen to have an Insight floppy tape.
+# Probing them proved to be dangerous for people with floppy disks only,
+# so it's "hidden" behind a flag:
+#hint.fdc.0.flags="1"
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
+# Specify floppy devices
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
# M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
-device fla0 at isa?
+device fla
+hint.fla.0.at="isa"
#
# Other standard PC hardware: `mse', `sio', etc.
@@ -1168,9 +1206,16 @@ device fla0 at isa?
# mse: Logitech and ATI InPort bus mouse ports
# sio: serial ports (see sio(4))
-device mse0 at isa? port 0x23c irq 5
+device mse
+hint.mse.0.at="isa"
+hint.mse.0.port="0x23c"
+hint.mse.0.irq="5"
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
+device sio
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
#
# `flags' for serial drivers that support consoles (only for sio now):
@@ -1232,30 +1277,81 @@ options COM_MULTIPORT #code for some cards with shared IRQs
# oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
# (no options needed)
#
-device ar0 at isa? port 0x300 irq 10 iomem 0xd0000
-device cs0 at isa? port 0x300
-device cx0 at isa? port 0x240 irq 15 drq 7
-device ed0 at isa? port 0x280 irq 5 iomem 0xd8000
-device el0 at isa? port 0x300 irq 9
-device ep
-device ex
-device fe0 at isa? port 0x300
-device ie0 at isa? port 0x300 irq 5 iomem 0xd0000
-device ie1 at isa? port 0x360 irq 7 iomem 0xd0000
-device le0 at isa? port 0x300 irq 5 iomem 0xd0000
-device lnc0 at isa? port 0x280 irq 10 drq 0
-device rdp0 at isa? port 0x378 irq 7 flags 2
-device sr0 at isa? port 0x300 irq 5 iomem 0xd0000
-device sn0 at isa? port 0x300 irq 10
-device an
-device awi
-device wi
+device ar 1
+hint.ar.0.at="isa"
+hint.ar.0.port="0x300"
+hint.ar.0.irq="10"
+hint.ar.0.iomem="0xd0000"
+device cs
+hint.cs.0.at="isa"
+hint.cs.0.port="0x300"
+device cx 1
+hint.cx.0.at="isa"
+hint.cx.0.port="0x240"
+hint.cx.0.irq="15"
+hint.cx.0.drq="7"
+device ed
+hint.ed.0.at="isa"
+hint.ed.0.port="0x280"
+hint.ed.0.irq="5"
+hint.ed.0.iomem="0xd8000"
+device el 1
+hint.el.0.at="isa"
+hint.el.0.port="0x300"
+hint.el.0.irq="9"
+device ep
+device ex
+device fe 1
+hint.fe.0.at="isa"
+hint.fe.0.port="0x300"
+device ie 2
+hint.ie.0.at="isa"
+hint.ie.0.port="0x300"
+hint.ie.0.irq="5"
+hint.ie.0.iomem="0xd0000"
+hint.ie.1.at="isa"
+hint.ie.1.port="0x360"
+hint.ie.1.irq="7"
+hint.ie.1.iomem="0xd0000"
+device le 1
+hint.le.0.at="isa"
+hint.le.0.port="0x300"
+hint.le.0.irq="5"
+hint.le.0.iomem="0xd0000"
+device lnc 1
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x280"
+hint.lnc.0.irq="10"
+hint.lnc.0.drq="0"
+device rdp 1
+hint.rdp.0.at="isa"
+hint.rdp.0.port="0x378"
+hint.rdp.0.irq="7"
+hint.rdp.0.flags="2"
+device sr 1
+hint.sr.0.at="isa"
+hint.sr.0.port="0x300"
+hint.sr.0.irq="5"
+hint.sr.0.iomem="0xd0000"
+device sn
+hint.sn.0.at="isa"
+hint.sn.0.port="0x300"
+hint.sn.0.irq="10"
+device an
+device awi
+device wi
options WLCACHE # enables the signal-strength cache
options WLDEBUG # enables verbose debugging output
-device wl0 at isa? port 0x300
-device xe
+device wl 1
+hint.wl.0.at="isa"
+hint.wl.0.port="0x300"
+device xe
-device oltr0 at isa?
+device oltr
+options OLTR_NO_BULLSEYE_MAC
+options OLTR_NO_HAWKEYE_MAC
+options OLTR_NO_TMS_MAC
+hint.oltr.0.at="isa"
#
# ATM related options
@@ -1263,7 +1359,7 @@ device oltr0 at isa?
# The `en' device provides support for Efficient Networks (ENI)
# ENI-155 PCI midway cards, and the Adaptec 155Mbps PCI ATM cards (ANA-59x0).
#
-# atm pseudo-device provides generic atm functions and is required for
+# atm device provides generic atm functions and is required for
# atm devices.
# NATM enables the netnatm protocol family that can be used to
# bypass TCP/IP.
@@ -1272,36 +1368,12 @@ device oltr0 at isa?
# for more details, please read the original documents at
# http://www.ccrc.wustl.edu/pub/chuck/tech/bsdatm/bsdatm.html
#
-pseudo-device atm
-device en
+device atm
+device en 1
options NATM #native ATM
#
-# Audio drivers: `snd', `sb', `pas', `gus', `pca'
-#
-# snd: Voxware sound support code
-# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
-# sbxvi: SoundBlaster 16
-# sbmidi: SoundBlaster 16 MIDI interface
-# pas: ProAudioSpectrum PCM and MIDI
-# gus: Gravis Ultrasound - Ultrasound, Ultrasound 16, Ultrasound MAX
-# gusxvi: Gravis Ultrasound 16-bit PCM (do not use)
-# mss: Microsoft Sound System
-# css: Crystal Sound System (CSS 423x PnP)
-# sscape: Ensoniq Soundscape MIDI interface
-# sscape_mss: Ensoniq Soundscape PCM (requires sscape)
-# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
-# uart: stand-alone 6850 UART for MIDI
-# mpu: Roland MPU-401 stand-alone card
-#
-# Note: It has been reported that ISA DMA with the SoundBlaster will
-# lock up the machine (PR docs/5358). If this happens to you,
-# turning off USWC write posting in your machine's BIOS may fix
-# the problem.
-#
-# Beware! The addresses specified below are also hard-coded in
-# src/sys/i386/isa/sound/sound_config.h. If you change the values here, you
-# must also change the values in the include file.
+# Audio drivers: `pcm', `sbc', `gusc', `pca'
#
# pcm: PCM audio through various sound cards.
#
@@ -1322,48 +1394,6 @@ options NATM #native ATM
#
# pca: PCM audio through your PC speaker
#
-# If you have a GUS-MAX card and want to use the CS4231 codec on the
-# card the drqs for the gus max must be 8 bit (1, 2, or 3).
-#
-# If you would like to use the full duplex option on the gus, then define
-# flags to be the ``read dma channel''.
-#
-# options BROKEN_BUS_CLOCK #PAS-16 isn't working and OPTI chipset
-# options SYMPHONY_PAS #PAS-16 isn't working and SYMPHONY chipset
-# options EXCLUDE_SBPRO #PAS-16
-# options SBC_IRQ=5 #PAS-16. Must match irq on sb0 line.
-# PAS16: The order of the pas0/sb0/opl0 is important since the
-# sb emulation is enabled in the pas-16 attach.
-#
-# To override the GUS defaults use:
-# options GUS_DMA2
-# options GUS_DMA
-# options GUS_IRQ
-#
-# The src/sys/i386/isa/sound/sound.doc has more information.
-
-# Controls all "VOXWARE" driver sound devices. See Luigi's driver
-# below for an alternate which may work better for some cards.
-#
-#device snd
-#device pas0 at isa? port 0x388 irq 10 drq 6
-#device sb0 at isa? port 0x220 irq 5 drq 1
-#device sbxvi0 at isa? drq 5
-#device sbmidi0 at isa? port 0x330
-#device awe0 at isa? port 0x620
-#device gus0 at isa? port 0x220 irq 12 drq 1
-##device gus0 at isa? port 0x220 irq 12 drq 1 flags 0x3
-#device mss0 at isa? port 0x530 irq 10 drq 1
-#device css0 at isa? port 0x534 irq 5 drq 1 flags 0x08
-#device sscape0 at isa? port 0x330 irq 9 drq 0
-#device trix0 at isa? port 0x330 irq 6 drq 0
-#device sscape_mss0 at isa? port 0x534 irq 5 drq 1
-#device opl0 at isa? port 0x388
-#device mpu0 at isa? port 0x330 irq 6 drq 0
-#device uart0 at isa? port 0x330 irq 5
-
-# The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!).
-#
# Supported cards include:
# Creative SoundBlaster ISA PnP/non-PnP
# Supports ESS and Avance ISA chips as well.
@@ -1372,12 +1402,16 @@ options NATM #native ATM
# Neomagic 256AV (ac97)
# Most of the more common ISA/PnP sb/mss/ess compatable cards.
-# For non-pnp sound cards with no bridge drivers only:
-device pcm0 at isa? irq 10 drq 1 flags 0x0
-#
-# For PnP/PCI sound cards
device pcm
+# For non-pnp sound cards with no bridge drivers only:
+hint.pcm.0.at="isa"
+hint.pcm.0.irq="10"
+hint.pcm.0.drq="1"
+hint.pcm.0.flags="0x0"
+
+# For PnP/PCI sound cards, no hints are required.
+
# The bridge drivers for sound cards. These can be seperately configured
# for providing services to the likes of new-midi (not in the tree yet).
# When used with 'device pcm' they also provide pcm sound services.
@@ -1388,11 +1422,23 @@ device pcm
# csa: Crystal Semiconductor CS461x/428x PCI
# For non-PnP cards:
-device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
-device gusc0 at isa? port 0x220 irq 5 drq 1 flags 0x13
+device sbc
+hint.sbc.0.at="isa"
+hint.sbc.0.port="0x220"
+hint.sbc.0.irq="5"
+hint.sbc.0.drq="1"
+hint.sbc.0.flags="0x15"
+device gusc
+hint.gusc.0.at="isa"
+hint.gusc.0.port="0x220"
+hint.gusc.0.irq="5"
+hint.gusc.0.drq="1"
+hint.gusc.0.flags="0x13"
# Not controlled by `snd'
-device pca0 at isa? port IO_TIMER1
+device pca
+hint.pca.0.at="isa"
+hint.pca.0.port="0x040"
#
# Miscellaneous hardware:
@@ -1443,26 +1489,31 @@ device pca0 at isa? port IO_TIMER1
# The exact values used for rp0 depend on how many boards you have
# in the system. The manufacturer's sample configs are listed as:
#
+# device rp # core driver support
+#
# Comtrol Rocketport ISA single card
-# device rp0 at isa? port 0x280
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x280"
#
# If instead you have two ISA cards, one installed at 0x100 and the
# second installed at 0x180, then you should add the following to
-# your kernel configuration file:
-#
-# device rp0 at isa? port 0x100
-# device rp1 at isa? port 0x180
+# your kernel probe hints:
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x100"
+# hints.rp.1.at="isa"
+# hints.rp.1.port="0x180"
#
# For 4 ISA cards, it might be something like this:
+# hints.rp.0.at="isa"
+# hints.rp.0.port="0x180"
+# hints.rp.1.at="isa"
+# hints.rp.1.port="0x100"
+# hints.rp.2.at="isa"
+# hints.rp.2.port="0x340"
+# hints.rp.3.at="isa"
+# hints.rp.3.port="0x240"
#
-# device rp0 at isa? port 0x180
-# device rp1 at isa? port 0x100
-# device rp2 at isa? port 0x340
-# device rp3 at isa? port 0x240
-#
-# And for PCI cards, you only need say:
-#
-# device rp
+# And for PCI cards, you need no hints.
# Notes on the Digiboard driver:
#
@@ -1471,7 +1522,6 @@ device pca0 at isa? port IO_TIMER1
# 0x02 - use the windowed PC/Xe in 64K mode (dgb only)
# Notes on the Specialix SI/XIO driver:
-# **This is NOT a Specialix supported Driver!**
# The host card is memory, not IO mapped.
# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
@@ -1492,34 +1542,99 @@ device pca0 at isa? port IO_TIMER1
# Brumby: flags 2 iosiz 0x4000
# Stallion: flags 1 iosiz 0x10000
-device mcd0 at isa? port 0x300 irq 10
+device mcd 1
+hint.mcd.0.at="isa"
+hint.mcd.0.port="0x300"
+hint.mcd.0.irq="10"
# for the Sony CDU31/33A CDROM
-device scd0 at isa? port 0x230
+device scd 1
+hint.scd.0.at="isa"
+hint.scd.0.port="0x230"
# for the SoundBlaster 16 multicd - up to 4 devices
-device matcd0 at isa? port 0x230
-device wt0 at isa? port 0x300 irq 5 drq 1
-device ctx0 at isa? port 0x230 iomem 0xd0000
-device spigot0 at isa? port 0xad6 irq 15 iomem 0xee000
-device apm0
-device gp0 at isa? port 0x2c0
-device gsc0 at isa? port IO_GSC1 drq 3
-device joy0 at isa? port IO_GAME
-device cy0 at isa? irq 10 iomem 0xd4000 iosiz 0x2000
+device matcd 1
+hint.matcd.0.at="isa"
+hint.matcd.0.port="0x230"
+device wt 1
+hint.wt.0.at="isa"
+hint.wt.0.port="0x300"
+hint.wt.0.irq="5"
+hint.wt.0.drq="1"
+device ctx 1
+hint.ctx.0.at="isa"
+hint.ctx.0.port="0x230"
+hint.ctx.0.iomem="0xd0000"
+device spigot 1
+hint.spigot.0.at="isa"
+hint.spigot.0.port="0xad6"
+hint.spigot.0.irq="15"
+hint.spigot.0.iomem="0xee000"
+device apm
+hint.apm.0.flags="0x20"
+device gp
+hint.gp.0.at="isa"
+hint.gp.0.port="0x2c0"
+device gsc 1
+hint.gsc.0.at="isa"
+hint.gsc.0.port="0x270"
+hint.gsc.0.drq="3"
+device joy # PnP aware, hints for nonpnp only
+hint.joy.0.at="isa"
+hint.joy.0.port="0x201"
+device cy 1
options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared
-device dgb0 at isa? port 0x220 iomem 0xfc000
+hint.cy.0.at="isa"
+hint.cy.0.irq="10"
+hint.cy.0.iomem="0xd4000"
+hint.cy.0.iosiz="0x2000"
+device dgb 1
options NDGBPORTS=16 # Defaults to 16*NDGB
-device dgm0 at isa? port 0x104 iomem 0xd0000
-device labpc0 at isa? port 0x260 irq 5
-device rc0 at isa? port 0x220 irq 12
-device rp0 at isa? port 0x280
+hint.dgb.0.at="isa"
+hint.dgb.0.port="0x220"
+hint.dgb.0.iomem="0xfc000"
+device dgm 1
+hint.dgm.0.at="isa"
+hint.dgm.0.port="0x104"
+hint.dgm.0.iomem="0xd0000"
+device labpc 1
+hint.labpc.0.at="isa"
+hint.labpc.0.port="0x260"
+hint.labpc.0.irq="5"
+device rc 1
+hint.rc.0.at="isa"
+hint.rc.0.port="0x220"
+hint.rc.0.irq="12"
+device rp
+hint.rp.0.at="isa"
+hint.rp.0.port="0x280"
# the port and irq for tw0 are fictitious
-device tw0 at isa? port 0x380 irq 11
-device si0 at isa? iomem 0xd0000 irq 12
-device asc0 at isa? port IO_ASC1 drq 3 irq 10
-device stl0 at isa? port 0x2a0 irq 10
-device stli0 at isa? port 0x2a0 iomem 0xcc000 flags 23 iosiz 0x1000
-# You are unlikely to have the hardware for loran0 <phk@FreeBSD.org>
-device loran0 at isa? irq 5
+device tw 1
+hint.tw.0.at="isa"
+hint.tw.0.port="0x380"
+hint.tw.0.irq="11"
+device si
+options SI_DEBUG
+hint.si.0.at="isa"
+hint.si.0.iomem="0xd0000"
+hint.si.0.irq="12"
+device asc 1
+hint.asc.0.at="isa"
+hint.asc.0.port="0x3EB"
+hint.asc.0.drq="3"
+hint.asc.0.irq="10"
+device stl
+hint.stl.0.at="isa"
+hint.stl.0.port="0x2a0"
+hint.stl.0.irq="10"
+device stli
+hint.stli.0.at="isa"
+hint.stli.0.port="0x2a0"
+hint.stli.0.iomem="0xcc000"
+hint.stli.0.flags="23"
+hint.stli.0.iosiz="0x1000"
+# You are unlikely to have the hardware for loran <phk@FreeBSD.org>
+device loran
+hint.loran.0.at="isa"
+hint.loran.0.irq="5"
# HOT1 Xilinx 6200 card (http://www.vcc.com/)
device xrpu
@@ -1585,7 +1700,7 @@ device pci
# PCI options
#
-#options PCI_QUIET #quiets PCI code on chipset settings
+options PCI_QUIET #quiets PCI code on chipset settings
options COMPAT_OLDPCI #Use PCI shims and glue for old drivers
@@ -1688,7 +1803,7 @@ options COMPAT_OLDPCI #Use PCI shims and glue for old drivers
# in Dell Latitude laptop docking stations.
#
# The `fpa' device provides support for the Digital DEFPA PCI FDDI
-# adapter. pseudo-device fddi is also needed.
+# adapter. device fddi is also needed.
#
# The `meteor' device is a PCI video capture board. It can also have the
# following options:
@@ -1805,8 +1920,10 @@ options SCSI_ISP_WWN="0x5000000099990000"
#options ISP_DISABLE_1080_SUPPORT
#options ISP_DISABLE_12160_SUPPORT
#options ISP_DISABLE_2100_SUPPORT
+#options ISP_DISABLE_2200_SUPPORT
#options ISP_COMPILE_1020_FW=1
#options ISP_COMPILE_1080_FW=1
+#options ISP_COMPILE_12160_FW=1
#options ISP_COMPILE_2100_FW=1
#options ISP_COMPILE_2200_FW=1
#options ISP_TARGET_MODE=1
@@ -1849,15 +1966,15 @@ device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device de # DEC/Intel DC21x4x (``Tulip'')
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device tx # SMC 9432TX (83c170 ``EPIC'')
-device vx # 3Com 3c590, 3c595 (``Vortex'')
+device vx 1 # 3Com 3c590, 3c595 (``Vortex'')
device sk
device ti
device wx
-device fpa
-device meteor
+device fpa 1
+device meteor 1
#The oltr driver in the ISA section will also find PCI cards.
-#device oltr0
+device oltr
# Brooktree driver has been ported to the new I2C framework. Thus,
@@ -1868,15 +1985,16 @@ device meteor
# The iic and smb devices are only needed if you want to control other
# I2C slaves connected to the external connector of some cards.
#
-device bktr
+device bktr 1
#
# PCCARD/PCMCIA
#
# card: pccard slots
# pcic: isa/pccard bridge
-device pcic0 at isa?
-device pcic1 at isa?
+device pcic
+hint.pcic.0.at="isa"
+hint.pcic.1.at="isa"
device card
# You may need to reset all pccards after resuming
@@ -1910,7 +2028,7 @@ options POWERFAIL_NMI # make it beep instead of panicing
#
device smbus # Bus support, required for smb below.
device intpm
-device alpm
+device alpm 1
device smb
@@ -1938,7 +2056,10 @@ device ic
device iic
device iicsmb # smb over i2c bridge
-device pcf0 at isa? port 0x320 irq 5
+device pcf
+hint.pcf.0.at="isa"
+hint.pcf.0.port="0x320"
+hint.pcf.0.irq="5"
# ISDN4BSD section
#
@@ -1951,142 +2072,156 @@ device pcf0 at isa? port 0x320 irq 5
# due to not being converted to newbus. We hope to get them back to support
# in the near future.
#
+device isic # core driver support
+
# ISA bus non-PnP Cards:
# ----------------------
#
# Teles S0/8 or Niccy 1008
options TEL_S0_8
-device isic0 at isa? iomem 0xd0000 irq 5 flags 1
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0xd0000"
+hint.isic.0.irq="5"
+hint.isic.0.flags="1"
#
# Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
options TEL_S0_16
-#device isic0 at isa? port 0xd80 iomem 0xd0000 irq 5 flags 2
+hint.isic.0.at="isa"
+hint.isic.0.port="0xd80"
+hint.isic.0.iomem="0xd0000"
+hint.isic.0.irq="5"
+hint.isic.0.flags="2"
#
# Teles S0/16.3
options TEL_S0_16_3
-#device isic0 at isa? port 0xd80 irq 5 flags 3
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0xd80"
+hint.isic.0.irq="5"
+hint.isic.0.flags="3"
#
# AVM A1 or AVM Fritz!Card
options AVM_A1
-#device isic0 at isa? port 0x340 irq 5 flags 4
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0x340"
+hint.isic.0.irq="5"
+hint.isic.0.flags="4"
#
# USRobotics Sportster ISDN TA intern (not supported yet!)
#options USR_STI
-#device isic0 at isa? port 0x268 irq 5 flags 7
+#hint.isic.0.at="isa"
+#hint.isic.0.iomem="0x268"
+#hint.isic.0.irq="5"
+#hint.isic.0.flags="7"
#
# ITK ix1 Micro ( < V.3, non-PnP version ) (not supported yet!)
#options ITKIX1
-#device isic0 at isa? port 0x398 irq 10 flags 18
+#hint.isic.0.at="isa"
+#hint.isic.0.iomem="0x398"
+#hint.isic.0.irq="10"
+#hint.isic.0.flags="18"
#
# ELSA PCC-16
options ELSA_PCC16
-#device isic0 at isa? port 0x360 irq 10 flags 20
+hint.isic.0.at="isa"
+hint.isic.0.iomem="0x360"
+hint.isic.0.irq="10"
+hint.isic.0.flags="20"
#
# ISA bus PnP Cards:
# ------------------
#
# Teles S0/16.3 PnP
options TEL_S0_16_3_P
-#device isic
#
# Creatix ISDN-S0 P&P
options CRTX_S0_P
-#device isic
#
# Dr. Neuhaus Niccy Go@
options DRN_NGO
-#device isic
#
# Sedlbauer Win Speed
options SEDLBAUER
-#device isic
#
# Dynalink IS64PH (not supported yet!)
#options DYNALINK
-#device isic
#
# ELSA QuickStep 1000pro ISA
options ELSA_QS1ISA
-#device isic
#
# ITK ix1 Micro ( V.3, PnP version ) (not supported yet!)
#options ITKIX1
-#device isic
#
# AVM Fritz!Card PnP (not supported yet!)
#options AVM_PNP
-#device isic
#
# Siemens I-Surf 2.0
options SIEMENS_ISURF2
-#device isic
#
# Asuscom ISDNlink 128K ISA
#options ASUSCOM_IPAC
-#device isic
#
# PCI bus Cards:
# --------------
#
# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
options ELSA_QS1PCI
-#device isic
#
# AVM Fritz!Card PCI
options AVM_A1_PCI
-#device isic
#
# PCMCIA Cards:
# -------------
#
# AVM PCMCIA Fritz!Card (not supported yet!)
#options AVM_A1_PCMCIA
-#device isic0 at isa? port 0x340 irq 5 flags 10
#
# Active Cards:
# -------------
#
# Stollmann Tina-dd control device
# (driver under development, not fully functional!)
-device tina0 at isa? port 0x260 irq 10
+device tina
+hint.tina.0.at="isa"
+hint.tina.0.port="0x260"
+hint.tina.0.irq="10"
#
# ISDN Protocol Stack
# -------------------
#
# Q.921 / layer 2 - i4b passive cards D channel handling
-pseudo-device "i4bq921"
+device "i4bq921"
#
# Q.931 / layer 3 - i4b passive cards D channel handling
-pseudo-device "i4bq931"
+device "i4bq931"
#
# layer 4 - i4b common passive and active card handling
-pseudo-device "i4b"
+device "i4b"
#
# ISDN devices
# ------------
#
# userland driver to do ISDN tracing (for passive cards only)
-pseudo-device "i4btrc" 4
+device "i4btrc" 4
#
# userland driver to control the whole thing
-pseudo-device "i4bctl"
+device "i4bctl"
#
# userland driver for access to raw B channel
-pseudo-device "i4brbch" 4
+device "i4brbch" 4
#
# userland driver for telephony
-pseudo-device "i4btel" 2
+device "i4btel" 2
#
# network driver for IP over raw HDLC ISDN
-pseudo-device "i4bipr" 4
+device "i4bipr" 4
# enable VJ header compression detection for ipr i/f
options IPR_VJ
# enable logging of the first n IP packets to isdnd (n=32 here)
-#options IPR_LOG=32
+options IPR_LOG=32
#
# network driver for sync PPP over ISDN; requires an equivalent
-# number of sppp pseudo-devices to be configured
-pseudo-device "i4bisppp" 4
+# number of sppp device to be configured
+device "i4bisppp" 4
# Parallel-Port Bus
@@ -2122,7 +2257,9 @@ options PLIP_DEBUG # Parallel network IP interface debug
options PCFCLOCK_VERBOSE # Verbose pcfclock driver
options PCFCLOCK_MAX_RETRIES=5 # Maximum read tries (default 10)
-device ppc0 at isa? irq 7
+device ppc
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="7"
device ppbus
device vpo
device lpt
@@ -2167,7 +2304,7 @@ options PMAP_SHPGPERPROC=201
# (see also sysctls "vm.defer_swapspace_pageouts" and
# "vm.disable_swapspace_pageouts")
#
-#options NO_SWAPPING
+options NO_SWAPPING
# Set the number of sf_bufs to allocate. sf_bufs are virtual buffers
# for sendfile(2) that are used to map file VM pages, and normally
@@ -2194,7 +2331,7 @@ options DEBUG_LOCKS
# The STREAMS network emulation code can also be compiled statically or as a
# module. If loaded as a module, it must be loaded before the svr4 module
# (the /usr/sbin/svr4 script does this for you). If compiling statically,
-# the `streams' pseudo-device must be configured into any kernel which also
+# the `streams' device must be configured into any kernel which also
# specifies COMPAT_SVR4. It is possible to have a statically-configured
# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
# script understands that it doesn't need to load the `streams' module under
@@ -2204,7 +2341,7 @@ options DEBUG_LOCKS
#
options COMPAT_SVR4 # build emulator statically
options DEBUG_SVR4 # enable verbose debugging
-pseudo-device streams # STREAMS network driver (required for svr4).
+device streams # STREAMS network driver (required for svr4).
# The 'dpt' driver provides support for DPT controllers (http://www.dpt.com/).
# These have hardware RAID-{0,1,5} support, and do multi-initiator I/O.
@@ -2348,9 +2485,6 @@ options MSGTQL=41
options NBUF=512
options NETATALKDEBUG
options NMBCLUSTERS=1024
-#options OLTR_NO_BULLSEYE_MAC
-#options OLTR_NO_HAWKEYE_MAC
-#options OLTR_NO_TMS_MAC
options PANIC_REBOOT_WAIT_TIME=16
options PSM_DEBUG=1
options SCSI_NCR_DEBUG
@@ -2375,7 +2509,6 @@ options SHMSEG=9
options SHM_PHYS_BACKED
options SHOW_BUSYBUFS # List buffers that prevent root unmount
options SIMPLELOCK_DEBUG
-options SI_DEBUG
options SLIP_IFF_OPTS
options SPX_HACK
options TIMER_FREQ="((14318182+6)/12)"
diff --git a/sys/i386/conf/gethints.pl b/sys/i386/conf/gethints.pl
new file mode 100644
index 0000000..e29adb1
--- /dev/null
+++ b/sys/i386/conf/gethints.pl
@@ -0,0 +1,94 @@
+#! /usr/bin/perl
+#
+# This is a transition aid. It extracts old-style configuration information
+# from a config file and writes an equivalent device.hints file to stdout.
+# You can use that with loader(8) or statically compile it in with the
+# 'hints' directive. See how GENERIC and GENERIC.hints fit together for
+# a static example. You should use loader(8) if at all possible.
+#
+# $FreeBSD$
+
+while (<STDIN>) {
+ chop;
+ s/#.*//;
+ next unless /^device/;
+ ($dev, $nameunit, $at, $where, @rest) = split;
+ next unless $at eq "at" && $where ne "";
+ $name = $nameunit;
+ $name =~ s/[0-9]*$//g;
+ $unit = $nameunit;
+ $unit =~ s/.*[^0-9]//g;
+ $where =~ s/\?$//;
+ print "hint.$name.$unit.at=\"$where\"\n";
+ while ($key = shift(@rest)) {
+ if ($key eq "disable") {
+ print "hint.$name.$unit.disabled=\"1\"\n";
+ next;
+ }
+ if ($key eq "port") {
+ $val = shift(@rest);
+ $val =~ s/IO_AHA0/0x330/;
+ $val =~ s/IO_AHA1/0x334/;
+ $val =~ s/IO_ASC1/0x3EB/;
+ $val =~ s/IO_ASC2/0x22B/;
+ $val =~ s/IO_ASC3/0x26B/;
+ $val =~ s/IO_ASC4/0x2AB/;
+ $val =~ s/IO_ASC5/0x2EB/;
+ $val =~ s/IO_ASC6/0x32B/;
+ $val =~ s/IO_ASC7/0x36B/;
+ $val =~ s/IO_ASC8/0x3AB/;
+ $val =~ s/IO_BT0/0x330/;
+ $val =~ s/IO_BT1/0x334/;
+ $val =~ s/IO_CGA/0x3D0/;
+ $val =~ s/IO_COM1/0x3F8/;
+ $val =~ s/IO_COM2/0x2F8/;
+ $val =~ s/IO_COM3/0x3E8/;
+ $val =~ s/IO_COM4/0x2E8/;
+ $val =~ s/IO_DMA1/0x000/;
+ $val =~ s/IO_DMA2/0x0C0/;
+ $val =~ s/IO_DMAPG/0x080/;
+ $val =~ s/IO_FD1/0x3F0/;
+ $val =~ s/IO_FD2/0x370/;
+ $val =~ s/IO_GAME/0x201/;
+ $val =~ s/IO_GSC1/0x270/;
+ $val =~ s/IO_GSC2/0x2E0/;
+ $val =~ s/IO_GSC3/0x370/;
+ $val =~ s/IO_GSC4/0x3E0/;
+ $val =~ s/IO_ICU1/0x020/;
+ $val =~ s/IO_ICU2/0x0A0/;
+ $val =~ s/IO_KBD/0x060/;
+ $val =~ s/IO_LPT1/0x378/;
+ $val =~ s/IO_LPT2/0x278/;
+ $val =~ s/IO_LPT3/0x3BC/;
+ $val =~ s/IO_MDA/0x3B0/;
+ $val =~ s/IO_NMI/0x070/;
+ $val =~ s/IO_NPX/0x0F0/;
+ $val =~ s/IO_PMP1/0x026/;
+ $val =~ s/IO_PMP2/0x178/;
+ $val =~ s/IO_PPI/0x061/;
+ $val =~ s/IO_RTC/0x070/;
+ $val =~ s/IO_TIMER1/0x040/;
+ $val =~ s/IO_TIMER2/0x048/;
+ $val =~ s/IO_UHA0/0x330/;
+ $val =~ s/IO_VGA/0x3C0/;
+ $val =~ s/IO_WD1/0x1F0/;
+ $val =~ s/IO_WD2/0x170/;
+ if ($val ne "?") {
+ print "hint.$name.$unit.port=\"$val\"\n";
+ }
+ next;
+ }
+ if ($key eq "irq" || $key eq "drq" || $key eq "drive" ||
+ $key eq "iomem" || $key eq "iosiz" || $key eq "flags"||
+ $key eq "bus" || $key eq "target" || $key eq "unit") {
+ $key =~ s/iomem/maddr/;
+ $key =~ s/iosiz/msize/;
+ $val = shift(@rest);
+ if ($val ne "?") {
+ print "hint.$name.$unit.$key=\"$val\"\n";
+ }
+ next;
+ }
+ print "unrecognized config token $key\n";
+ }
+}
diff --git a/sys/i386/conf/makeLINT.pl b/sys/i386/conf/makeLINT.pl
new file mode 100644
index 0000000..9fe2361
--- /dev/null
+++ b/sys/i386/conf/makeLINT.pl
@@ -0,0 +1,22 @@
+#! /usr/bin/perl
+# $FreeBSD$
+
+$lno=0;
+while (<STDIN>) {
+ chop;
+ s/#.*//;
+ s/\f//g;
+ s/^[ \t]+//;
+ $line = $_;
+ $lno++;
+ ($key, @rest) = split;
+ next if ($key eq "");
+ next if ($key =~ /^hint\./);
+ if ($key eq "machine" || $key eq "ident" || $key eq "device" ||
+ $key eq "makeoptions" || $key eq "options" ||
+ $key eq "cpu" || $key eq "option" || $key eq "maxusers") {
+ print "$line\n";
+ } else {
+ print STDERR "unrecognized line: line $lno: $line\n";
+ }
+}
diff --git a/sys/i386/isa/if_cx.c b/sys/i386/isa/if_cx.c
index 7e22487..9201fbd 100644
--- a/sys/i386/isa/if_cx.c
+++ b/sys/i386/isa/if_cx.c
@@ -22,10 +22,6 @@
#undef DEBUG
#include "cx.h"
-#include "sppp.h"
-#if NSPPP <= 0
-#error The device 'cx' requires sppp.
-#endif
#include <sys/param.h>
#include <sys/systm.h>
diff --git a/sys/i4b/driver/i4b_isppp.c b/sys/i4b/driver/i4b_isppp.c
index ea81bb6..a33348c 100644
--- a/sys/i4b/driver/i4b_isppp.c
+++ b/sys/i4b/driver/i4b_isppp.c
@@ -43,9 +43,6 @@
*---------------------------------------------------------------------------*/
#include "i4bisppp.h"
-#ifdef __FreeBSD__
-#include "sppp.h"
-#endif
#if NI4BISPPP == 0
# error "You need to define `pseudo-device sppp <N>' with options ISPPP"
diff --git a/sys/i4b/tina-dd/i4b_tina_dd.c b/sys/i4b/tina-dd/i4b_tina_dd.c
index fe95a8d..8b23624 100644
--- a/sys/i4b/tina-dd/i4b_tina_dd.c
+++ b/sys/i4b/tina-dd/i4b_tina_dd.c
@@ -36,8 +36,6 @@
#include "tina.h"
-#if NTINA > 0
-
#include <sys/param.h>
#if defined(__FreeBSD__) && __FreeBSD__ >= 3
#include <sys/ioccom.h>
@@ -339,5 +337,3 @@ writeblock(unsigned short iobase, unsigned char *src,
while(len--) /* pc mem -> tina-dd mem */
outb((iobase + DATA_LOW_INC), *src++);
}
-
-#endif /* NTINA > 0 */
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index 03abd48..c530e5c 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -1208,12 +1208,9 @@ device_unregister_oids(device_t dev)
* Access functions for device resources.
*/
-/* Supplied by config(8) in ioconf.c */
-extern struct config_device config_devtab[];
-extern int devtab_count;
-
/* Runtime version */
-struct config_device *devtab = config_devtab;
+static struct config_device *devtab;
+static int devtab_count = 0;
static int
resource_new_name(const char *name, int unit)
@@ -1492,68 +1489,106 @@ resource_set_string(const char *name, int unit, const char *resname,
return 0;
}
+/*
+ * We use the identify routine to get the hints for all the other devices.
+ * Strings that are all digits or begin with 0x are integers.
+ *
+ * hint.aha.0.bus_speedup=1
+ * hint.aha.1.irq=10
+ * hint.wl.0.netid=PLUG
+ * hint.wl.1.netid=XYZZY
+ */
+static void
+hint_load(char *cp)
+{
+ char *ep, *op, *walker;
+ int len;
+ int val;
+ char name[20];
+ int unit;
+ char resname[255];
+
+ for (ep = cp; (*ep != '=') && (*ep != 0); ep++)
+ ;
+ len = ep - cp;
+ if (*ep == '=')
+ ep++;
+ if (strncmp(cp, "hint.", 5) != 0)
+ return;
+ walker = cp;
+ walker += 5;
+ op = walker;
+ while (*walker && *walker != '.')
+ walker++;
+ if (*walker != '.')
+ return;
+ if (walker - op > sizeof(name))
+ return;
+ strncpy(name, op, walker - op);
+ name[walker - op] = '\0';
+ walker++;
+ op = walker;
+ while (*walker && *walker != '.')
+ walker++;
+ if (*walker != '.')
+ return;
+ unit = strtol(op, &walker, 0);
+ if (*walker != '.')
+ return;
+ walker++;
+ op = walker;
+ while (*walker && *walker != '=')
+ walker++;
+ if (*walker != '=')
+ return;
+ if (walker - op > sizeof(resname))
+ return;
+ strncpy(resname, op, walker - op);
+ resname[walker - op] = '\0';
+ walker++;
+ if (walker != ep)
+ return;
+ if (1 || bootverbose)
+ printf("Setting %s %d %s to ", name, unit, resname);
+ val = strtol(ep, &op, 0);
+ if (*ep != '\0' && *op == '\0') {
+ resource_set_int(name, unit, resname, val);
+ if (1 || bootverbose)
+ printf("%d (int)\n", val);
+ } else {
+ resource_set_string(name, unit, resname, ep);
+ if (1 || bootverbose)
+ printf("%s (string)\n", ep);
+ }
+}
+
+extern char static_hints[];
static void
-resource_cfgload(void *dummy __unused)
+hints_load(void *dummy __unused)
{
- struct config_resource *res, *cfgres;
- int i, j;
- int error;
- char *name, *resname;
- int unit;
- resource_type type;
- char *stringval;
- int config_devtab_count;
-
- config_devtab_count = devtab_count;
- devtab = NULL;
- devtab_count = 0;
-
- for (i = 0; i < config_devtab_count; i++) {
- name = config_devtab[i].name;
- unit = config_devtab[i].unit;
-
- for (j = 0; j < config_devtab[i].resource_count; j++) {
- cfgres = config_devtab[i].resources;
- resname = cfgres[j].name;
- type = cfgres[j].type;
- error = resource_create(name, unit, resname, type,
- &res);
- if (error) {
- printf("create resource %s%d: error %d\n",
- name, unit, error);
- continue;
- }
- if (res->type != type) {
- printf("type mismatch %s%d: %d != %d\n",
- name, unit, res->type, type);
- continue;
- }
- switch (type) {
- case RES_INT:
- res->u.intval = cfgres[j].u.intval;
- break;
- case RES_LONG:
- res->u.longval = cfgres[j].u.longval;
- break;
- case RES_STRING:
- if (res->u.stringval)
- free(res->u.stringval, M_TEMP);
- stringval = cfgres[j].u.stringval;
- res->u.stringval = malloc(strlen(stringval) + 1,
- M_TEMP, M_NOWAIT);
- if (res->u.stringval == NULL)
- break;
- strcpy(res->u.stringval, stringval);
- break;
- default:
- panic("unknown resource type %d\n", type);
- }
- }
+ char *cp;
+
+ cp = static_hints;
+ while (cp) {
+ hint_load(cp);
+ while (*cp != 0)
+ cp++;
+ cp++;
+ if (*cp == 0)
+ break;
+ }
+ cp = kern_envp;
+ while (cp) {
+ hint_load(cp);
+ while (*cp != 0)
+ cp++;
+ cp++;
+ if (*cp == 0)
+ break;
}
}
-SYSINIT(cfgload, SI_SUB_KMEM, SI_ORDER_ANY + 50, resource_cfgload, 0)
-
+SYSINIT(cfghints, SI_SUB_KMEM, SI_ORDER_ANY + 60, hints_load, 0)
/*======================================*/
/*
diff --git a/sys/pc98/conf/GENERIC b/sys/pc98/conf/GENERIC
index 38f871b..5ecef77 100644
--- a/sys/pc98/conf/GENERIC
+++ b/sys/pc98/conf/GENERIC
@@ -25,6 +25,8 @@ cpu I686_CPU
ident GENERIC
maxusers 32
+hints "GENERIC.hints"
+
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options PC98 #PC98
@@ -72,18 +74,10 @@ options COMPAT_OLDISA # Old ISA driver shims
options COMPAT_OLDPCI # Old PCI driver shims
# Floppy drives
-device fdc0 at isa? port IO_FD1 irq 11 drq 2
-device fd0 at fdc0 drive 0
-device fd1 at fdc0 drive 1
-device fd2 at fdc0 drive 2
-device fd3 at fdc0 drive 3
+device fdc
# IDE controller and disks
-device wdc0 at isa? port IO_WD1 irq 9
-device wd0 at wdc0 drive 0
-#device wd1 at wdc0 drive 1
-#device wd2 at wdc0 drive 2
-#device wd3 at wdc0 drive 3
+device wdc
# ATAPI devices on wdc
device wcd #IDE CD-ROM
@@ -104,21 +98,48 @@ device sym # NCR/Symbios Logic (newer chipsets)
options BS_TARG_SAFEMODE
+device bs
# PC-9801-92
-device bs0 at isa? port IO_SCSI irq 5 drq 3 flags 0
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.flags="0"
# SC-98
-# device bs0 at isa? port IO_SCSI irq 5 drq 3 flags 0x10000
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.flags="0x10000"
# HA-55BS2 and later
-#device bs0 at isa? port IO_SCSI irq 5 drq 3 flags 0x20000
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.flags="0x20000"
# ELECOM type
-#device bs0 at isa? port IO_SCSI irq 5 drq 3 flags 0x30000
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.flags="0x30000"
# SMIT
-#device bs0 at isa? port IO_SCSI irq 5 drq 3 iomem 0xdd000 iosiz 0x1000 flags 0x40000
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.iomem="0xdd000"
+#hint.bs.0.iosiz="0x1000"
+#hint.bs.0.flags="0x40000"
# Logitec LHA-20x
-#device bs0 at isa? port IO_SCSI irq 5 drq 3 flags 0x50000
+#hint.bs.0.at="isa"
+#hint.bs.0.port="0xCC0"
+#hint.bs.0.irq="5"
+#hint.bs.0.drq="3"
+#hint.bs.0.flags="0x50000"
# PC-9801-100
-device aic0 at isa? port 0x1840 irq 5 flags 0x10000
+device aic
# SCSI peripherals
device scbus # SCSI bus (required)
@@ -133,59 +154,92 @@ device amr # AMI MegaRAID
device mlx # Mylex DAC960 family
# keyboard driver
-device pckbd0 at isa? port IO_KBD irq 1
+device pckbd
-device gdc0 at isa?
+device gdc
# splash screen/screen saver
-pseudo-device splash
+device splash
# syscons is the default console driver, resembling an SCO console
-device sc0 at isa?
+device sc 1
# Floating point support - do not disable.
-device npx0 at nexus? port IO_NPX irq 8
+device npx
# Power management support (see LINT for more options)
-#device apm0 at nexus? disable flags 0x20 # Advanced Power Management
+#device apm
# PCCARD (PCMCIA) support
device card
-device pcic0 at isa? irq 6 port 0x3e0
+device pcic
# Serial (COM) ports
#
options COM_MULTIPORT
#
# COM1
-device sio0 at isa? port IO_COM1 irq 4
+device sio
# COM2 (2nd CCU)
-device sio1 at isa? port 0x238 irq 5 flags 0x12000010
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0x238"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x12000010"
# PC-9861K, PC-9801-101, MDC-926Rs
-#device sio1 at isa? port IO_COM2 irq 5 flags 0x01000000
-#device sio2 at isa? port IO_COM3 irq 6 flags 0x02000000
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0x0B1"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x01000000"
+#hint.sio.2.at="isa"
+#hint.sio.2.port="0x0B9"
+#hint.sio.2.irq="6"
+#hint.sio.2.flags="0x02000000"
# PC-9801-120 (PnP off)
-#device sio1 at isa? port 0x8b0 irq 5 flags 0x11000000
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0x8b0"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x11000000"
# MC-16550II, MC-RS98
-#device sio1 at isa? port 0xd2 irq 5 flags 0x14000101
-#device sio2 at isa? port 0x8d2 flags 0x14000101
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0xd2"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x14000101"
+#hint.sio.2.at="isa"
+#hint.sio.2.port="0x8d2"
+#hint.sio.2.flags="0x14000101"
# RSB-2000, RSB-3000, B98-02
-#device sio1 at isa? port 0xb0 flags 0x15000101
-#device sio2 at isa? port 0xb1 flags 0x15000101
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0xb0"
+#hint.sio.1.flags="0x15000101"
+#hint.sio.2.at="isa"
+#hint.sio.2.port="0xb1"
+#hint.sio.2.flags="0x15000101"
# RSB-384
-#device sio1 at isa? port 0xb0 flags 0x16000000
-#device sio2 at isa? port 0xb1 flags 0x16000000
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0xb0"
+#hint.sio.1.flags="0x16000000"
+#hint.sio.2.at="isa"
+#hint.sio.2.port="0xb1"
+#hint.sio.2.flags="0x16000000"
# RSA-98III
-#device sio1 at isa? port 0x50e0 irq 5 flags 0x18000101
-#device sio2 at isa? port 0x51e0 flags 0x18000101
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0x50e0"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x18000101"
+#hint.sio.2.at="isa"
+#hint.sio.2.port="0x51e0"
+#hint.sio.2.flags="0x18000101"
# ESP98
#options COM_ESP
-#device sio1 at isa? port 0x18b0 irq 5 flags 0x19000000
+#hint.sio.1.at="isa"
+#hint.sio.1.port="0x18b0"
+#hint.sio.1.irq="5"
+#hint.sio.1.flags="0x19000000"
-device mse0 at isa? port IO_MSE irq 13
+device mse
# NEW Parallel port
-device ppc0 at isa? irq 14
+device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
@@ -193,7 +247,7 @@ device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# OLD Parallel port
# Please stay olpt driver after ppc driver
-device olpt0 at isa? port IO_LPT
+device olpt
# PCI Ethernet NICs.
@@ -232,6 +286,7 @@ device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# ed10: EC/EP-98X
# ed11: SIU-98-D
#
+# XXX convert to hints
#device ed0 at isa? port 0x00d0 irq 6
##device ed0 at isa? port 0x10d0 irq 6 iomem 0xc8000 # SMC EtherEZ98
#device ed5 at isa? port 0x00d0 irq 6 iomem 0xd0000 iosiz 16384 flags 0x600000
@@ -254,11 +309,10 @@ device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# FE_8BIT_SUPPORT is needed to support LAC-98
#
options FE_8BIT_SUPPORT # LAC-98 support
-device fe0 at isa? port 0x00d0 irq 3
-device fe1 at isa? port 0x73d0 irq 5
+device fe
-device ep0 at isa? port 0x40d0 irq 3
-device lnc0 at isa? port 0x03d0 irq 6
+device ep
+device lnc
device sn
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
@@ -278,41 +332,41 @@ device xe
#device snd
-#device sb0 at isa? port 0x20d2 irq 10 drq 3
-#device sbxvi0 at isa? drq 3
-#device sbmidi0 at isa? port 0x80d2
-#device opl0 at isa? port 0x28d2
-#device nss0 at isa? port 0xa460 irq 12
-#device mss0 at isa? port 0xf40 irq 12 drq 1
-#device mpu0 at isa? port 0xe0d0 irq 6
+#device sb
+#device sbxvi
+#device sbmidi
+#device opl
+#device nss
+#device mss
+#device mpu
-#device joy0 at isa? port 0x04d2
+#device joy
# The newpcm driver (use INSTEAD of snd0 and all VOXWARE drivers!).
#
# Windows Sound System
-#device pcm0 at isa? port 0xf40 irq 12 drq 1 flags 0x10000
+#device pcm
#
# Sound Blaster 16 (This device need the bridge driver.)
#device pcm
-#device sbc0 at isa? port 0x20d2 irq 10 drq 3
+#device sbc
# Pseudo devices - the number indicates how many units to allocated.
-pseudo-device loop # Network loopback
-pseudo-device ether # Ethernet support
-pseudo-device sl 1 # Kernel SLIP
-pseudo-device ppp 1 # Kernel PPP
-pseudo-device tun # Packet tunnel.
-pseudo-device pty # Pseudo-ttys (telnet etc)
-pseudo-device md # Memory "disks"
-pseudo-device gif 4 # IPv6 and IPv4 tunneling
-pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
-
-# The `bpf' pseudo-device enables the Berkeley Packet Filter.
+device loop # Network loopback
+device ether # Ethernet support
+device sl 1 # Kernel SLIP
+device ppp 1 # Kernel PPP
+device tun # Packet tunnel.
+device pty # Pseudo-ttys (telnet etc)
+device md # Memory "disks"
+device gif 4 # IPv6 and IPv4 tunneling
+device faith 1 # IPv6-to-IPv4 relaying (translation)
+
+# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
-pseudo-device bpf # Berkeley packet filter
+device bpf # Berkeley packet filter
-#pseudo-device compat_atdisk #IBM-PC HDD support
+#device compat_atdisk #IBM-PC HDD support
# USB support
#device uhci # UHCI PCI->USB interface
diff --git a/sys/pc98/conf/GENERIC.hints b/sys/pc98/conf/GENERIC.hints
new file mode 100644
index 0000000..baaa737
--- /dev/null
+++ b/sys/pc98/conf/GENERIC.hints
@@ -0,0 +1,70 @@
+# $FreeBSD$
+hint.fdc.0.at="isa"
+hint.fdc.0.port="0x090"
+hint.fdc.0.irq="11"
+hint.fdc.0.drq="2"
+hint.fd.0.at="fdc0"
+hint.fd.0.drive="0"
+hint.fd.1.at="fdc0"
+hint.fd.1.drive="1"
+hint.fd.2.at="fdc0"
+hint.fd.2.drive="2"
+hint.fd.3.at="fdc0"
+hint.fd.3.drive="3"
+hint.wdc.0.at="isa"
+hint.wdc.0.port="0x640"
+hint.wdc.0.irq="9"
+hint.wd.0.at="wdc0"
+hint.wd.0.drive="0"
+#hint.wd.1.at="wdc0"
+#hint.wd.1.drive="1"
+#hint.wd.2.at="wdc0"
+#hint.wd.2.drive="2"
+#hint.wd.3.at="wdc0"
+#hint.wd.3.drive="3"
+hint.bs.0.at="isa"
+hint.bs.0.port="0xCC0"
+hint.bs.0.irq="5"
+hint.bs.0.drq="3"
+hint.bs.0.flags="0"
+hint.aic.0.at="isa"
+hint.aic.0.port="0x1840"
+hint.aic.0.irq="5"
+hint.aic.0.flags="0x10000"
+hint.pckbd.0.at="isa"
+hint.pckbd.0.port="0x041"
+hint.pckbd.0.irq="1"
+hint.gdc.0.at="isa"
+hint.sc.0.at="isa"
+hint.npx.0.at="nexus"
+hint.npx.0.port="0x0F8"
+hint.npx.0.irq="8"
+hint.pcic.0.at="isa"
+hint.pcic.0.irq="6"
+hint.pcic.0.port="0x3e0"
+hint.sio.0.at="isa"
+hint.sio.0.port="0x030"
+hint.sio.0.irq="4"
+hint.sio.1.at="isa"
+hint.sio.1.port="0x238"
+hint.sio.1.irq="5"
+hint.sio.1.flags="0x12000010"
+hint.mse.0.at="isa"
+hint.mse.0.port="0x7FD9"
+hint.mse.0.irq="13"
+hint.ppc.0.at="isa"
+hint.ppc.0.irq="14"
+hint.olpt.0.at="isa"
+hint.olpt.0.port="0x040"
+hint.fe.0.at="isa"
+hint.fe.0.port="0x00d0"
+hint.fe.0.irq="3"
+hint.fe.1.at="isa"
+hint.fe.1.port="0x73d0"
+hint.fe.1.irq="5"
+hint.ep.0.at="isa"
+hint.ep.0.port="0x40d0"
+hint.ep.0.irq="3"
+hint.lnc.0.at="isa"
+hint.lnc.0.port="0x03d0"
+hint.lnc.0.irq="6"
diff --git a/sys/pc98/conf/gethints.pl b/sys/pc98/conf/gethints.pl
new file mode 100644
index 0000000..d5990d0
--- /dev/null
+++ b/sys/pc98/conf/gethints.pl
@@ -0,0 +1,87 @@
+#! /usr/bin/perl
+#
+# This is a transition aid. It extracts old-style configuration information
+# from a config file and writes an equivalent device.hints file to stdout.
+# You can use that with loader(8) or statically compile it in with the
+# 'hints' directive. See how GENERIC and GENERIC.hints fit together for
+# a static example. You should use loader(8) if at all possible.
+#
+# $FreeBSD$
+
+while (<STDIN>) {
+ chop;
+ s/#.*//;
+ next unless /^device/;
+ ($dev, $nameunit, $at, $where, @rest) = split;
+ next unless $at eq "at" && $where ne "";
+ $name = $nameunit;
+ $name =~ s/[0-9]*$//g;
+ $unit = $nameunit;
+ $unit =~ s/.*[^0-9]//g;
+ $where =~ s/\?$//;
+ print "hint.$name.$unit.at=\"$where\"\n";
+ while ($key = shift(@rest)) {
+ if ($key eq "disable") {
+ print "hint.$name.$unit.disabled=\"1\"\n";
+ next;
+ }
+ if ($key eq "port") {
+ $val = shift(@rest);
+ $val =~ s/IO_A20CT/0x0F6/;
+ $val =~ s/IO_A2OEN/0x0F2/;
+ $val =~ s/IO_BEEPF/0x3FDB/;
+ $val =~ s/IO_BMS/0x7FD9/;
+ $val =~ s/IO_CGROM/0x0A1/;
+ $val =~ s/IO_COM1/0x030/;
+ $val =~ s/IO_COM2/0x0B1/;
+ $val =~ s/IO_COM3/0x0B9/;
+ $val =~ s/IO_DMA/0x001/;
+ $val =~ s/IO_DMAPG/0x021/;
+ $val =~ s/IO_EGC/0x4A0/;
+ $val =~ s/IO_FD1/0x090/;
+ $val =~ s/IO_FD2/0x0C8/;
+ $val =~ s/IO_FDPORT/0x0BE/;
+ $val =~ s/IO_GDC1/0x060/;
+ $val =~ s/IO_GDC2/0x0A0/;
+ $val =~ s/IO_ICU1/0x000/;
+ $val =~ s/IO_ICU2/0x008/;
+ $val =~ s/IO_KBD/0x041/;
+ $val =~ s/IO_LPT/0x040/;
+ $val =~ s/IO_MOUSE/0x7FD9/;
+ $val =~ s/IO_MOUSETM/0xDFBD/;
+ $val =~ s/IO_MSE/0x7FD9/;
+ $val =~ s/IO_NMI/0x050/;
+ $val =~ s/IO_NPX/0x0F8/;
+ $val =~ s/IO_PPI/0x035/;
+ $val =~ s/IO_REEST/0x0F0/;
+ $val =~ s/IO_RTC/0x020/;
+ $val =~ s/IO_SASI/0x080/;
+ $val =~ s/IO_SCSI/0xCC0/;
+ $val =~ s/IO_SIO1/0x0D0/;
+ $val =~ s/IO_SIO2/0x8D0/;
+ $val =~ s/IO_SOUND/0x188/;
+ $val =~ s/IO_SYSPORT/0x031/;
+ $val =~ s/IO_TIMER1/0x071/;
+ $val =~ s/IO_WAIT/0x05F/;
+ $val =~ s/IO_WD1/0x640/;
+ $val =~ s/IO_WD1_EPSON/0x80/;
+ $val =~ s/IO_WD1_NEC/0x640/;
+ if ($val ne "?") {
+ print "hint.$name.$unit.port=\"$val\"\n";
+ }
+ next;
+ }
+ if ($key eq "irq" || $key eq "drq" || $key eq "drive" ||
+ $key eq "iomem" || $key eq "iosiz" || $key eq "flags"||
+ $key eq "bus" || $key eq "target" || $key eq "unit") {
+ $key =~ s/iomem/maddr/;
+ $key =~ s/iosiz/msize/;
+ $val = shift(@rest);
+ if ($val ne "?") {
+ print "hint.$name.$unit.$key=\"$val\"\n";
+ }
+ next;
+ }
+ print "unrecognized config token $key\n";
+ }
+}
diff --git a/sys/pc98/pc98/wd.c b/sys/pc98/pc98/wd.c
index 7908d03..eb17d52 100644
--- a/sys/pc98/pc98/wd.c
+++ b/sys/pc98/pc98/wd.c
@@ -52,12 +52,9 @@
* driver entries for polled reinit and polled write).
*/
-#include "wd.h"
-#ifdef NWDC
-#undef NWDC
-#endif
-
#include "wdc.h"
+#undef NWD
+#define NWD (NWDC * 4) /* 4 drives per wdc on PC98 */
#if NWDC > 0
diff --git a/usr.sbin/config/Makefile b/usr.sbin/config/Makefile
index cd47fc4..5388abc 100644
--- a/usr.sbin/config/Makefile
+++ b/usr.sbin/config/Makefile
@@ -4,7 +4,7 @@
PROG= config
CFLAGS+=-I. -I${.CURDIR}
CFLAGS+=-Wall -Wunused -Wmissing-prototypes -Wredundant-decls
-SRCS= config.y main.c lang.l mkioconf.c mkmakefile.c mkheaders.c \
+SRCS= config.y main.c lang.l mkmakefile.c mkheaders.c \
mkoptions.c y.tab.h
MAN8= config.8
DPADD= ${LIBL}
diff --git a/usr.sbin/config/config.h b/usr.sbin/config/config.h
index 41a00b1..1779dc5 100644
--- a/usr.sbin/config/config.h
+++ b/usr.sbin/config/config.h
@@ -76,25 +76,10 @@ struct file_list {
struct device {
int d_type; /* DEVICE, bus adaptor */
- char *d_conn; /* what it is connected to */
- int d_connunit; /* unit of connection */
char *d_name; /* name of device (e.g. rk11) */
- int d_unit; /* unit number */
- int d_drive; /* drive number */
- int d_target; /* target number */
- int d_lun; /* unit number */
- int d_bus; /* controller bus number */
- int d_count; /* pseudo-device count */
+ int d_count; /* device count */
#define QUES -1 /* -1 means '?' */
#define UNKNOWN -2 /* -2 means not set yet */
- int d_flags; /* flags for device init */
- int d_disabled; /* nonzero to skip probe/attach */
- char *d_port; /* io port base manifest constant */
- int d_portn; /* io port base (if number not manifest) */
- int d_maddr; /* io memory base */
- int d_msize; /* io memory size */
- int d_drq; /* DMA request */
- int d_irq; /* interrupt request */
struct device *d_next; /* Next one in list */
};
@@ -144,20 +129,20 @@ struct opt_list {
} *otab;
extern char *ident;
+extern char *hints;
extern int do_trace;
-char *get_word __P((FILE *));
-char *get_quoted_word __P((FILE *));
-char *path __P((char *));
-char *raisestr __P((char *));
-void moveifchanged __P((const char *, const char *));
-void init_dev __P((struct device *));
-void newbus_ioconf __P((void));
-int yyparse __P((void));
-int yylex __P((void));
-void options __P((void));
-void makefile __P((void));
-void headers __P((void));
+char *get_word(FILE *);
+char *get_quoted_word(FILE *);
+char *path(char *);
+char *raisestr(char *);
+void moveifchanged(const char *, const char *);
+void newbus_ioconf(void);
+int yyparse(void);
+int yylex(void);
+void options(void);
+void makefile(void);
+void headers(void);
extern struct device *dtab;
diff --git a/usr.sbin/config/config.y b/usr.sbin/config/config.y
index 018be5b..0de3e91 100644
--- a/usr.sbin/config/config.y
+++ b/usr.sbin/config/config.y
@@ -4,48 +4,25 @@
struct file_list *file;
}
-%token ANY
%token ARCH
-%token AT
-%token BUS
%token COMMA
%token CONFIG
-%token CONFLICTS
-%token CONTROLLER
%token CPU
%token DEVICE
-%token DISABLE
-%token DISK
-%token DRIVE
-%token DRQ
%token EQUALS
-%token FLAGS
+%token HINTS
%token IDENT
-%token IOMEM
-%token IOSIZ
-%token IRQ
%token MAXUSERS
-%token MINUS
-%token NEXUS
%token OPTIONS
%token MAKEOPTIONS
-%token PORT
-%token PSEUDO_DEVICE
%token SEMICOLON
-%token TAPE
-%token TARGET
-%token TTY
-%token UNIT
-%token VECTOR
%token <str> ID
%token <val> NUMBER
-%token <val> FPNUMBER
%type <str> Save_id
%type <str> Opt_value
%type <str> Dev
-%type <str> device_name
%{
@@ -97,6 +74,7 @@ static struct device *curp = 0;
struct device *dtab;
char *ident;
+char *hints;
int yyline;
struct file_list *ftab;
char errbuf[80];
@@ -104,8 +82,7 @@ int maxusers;
#define ns(s) strdup(s)
-static int connect __P((char *, int));
-static void yyerror __P((char *s));
+static void yyerror(char *s);
%}
@@ -163,7 +140,9 @@ Config_spec:
System_spec
|
MAXUSERS NUMBER
- = { maxusers = $2; };
+ = { maxusers = $2; } |
+ HINTS ID
+ = { hints = $2; };
System_spec:
CONFIG System_id System_parameter_list
@@ -190,41 +169,6 @@ System_parameter_list:
| ID
;
-device_name:
- Save_id
- = { $$ = $1; }
- | Save_id NUMBER
- = {
- char buf[80];
-
- (void) snprintf(buf, sizeof(buf), "%s%d", $1, $2);
- $$ = ns(buf); free($1);
- }
- | Save_id NUMBER ID
- = {
- char buf[80];
-
- (void) snprintf(buf, sizeof(buf), "%s%d%s", $1, $2, $3);
- $$ = ns(buf); free($1);
- }
- | Save_id NUMBER ID NUMBER
- = {
- char buf[80];
-
- (void) snprintf(buf, sizeof(buf), "%s%d%s%d",
- $1, $2, $3, $4);
- $$ = ns(buf); free($1);
- }
- | Save_id NUMBER ID NUMBER ID
- = {
- char buf[80];
-
- (void) snprintf(buf, sizeof(buf), "%s%d%s%d%s",
- $1, $2, $3, $4, $5);
- $$ = ns(buf); free($1);
- }
- ;
-
Opt_list:
Opt_list COMMA Option
|
@@ -304,111 +248,25 @@ Dev:
;
Device_spec:
- DEVICE Dev_spec
- = { cur.d_type = DEVICE; } |
- DISK Dev_spec
- = {
- warnx("line %d: Obsolete keyword 'disk' found - use 'device'", yyline);
- cur.d_type = DEVICE;
- } |
- TAPE Dev_spec
+ DEVICE Dev
= {
- warnx("line %d: Obsolete keyword 'tape' found - use 'device'", yyline);
cur.d_type = DEVICE;
- } |
- CONTROLLER Dev_spec
- = {
- warnx("line %d: Obsolete keyword 'controller' found - use 'device'", yyline);
- cur.d_type = DEVICE;
- } |
- PSEUDO_DEVICE Init_dev Dev
- = {
- cur.d_name = $3;
- cur.d_type = PSEUDO_DEVICE;
- } |
- PSEUDO_DEVICE Init_dev Dev NUMBER
- = {
- cur.d_name = $3;
- cur.d_type = PSEUDO_DEVICE;
- cur.d_count = $4;
- } ;
-
-Dev_spec:
- Init_dev Dev
- = {
cur.d_name = $2;
- cur.d_unit = UNKNOWN;
+ cur.d_count = UNKNOWN;
} |
- Init_dev Dev NUMBER Dev_info
+ DEVICE Dev NUMBER
= {
+ cur.d_type = DEVICE;
cur.d_name = $2;
- cur.d_unit = $3;
- };
-
-Init_dev:
- /* lambda */
- = { init_dev(&cur); };
-
-Dev_info:
- Con_info Info_list
- |
- /* lambda */
- ;
-
-Con_info:
- AT Dev NUMBER
- = {
- connect($2, $3);
- cur.d_conn = $2;
- cur.d_connunit = $3;
- } |
- AT NEXUS NUMBER
- = {
- cur.d_conn = "nexus";
- cur.d_connunit = 0;
- };
-
-Info_list:
- Info_list Info
- |
- /* lambda */
- ;
-
-Info:
- BUS NUMBER /* device scbus1 at ahc0 bus 1 - twin channel */
- = { cur.d_bus = $2; } |
- TARGET NUMBER
- = { cur.d_target = $2; } |
- UNIT NUMBER
- = { cur.d_lun = $2; } |
- DRIVE NUMBER
- = { cur.d_drive = $2; } |
- IRQ NUMBER
- = { cur.d_irq = $2; } |
- DRQ NUMBER
- = { cur.d_drq = $2; } |
- IOMEM NUMBER
- = { cur.d_maddr = $2; } |
- IOSIZ NUMBER
- = { cur.d_msize = $2; } |
- PORT device_name
- = { cur.d_port = $2; } |
- PORT NUMBER
- = { cur.d_portn = $2; } |
- FLAGS NUMBER
- = { cur.d_flags = $2; } |
- DISABLE
- = { cur.d_disabled = 1; } |
- CONFLICTS
- = {
- warnx("line %d: Obsolete keyword 'conflicts' found", yyline);
- };
+ cur.d_count = $3;
+ if (cur.d_count == 0)
+ warnx("line %d: devices with zero units are not likely to be correct", yyline);
+ } ;
%%
static void
-yyerror(s)
- char *s;
+yyerror(char *s)
{
warnx("line %d: %s", yyline + 1, s);
@@ -418,23 +276,16 @@ yyerror(s)
* add a device to the list of devices
*/
static void
-newdev(dp)
- register struct device *dp;
+newdev(struct device *dp)
{
- register struct device *np, *xp;
-
- if (dp->d_unit >= 0) {
- for (xp = dtab; xp != 0; xp = xp->d_next) {
- if ((xp->d_unit == dp->d_unit) &&
- eq(xp->d_name, dp->d_name)) {
- warnx("line %d: already seen device %s%d",
- yyline, xp->d_name, xp->d_unit);
- }
- }
- }
+ struct device *np;
+
np = (struct device *) malloc(sizeof *np);
memset(np, 0, sizeof(*np));
*np = *dp;
+ np->d_name = dp->d_name;
+ np->d_type = dp->d_type;
+ np->d_count = dp->d_count;
np->d_next = 0;
if (curp == 0)
dtab = np;
@@ -442,63 +293,3 @@ newdev(dp)
curp->d_next = np;
curp = np;
}
-
-
-/*
- * find the pointer to connect to the given device and number.
- * returns 0 if no such device and prints an error message
- */
-static int
-connect(dev, num)
- register char *dev;
- register int num;
-{
- register struct device *dp;
-
- if (num == QUES) {
- for (dp = dtab; dp != 0; dp = dp->d_next)
- if (eq(dp->d_name, dev))
- break;
- if (dp == 0) {
- (void) snprintf(errbuf, sizeof(errbuf),
- "no %s's to wildcard", dev);
- yyerror(errbuf);
- return (0);
- }
- return (1);
- }
- for (dp = dtab; dp != 0; dp = dp->d_next) {
- if ((num != dp->d_unit) || !eq(dev, dp->d_name))
- continue;
- if (dp->d_type != DEVICE) {
- (void) snprintf(errbuf, sizeof(errbuf),
- "%s connected to non-device", dev);
- yyerror(errbuf);
- return (0);
- }
- return (1);
- }
- (void) snprintf(errbuf, sizeof(errbuf), "%s %d not defined", dev, num);
- yyerror(errbuf);
- return (0);
-}
-
-void
-init_dev(dp)
- register struct device *dp;
-{
-
- dp->d_name = "OHNO!!!";
- dp->d_type = DEVICE;
- dp->d_conn = 0;
- dp->d_disabled = 0;
- dp->d_flags = 0;
- dp->d_bus = dp->d_lun = dp->d_target = dp->d_drive = dp->d_unit = \
- dp->d_count = UNKNOWN;
- dp->d_port = (char *)0;
- dp->d_portn = -1;
- dp->d_irq = -1;
- dp->d_drq = -1;
- dp->d_maddr = 0;
- dp->d_msize = 0;
-}
diff --git a/usr.sbin/config/configvers.h b/usr.sbin/config/configvers.h
index 99226d9..7a398f5 100644
--- a/usr.sbin/config/configvers.h
+++ b/usr.sbin/config/configvers.h
@@ -8,4 +8,4 @@
*
* $FreeBSD$
*/
-#define CONFIGVERS 500001
+#define CONFIGVERS 500002
diff --git a/usr.sbin/config/lang.l b/usr.sbin/config/lang.l
index 3a512a6..c64add73 100644
--- a/usr.sbin/config/lang.l
+++ b/usr.sbin/config/lang.l
@@ -50,40 +50,23 @@ struct kt {
char *kt_name;
int kt_val;
} key_words[] = {
- { "at", AT },
- { "bus", BUS },
- { "conflicts", CONFLICTS },
{ "config", CONFIG },
- { "controller", CONTROLLER },
{ "cpu", CPU },
{ "device", DEVICE },
- { "disable", DISABLE },
- { "disk", DISK },
- { "drive", DRIVE },
- { "drq", DRQ },
- { "flags", FLAGS },
+ { "hints", HINTS },
{ "ident", IDENT },
- { "iomem", IOMEM },
- { "iosiz", IOSIZ },
- { "irq", IRQ },
{ "machine", ARCH }, /* MACHINE is defined in /sys/param.h */
{ "makeoptions", MAKEOPTIONS },
{ "maxusers", MAXUSERS },
- { "nexus", NEXUS },
{ "option", OPTIONS },
{ "options", OPTIONS },
- { "port", PORT },
- { "pseudo-device",PSEUDO_DEVICE },
- { "tape", TAPE },
- { "target", TARGET },
- { "unit", UNIT },
{ 0, 0 },
};
-int kw_lookup __P((char *));
-int octal __P((char *));
-int hex __P((char *));
+int kw_lookup(char *);
+int octal(char *);
+int hex(char *);
%}
WORD [A-Za-z_][-A-Za-z_]*
@@ -106,8 +89,7 @@ ID [A-Za-z_][-A-Za-z_0-9]*
if ((i = kw_lookup(yytext)) == -1)
REJECT;
- if (i == CONTROLLER || i == DEVICE || i == DISK || i == TAPE ||
- i == PSEUDO_DEVICE || i == AT)
+ if (i == DEVICE)
BEGIN NONUM;
return i;
}
@@ -146,10 +128,6 @@ ID [A-Za-z_][-A-Za-z_0-9]*
yylval.val = atoi(yytext);
return NUMBER;
}
-[0-9]"."[0-9]* {
- yylval.val = (int) (60 * atof(yytext) + 0.5);
- return FPNUMBER;
- }
"?" {
yylval.val = -1;
return NUMBER;
@@ -166,7 +144,6 @@ ID [A-Za-z_][-A-Za-z_0-9]*
";" { return SEMICOLON; }
"," { return COMMA; }
"=" { BEGIN TOEOL; return EQUALS; }
-"@" { return AT; }
. { return yytext[0]; }
%%
@@ -177,10 +154,9 @@ ID [A-Za-z_][-A-Za-z_0-9]*
*/
int
-kw_lookup(word)
-register char *word;
+kw_lookup(char *word)
{
- register struct kt *kp;
+ struct kt *kp;
for (kp = key_words; kp->kt_name != 0; kp++)
if (eq(word, kp->kt_name))
@@ -193,8 +169,7 @@ register char *word;
*/
int
-octal(str)
-char *str;
+octal(char *str)
{
int num;
@@ -203,8 +178,7 @@ char *str;
}
int
-hex(str)
-char *str;
+hex(char *str)
{
int num;
diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c
index 4a0748e..318d0d5 100644
--- a/usr.sbin/config/main.c
+++ b/usr.sbin/config/main.c
@@ -76,18 +76,16 @@ static int no_config_clobber = TRUE;
int debugging;
int profiling;
-static void configfile __P((void));
-static void get_srcdir __P((void));
-static void usage __P((void));
+static void configfile(void);
+static void get_srcdir(void);
+static void usage(void);
/*
* Config builds a set of files for building a UNIX
* system given a description of the desired system.
*/
int
-main(argc, argv)
- int argc;
- char **argv;
+main(int argc, char **argv)
{
struct stat buf;
@@ -170,7 +168,6 @@ main(argc, argv)
case MACHINE_I386:
case MACHINE_PC98:
case MACHINE_ALPHA:
- newbus_ioconf(); /* Print ioconf.c */
break;
default:
@@ -206,7 +203,7 @@ main(argc, argv)
* and save that in srcdir.
*/
static void
-get_srcdir()
+get_srcdir(void)
{
int i;
char *p;
@@ -225,7 +222,7 @@ get_srcdir()
}
static void
-usage()
+usage(void)
{
fprintf(stderr, "usage: config [-gpr] [-d destdir] sysname\n");
exit(1);
@@ -238,12 +235,11 @@ usage()
* pointer to the word otherwise
*/
char *
-get_word(fp)
- register FILE *fp;
+get_word(FILE *fp)
{
static char line[80];
- register int ch;
- register char *cp;
+ int ch;
+ char *cp;
int escaped_nl = 0;
begin:
@@ -284,12 +280,11 @@ begin:
* (to allow embedded spaces).
*/
char *
-get_quoted_word(fp)
- register FILE *fp;
+get_quoted_word(FILE *fp)
{
static char line[256];
- register int ch;
- register char *cp;
+ int ch;
+ char *cp;
int escaped_nl = 0;
begin:
@@ -312,7 +307,7 @@ begin:
}
cp = line;
if (ch == '"' || ch == '\'') {
- register int quote = ch;
+ int quote = ch;
while ((ch = getc(fp)) != EOF) {
if (ch == quote)
@@ -345,10 +340,9 @@ begin:
* prepend the path to a filename
*/
char *
-path(file)
- char *file;
+path(char *file)
{
- register char *cp;
+ char *cp;
cp = malloc((size_t)(strlen(destdir) + (file ? strlen(file) : 0) + 2));
(void) strcpy(cp, destdir);
@@ -360,7 +354,7 @@ path(file)
}
static void
-configfile()
+configfile(void)
{
FILE *fi, *fo;
char *p;
diff --git a/usr.sbin/config/mkheaders.c b/usr.sbin/config/mkheaders.c
index 5ba6503..c2d477d 100644
--- a/usr.sbin/config/mkheaders.c
+++ b/usr.sbin/config/mkheaders.c
@@ -50,24 +50,22 @@ static const char rcsid[] =
#include "config.h"
#include "y.tab.h"
-static void do_header __P((char *, int));
-static void do_count __P((char *));
-static char *toheader __P((char *));
-static char *tomacro __P((char *));
+static void do_header(char *, int);
+static void do_count(char *);
+static char *toheader(char *);
+static char *tomacro(char *);
void
-headers()
+headers(void)
{
- register struct file_list *fl;
+ struct file_list *fl;
struct device *dp;
for (fl = ftab; fl != 0; fl = fl->f_next) {
if (fl->f_needs != 0) {
for (dp = dtab; dp != 0; dp = dp->d_next) {
if (eq(dp->d_name, fl->f_needs)) {
- if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE)
- dp->d_type |= DEVDONE;
- else if ((dp->d_type & TYPEMASK) == DEVICE)
+ if ((dp->d_type & TYPEMASK) == DEVICE)
dp->d_type |= DEVDONE;
}
}
@@ -76,11 +74,6 @@ headers()
}
}
for (dp = dtab; dp != 0; dp = dp->d_next) {
- if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE) {
- if (!(dp->d_type & DEVDONE))
- printf("Warning: pseudo-device \"%s\" is unknown\n",
- dp->d_name);
- }
if ((dp->d_type & TYPEMASK) == DEVICE) {
if (!(dp->d_type & DEVDONE))
printf("Warning: device \"%s\" is unknown\n",
@@ -94,11 +87,10 @@ headers()
* whatever the device is connected to
*/
static void
-do_count(dev)
- register char *dev;
+do_count(char *dev)
{
- register struct device *dp;
- register int count, hicount;
+ struct device *dp;
+ int count, hicount;
/*
* After this loop, "count" will be the actual number of units,
@@ -106,29 +98,17 @@ do_count(dev)
* must use this higher of these values.
*/
for (hicount = count = 0, dp = dtab; dp != 0; dp = dp->d_next) {
- if (dp->d_unit != -1 && eq(dp->d_name, dev)) {
- if ((dp->d_type & TYPEMASK) == PSEUDO_DEVICE) {
- count =
- dp->d_count != UNKNOWN ? dp->d_count : 1;
- break;
- }
- count++;
- /*
- * Allow holes in unit numbering,
- * assumption is unit numbering starts
- * at zero.
- */
- if (dp->d_unit + 1 > hicount)
- hicount = dp->d_unit + 1;
+ if (eq(dp->d_name, dev)) {
+ count =
+ dp->d_count != UNKNOWN ? dp->d_count : 1;
+ break;
}
}
- do_header(dev, count > hicount ? count : hicount);
+ do_header(dev, count);
}
static void
-do_header(dev, count)
- char *dev;
- int count;
+do_header(char *dev, int count)
{
char *file, *name, *inw;
struct file_list *fl, *fl_head, *tflp;
@@ -207,8 +187,7 @@ do_header(dev, count)
* convert a dev name to a .h file name
*/
static char *
-toheader(dev)
- char *dev;
+toheader(char *dev)
{
static char hbuf[80];
@@ -221,11 +200,10 @@ toheader(dev)
* convert a dev name to a macro name
*/
static char *
-tomacro(dev)
- register char *dev;
+tomacro(char *dev)
{
static char mbuf[20];
- register char *cp;
+ char *cp;
cp = mbuf;
*cp++ = 'N';
diff --git a/usr.sbin/config/mkioconf.c b/usr.sbin/config/mkioconf.c
deleted file mode 100644
index 6eabd49..0000000
--- a/usr.sbin/config/mkioconf.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 1980, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)mkioconf.c 8.2 (Berkeley) 1/21/94";
-#endif
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
-#include <err.h>
-#include <stdio.h>
-#include "y.tab.h"
-#include "config.h"
-
-/*
- * build the ioconf.c file
- */
-
-static char *
-devstr(struct device *dp)
-{
- static char buf[100];
-
- if (dp->d_unit >= 0) {
- snprintf(buf, sizeof(buf), "%s%d", dp->d_name, dp->d_unit);
- return buf;
- } else
- return dp->d_name;
-}
-
-static void
-write_device_resources(FILE *fp, struct device *dp)
-{
- int count = 0;
- char buf[80];
-
- fprintf(fp, "struct config_resource %s_resources[] = {\n", devstr(dp));
- if (dp->d_conn) {
- if (dp->d_connunit >= 0)
- snprintf(buf, sizeof(buf), "%s%d", dp->d_conn, dp->d_connunit);
- else
- snprintf(buf, sizeof(buf), "%s", dp->d_conn);
- fprintf(fp, "\t{ \"at\",\tRES_STRING,\t{ (long)\"%s\" }},\n", buf);
- count++;
- }
- if (dp->d_drive != -2) {
- fprintf(fp, "\t{ \"drive\",\tRES_INT,\t{ %d }},\n", dp->d_drive);
- count++;
- }
- if (dp->d_target != -2) {
- fprintf(fp, "\t{ \"target\",\tRES_INT,\t{ %d }},\n", dp->d_target);
- count++;
- }
- if (dp->d_lun != -2) {
- fprintf(fp, "\t{ \"lun\",\tRES_INT,\t{ %d }},\n", dp->d_lun);
- count++;
- }
- if (dp->d_bus != -2) {
- fprintf(fp, "\t{ \"bus\",\tRES_INT,\t{ %d }},\n", dp->d_bus);
- count++;
- }
- if (dp->d_flags) {
- fprintf(fp, "\t{ \"flags\",\tRES_INT,\t{ 0x%x }},\n", dp->d_flags);
- count++;
- }
- if (dp->d_disabled) {
- fprintf(fp, "\t{ \"disabled\",\tRES_INT,\t{ %d }},\n", dp->d_disabled);
- count++;
- }
- if (dp->d_port) {
- fprintf(fp, "\t{ \"port\",\tRES_INT,\t { %s }},\n", dp->d_port);
- count++;
- }
- if (dp->d_portn > 0) {
- fprintf(fp, "\t{ \"port\",\tRES_INT,\t{ 0x%x }},\n", dp->d_portn);
- count++;
- }
- if (dp->d_maddr > 0) {
- fprintf(fp, "\t{ \"maddr\",\tRES_INT,\t{ 0x%x }},\n", dp->d_maddr);
- count++;
- }
- if (dp->d_msize > 0) {
- fprintf(fp, "\t{ \"msize\",\tRES_INT,\t{ 0x%x }},\n", dp->d_msize);
- count++;
- }
- if (dp->d_drq >= 0) {
- fprintf(fp, "\t{ \"drq\",\tRES_INT,\t{ %d }},\n", dp->d_drq);
- count++;
- }
- if (dp->d_irq > 0) {
- fprintf(fp, "\t{ \"irq\",\tRES_INT,\t{ %d }},\n", dp->d_irq);
- count++;
- }
- fprintf(fp, "};\n");
- fprintf(fp, "#define %s_count %d\n", devstr(dp), count);
-}
-
-static void
-write_all_device_resources(FILE *fp)
-{
- struct device *dp;
-
- for (dp = dtab; dp != 0; dp = dp->d_next) {
- if (dp->d_type != DEVICE)
- continue;
- if (dp->d_unit == UNKNOWN)
- continue;
- write_device_resources(fp, dp);
- }
-}
-
-static void
-write_devtab(FILE *fp)
-{
- struct device *dp;
- int count;
-
- write_all_device_resources(fp);
-
- count = 0;
- fprintf(fp, "struct config_device config_devtab[] = {\n");
- for (dp = dtab; dp != 0; dp = dp->d_next) {
- char* n = devstr(dp);
- if (dp->d_type != DEVICE)
- continue;
- if (dp->d_unit == UNKNOWN)
- continue;
- fprintf(fp, "\t{ \"%s\",\t%d,\t%s_count,\t%s_resources },\n",
- dp->d_name, dp->d_unit, n, n);
- count++;
- }
- fprintf(fp, "};\n");
- fprintf(fp, "int devtab_count = %d;\n", count);
-}
-
-void
-newbus_ioconf()
-{
- FILE *fp;
-
- fp = fopen(path("ioconf.c.new"), "w");
- if (fp == 0)
- err(1, "%s", path("ioconf.c.new"));
- fprintf(fp, "/*\n");
- fprintf(fp, " * I/O configuration.\n");
- fprintf(fp, " * DO NOT EDIT-- this file is automatically generated.\n");
- fprintf(fp, " */\n");
- fprintf(fp, "\n");
- fprintf(fp, "#include <sys/param.h>\n");
- fprintf(fp, "\n");
- fprintf(fp, "/*\n");
- fprintf(fp, " * New bus architecture devices.\n");
- fprintf(fp, " */\n");
- fprintf(fp, "\n");
- fprintf(fp, "#include <sys/queue.h>\n");
- fprintf(fp, "#include <sys/sysctl.h>\n");
- if (machine == MACHINE_PC98)
- fprintf(fp, "#include <pc98/pc98/pc98.h>\n");
- else
- fprintf(fp, "#include <isa/isareg.h>\n");
- fprintf(fp, "#include <sys/bus_private.h>\n");
- fprintf(fp, "\n");
-
- write_devtab(fp);
-
- (void) fclose(fp);
- moveifchanged(path("ioconf.c.new"), path("ioconf.c"));
-}
diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
index 516b225..f0107ed 100644
--- a/usr.sbin/config/mkmakefile.c
+++ b/usr.sbin/config/mkmakefile.c
@@ -54,14 +54,14 @@ static const char rcsid[] =
#include "configvers.h"
#define next_word(fp, wd) \
- { register char *word = get_word(fp); \
+ { char *word = get_word(fp); \
if (word == (char *)EOF) \
return; \
else \
wd = word; \
}
#define next_quoted_word(fp, wd) \
- { register char *word = get_quoted_word(fp); \
+ { char *word = get_quoted_word(fp); \
if (word == (char *)EOF) \
return; \
else \
@@ -70,25 +70,24 @@ static const char rcsid[] =
static struct file_list *fcur;
-static char *tail __P((char *));
-static void do_clean __P((FILE *));
-static void do_rules __P((FILE *));
-static void do_sfiles __P((FILE *));
-static void do_mfiles __P((FILE *));
-static void do_cfiles __P((FILE *));
-static void do_objs __P((FILE *));
-static void do_before_depend __P((FILE *));
-static int opteq __P((char *, char *));
-static void read_files __P((void));
+static char *tail(char *);
+static void do_clean(FILE *);
+static void do_rules(FILE *);
+static void do_sfiles(FILE *);
+static void do_mfiles(FILE *);
+static void do_cfiles(FILE *);
+static void do_objs(FILE *);
+static void do_before_depend(FILE *);
+static int opteq(char *, char *);
+static void read_files(void);
/*
* Lookup a file, by name.
*/
static struct file_list *
-fl_lookup(file)
- register char *file;
+fl_lookup(char *file)
{
- register struct file_list *fp;
+ struct file_list *fp;
for (fp = ftab ; fp != 0; fp = fp->f_next) {
if (eq(fp->f_fn, file))
@@ -101,10 +100,9 @@ fl_lookup(file)
* Lookup a file, by final component name.
*/
static struct file_list *
-fltail_lookup(file)
- register char *file;
+fltail_lookup(char *file)
{
- register struct file_list *fp;
+ struct file_list *fp;
for (fp = ftab ; fp != 0; fp = fp->f_next) {
if (eq(tail(fp->f_fn), tail(file)))
@@ -117,9 +115,9 @@ fltail_lookup(file)
* Make a new file list entry
*/
static struct file_list *
-new_fent()
+new_fent(void)
{
- register struct file_list *fp;
+ struct file_list *fp;
fp = (struct file_list *) malloc(sizeof *fp);
bzero(fp, sizeof *fp);
@@ -135,12 +133,13 @@ new_fent()
* Build the makefile from the skeleton
*/
void
-makefile()
+makefile(void)
{
FILE *ifp, *ofp;
char line[BUFSIZ];
struct opt *op;
int versreq;
+ char *s;
read_files();
snprintf(line, sizeof(line), "../../conf/Makefile.%s", machinename);
@@ -216,6 +215,54 @@ makefile()
(void) fclose(ofp);
moveifchanged(path("Makefile.new"), path("Makefile"));
+ if (hints) {
+ ifp = fopen(hints, "r");
+ if (ifp == NULL)
+ err(1, "%s", hints);
+ } else {
+ ifp = NULL;
+ }
+ ofp = fopen(path("hints.c.new"), "w");
+ if (ofp == NULL)
+ err(1, "%s", path("hints.c.new"));
+ fprintf(ofp, "char static_hints[] = {\n");
+ if (ifp) {
+ while (fgets(line, BUFSIZ, ifp) != 0) {
+ /* zap trailing CR and/or LF */
+ while ((s = rindex(line, '\n')) != NULL)
+ *s = '\0';
+ while ((s = rindex(line, '\r')) != NULL)
+ *s = '\0';
+ /* remove # comments */
+ s = index(line, '#');
+ if (s)
+ *s = '\0';
+ /* remove any whitespace and " characters */
+ s = line;
+ while (*s) {
+ if (*s == ' ' || *s == '\t' || *s == '"') {
+ while (*s) {
+ s[0] = s[1];
+ s++;
+ }
+ /* start over */
+ s = line;
+ continue;
+ }
+ s++;
+ }
+ /* anything left? */
+ if (*line == '\0')
+ break;
+ fprintf(ofp, "\"%s\\0\"\n", line);
+ }
+ }
+ fprintf(ofp, "\"\\0\"\n};\n");
+ if (ifp)
+ fclose(ifp);
+ fclose(ofp);
+ moveifchanged(path("hints.c.new"), path("hints.c"));
+
printf("Don't forget to do a ``make depend''\n");
}
@@ -224,13 +271,13 @@ makefile()
* Store it in the ftab linked list.
*/
static void
-read_files()
+read_files(void)
{
FILE *fp;
- register struct file_list *tp, *pf;
- register struct device *dp;
+ struct file_list *tp, *pf;
+ struct device *dp;
struct device *save_dp;
- register struct opt *op;
+ struct opt *op;
char *wd, *this, *needs, *special, *depends, *clean, *warn;
char fname[80];
int ddwarned = 0;
@@ -250,7 +297,7 @@ openit:
err(1, "%s", fname);
next:
/*
- * filename [ standard | mandatory | optional | count]
+ * filename [ standard | mandatory | optional | count ]
* [ config-dependent ]
* [ dev* | profiling-routine ] [ no-obj ]
* [ compile-with "compile rule" [no-implicit-rule] ]
@@ -428,7 +475,7 @@ nextparam:
goto invis;
for (dp = dtab; dp != 0; save_dp = dp, dp = dp->d_next)
if (eq(dp->d_name, wd)) {
- if (std && dp->d_type == PSEUDO_DEVICE &&
+ if (std && dp->d_type == DEVICE &&
dp->d_count <= 0)
dp->d_count = 1;
goto nextparam;
@@ -441,9 +488,8 @@ nextparam:
if (std) {
dp = (struct device *) malloc(sizeof *dp);
bzero(dp, sizeof *dp);
- init_dev(dp);
+ dp->d_type = DEVICE;
dp->d_name = ns(wd);
- dp->d_type = PSEUDO_DEVICE;
dp->d_count = 1;
save_dp->d_next = dp;
goto nextparam;
@@ -517,8 +563,7 @@ doneparam:
}
static int
-opteq(cp, dp)
- char *cp, *dp;
+opteq(char *cp, char *dp)
{
char c, d;
@@ -535,11 +580,10 @@ opteq(cp, dp)
}
static void
-do_before_depend(fp)
- FILE *fp;
+do_before_depend(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
+ struct file_list *tp;
+ int lpos, len;
fputs("BEFORE_DEPEND=", fp);
lpos = 15;
@@ -561,12 +605,11 @@ do_before_depend(fp)
}
static void
-do_objs(fp)
- FILE *fp;
+do_objs(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
- register char *cp, och, *sp;
+ struct file_list *tp;
+ int lpos, len;
+ char *cp, och, *sp;
fprintf(fp, "OBJS=");
lpos = 6;
@@ -590,11 +633,10 @@ do_objs(fp)
}
static void
-do_cfiles(fp)
- FILE *fp;
+do_cfiles(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
+ struct file_list *tp;
+ int lpos, len;
fputs("CFILES=", fp);
lpos = 8;
@@ -619,11 +661,10 @@ do_cfiles(fp)
}
static void
-do_mfiles(fp)
- FILE *fp;
+do_mfiles(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
+ struct file_list *tp;
+ int lpos, len;
fputs("MFILES=", fp);
lpos = 8;
@@ -644,11 +685,10 @@ do_mfiles(fp)
}
static void
-do_sfiles(fp)
- FILE *fp;
+do_sfiles(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
+ struct file_list *tp;
+ int lpos, len;
fputs("SFILES=", fp);
lpos = 8;
@@ -668,12 +708,10 @@ do_sfiles(fp)
putc('\n', fp);
}
-
static char *
-tail(fn)
- char *fn;
+tail(char *fn)
{
- register char *cp;
+ char *cp;
cp = rindex(fn, '/');
if (cp == 0)
@@ -689,11 +727,10 @@ tail(fn)
* (e.g. for the VAX); assembler files are processed by as.
*/
static void
-do_rules(f)
- FILE *f;
+do_rules(FILE *f)
{
- register char *cp, *np, och, *tp;
- register struct file_list *ftp;
+ char *cp, *np, och, *tp;
+ struct file_list *ftp;
char *special;
for (ftp = ftab; ftp != 0; ftp = ftp->f_next) {
@@ -755,11 +792,10 @@ do_rules(f)
}
static void
-do_clean(fp)
- FILE *fp;
+do_clean(FILE *fp)
{
- register struct file_list *tp;
- register int lpos, len;
+ struct file_list *tp;
+ int lpos, len;
fputs("CLEAN=", fp);
lpos = 7;
@@ -778,10 +814,9 @@ do_clean(fp)
}
char *
-raisestr(str)
- register char *str;
+raisestr(char *str)
{
- register char *cp = str;
+ char *cp = str;
while (*str) {
if (islower(*str))
diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.c
index f663331..25bbecc 100644
--- a/usr.sbin/config/mkoptions.c
+++ b/usr.sbin/config/mkoptions.c
@@ -62,13 +62,13 @@ static struct users {
};
#define NUSERS (sizeof (users) / sizeof (users[0]))
-static char *lower __P((char *));
-static void read_options __P((void));
-static void do_option __P((char *));
-static char *tooption __P((char *));
+static char *lower(char *);
+static void read_options(void);
+static void do_option(char *);
+static char *tooption(char *);
void
-options()
+options(void)
{
char buf[40];
struct cputype *cp;
@@ -126,8 +126,7 @@ options()
*/
static void
-do_option(name)
- char *name;
+do_option(char *name)
{
char *basefile, *file, *inw;
struct opt_list *ol;
@@ -272,8 +271,7 @@ do_option(name)
* Find the filename to store the option spec into.
*/
static char *
-tooption(name)
- char *name;
+tooption(char *name)
{
static char hbuf[80];
char nbuf[80];
@@ -297,7 +295,7 @@ tooption(name)
* read the options and options.<machine> files
*/
static void
-read_options()
+read_options(void)
{
FILE *fp;
char fname[80];
@@ -378,10 +376,9 @@ next:
}
static char *
-lower(str)
- register char *str;
+lower(char *str)
{
- register char *cp = str;
+ char *cp = str;
while (*str) {
if (isupper(*str))
@@ -390,4 +387,3 @@ lower(str)
}
return (cp);
}
-
OpenPOWER on IntegriCloud