diff options
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); } - |