Implemented a simple "nodevice" config(8) command that cancels
the effect of the "device" command, and use it to generate the OLDCARD from GENERIC. Suggested by: bde
This commit is contained in:
parent
b9cd8d8951
commit
146e03f2e3
@ -2,253 +2,16 @@
|
||||
# OLDCARD -- Generic kernel configuration file for FreeBSD/i386
|
||||
# using the OLDCARD pccard system.
|
||||
#
|
||||
# For more information on this file, please read the handbook section on
|
||||
# Kernel Configuration Files:
|
||||
#
|
||||
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
||||
#
|
||||
# The handbook is also available locally in /usr/share/doc/handbook
|
||||
# if you've installed the doc distribution, otherwise always see the
|
||||
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
|
||||
# latest information.
|
||||
#
|
||||
# An exhaustive list of options and more detailed explanations of the
|
||||
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
||||
# If you are in doubt as to the purpose or necessity of a line, check first
|
||||
# in NOTES.
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
machine i386
|
||||
cpu I486_CPU
|
||||
cpu I586_CPU
|
||||
cpu I686_CPU
|
||||
include GENERIC
|
||||
|
||||
ident OLDCARD
|
||||
maxusers 0
|
||||
|
||||
#To statically compile in device wiring instead of /boot/device.hints
|
||||
#hints "OLDCARD.hints" #Default places to look for devices.
|
||||
|
||||
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
|
||||
|
||||
options SCHED_4BSD #4BSD scheduler
|
||||
options INET #InterNETworking
|
||||
options INET6 #IPv6 communications protocols
|
||||
options FFS #Berkeley Fast Filesystem
|
||||
options SOFTUPDATES #Enable FFS soft updates support
|
||||
options UFS_ACL #Support for access control lists
|
||||
options UFS_DIRHASH #Improve performance on big directories
|
||||
options MD_ROOT #MD is a potential root device
|
||||
options NFSCLIENT #Network Filesystem Client
|
||||
options NFSSERVER #Network Filesystem Server
|
||||
options NFS_ROOT #NFS usable as root device, requires NFSCLIENT
|
||||
options MSDOSFS #MSDOS Filesystem
|
||||
options CD9660 #ISO 9660 Filesystem
|
||||
options PROCFS #Process filesystem (requires PSEUDOFS)
|
||||
options PSEUDOFS #Pseudo-filesystem framework
|
||||
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
|
||||
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
|
||||
options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
|
||||
options KTRACE #ktrace(1) support
|
||||
options SYSVSHM #SYSV-style shared memory
|
||||
options SYSVMSG #SYSV-style message queues
|
||||
options SYSVSEM #SYSV-style semaphores
|
||||
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
|
||||
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
||||
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||
# output. Adds ~128k to driver.
|
||||
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
|
||||
# output. Adds ~215k to driver.
|
||||
|
||||
# Debugging for use in -current
|
||||
options DDB #Enable the kernel debugger
|
||||
options INVARIANTS #Enable calls of extra sanity checking
|
||||
options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
|
||||
options WITNESS #Enable checks to detect deadlocks and cycles
|
||||
options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed
|
||||
|
||||
# To make an SMP kernel, the next two are needed
|
||||
#options SMP # Symmetric MultiProcessor Kernel
|
||||
#options APIC_IO # Symmetric (APIC) I/O
|
||||
|
||||
device isa
|
||||
device eisa
|
||||
device pci
|
||||
|
||||
# Floppy drives
|
||||
device fdc
|
||||
|
||||
# ATA and ATAPI devices
|
||||
device ata
|
||||
device atadisk # ATA disk drives
|
||||
device atapicd # ATAPI CDROM drives
|
||||
device atapifd # ATAPI floppy drives
|
||||
device atapist # ATAPI tape drives
|
||||
options ATA_STATIC_ID #Static device numbering
|
||||
|
||||
# SCSI Controllers
|
||||
device ahb # EISA AHA1742 family
|
||||
device ahc # AHA2940 and onboard AIC7xxx devices
|
||||
device ahd # AHA39320/29320 and onboard AIC79xx devices
|
||||
device amd # AMD 53C974 (Tekram DC-390(T))
|
||||
device isp # Qlogic family
|
||||
device mpt # LSI-Logic MPT-Fusion
|
||||
#device ncr # NCR/Symbios Logic
|
||||
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
|
||||
device trm # Tekram DC395U/UW/F DC315U adapters
|
||||
|
||||
device adv # Advansys SCSI adapters
|
||||
device adw # Advansys wide SCSI adapters
|
||||
device aha # Adaptec 154x SCSI adapters
|
||||
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
|
||||
device bt # Buslogic/Mylex MultiMaster SCSI adapters
|
||||
|
||||
device ncv # NCR 53C500
|
||||
device nsp # Workbit Ninja SCSI-3
|
||||
device stg # TMC 18C30/18C50
|
||||
|
||||
# RAID controllers interfaced to the SCSI subsystem
|
||||
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
|
||||
device ciss # Compaq Smart RAID 5*
|
||||
device dpt # DPT Smartcache III, IV - See NOTES for options!
|
||||
device iir # Intel Integrated RAID
|
||||
device mly # Mylex AcceleRAID/eXtremeRAID
|
||||
|
||||
# SCSI peripherals
|
||||
device scbus # SCSI bus (required)
|
||||
device ch # SCSI media changers
|
||||
device da # Direct Access (disks)
|
||||
device sa # Sequential Access (tape etc)
|
||||
device cd # CD
|
||||
device pass # Passthrough device (direct SCSI access)
|
||||
device ses # SCSI Environmental Services (and SAF-TE)
|
||||
|
||||
# RAID controllers
|
||||
device aac # Adaptec FSA RAID
|
||||
device aacp # SCSI passthrough for aac (requires CAM)
|
||||
device amr # AMI MegaRAID
|
||||
device ida # Compaq Smart RAID
|
||||
device mlx # Mylex DAC960 family
|
||||
device pst # Promise Supertrak SX6000
|
||||
device twe # 3ware ATA RAID
|
||||
|
||||
# atkbdc0 controls both the keyboard and the PS/2 mouse
|
||||
device atkbdc # AT keyboard controller
|
||||
device atkbd # AT keyboard
|
||||
device psm # PS/2 mouse
|
||||
|
||||
device vga # VGA video card driver
|
||||
|
||||
device splash # Splash screen and screen saver support
|
||||
|
||||
# syscons is the default console driver, resembling an SCO console
|
||||
device sc
|
||||
|
||||
# Enable this for the pcvt (VT220 compatible) console driver
|
||||
#device vt
|
||||
#options XSERVER # support for X server on a vt console
|
||||
#options FAT_CURSOR # start with block cursor
|
||||
|
||||
device agp # support several AGP chipsets
|
||||
|
||||
# Floating point support - do not disable.
|
||||
device npx
|
||||
|
||||
# Power management support (see NOTES for more options)
|
||||
#device apm
|
||||
# Add suspend/resume support for the i8254.
|
||||
device pmtimer
|
||||
|
||||
# PCCARD (PCMCIA) support
|
||||
nodevice cbb # cardbus (yenta) bridge
|
||||
#nodevice pcic # ExCA ISA and PCI bridges
|
||||
nodevice pccard # PC Card (16-bit) bus
|
||||
nodevice cardbus # CardBus (32-bit) bus
|
||||
device card 1 # pccard bus
|
||||
device pcic # PCMCIA bridge
|
||||
|
||||
# Serial (COM) ports
|
||||
device sio # 8250, 16[45]50 based serial ports
|
||||
|
||||
# Parallel port
|
||||
device ppc
|
||||
device ppbus # Parallel port bus (required)
|
||||
device lpt # Printer
|
||||
device plip # TCP/IP over parallel
|
||||
device ppi # Parallel port interface device
|
||||
#device vpo # Requires scbus and da
|
||||
|
||||
|
||||
# PCI Ethernet NICs.
|
||||
device de # DEC/Intel DC21x4x (``Tulip'')
|
||||
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
||||
device txp # 3Com 3cR990 (``Typhoon'')
|
||||
device vx # 3Com 3c590, 3c595 (``Vortex'')
|
||||
|
||||
# PCI Ethernet NICs that use the common MII bus controller code.
|
||||
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
||||
device miibus # MII bus support
|
||||
device dc # DEC/Intel 21143 and various workalikes
|
||||
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
||||
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
|
||||
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 tx # SMC EtherPower II (83c170 ``EPIC'')
|
||||
device vr # VIA Rhine, Rhine II
|
||||
device wb # Winbond W89C840F
|
||||
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
|
||||
device bge # Broadcom BCM570xx Gigabit Ethernet
|
||||
|
||||
# ISA Ethernet NICs. pccard nics included.
|
||||
device cs # Crystal Semiconductor CS89x0 NIC
|
||||
# 'device ed' requires 'device miibus'
|
||||
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
|
||||
device ex # Intel EtherExpress Pro/10 and Pro/10+
|
||||
device ep # Etherlink III based cards
|
||||
device fe # Fujitsu MB8696x based cards
|
||||
device lnc # NE2100, NE32-VL Lance Ethernet cards
|
||||
device sn # SMC's 9000 series of ethernet chips
|
||||
device xe # Xircom pccard ethernet
|
||||
|
||||
# ISA devices that use the old ISA shims
|
||||
#device le
|
||||
|
||||
# Wireless NIC cards
|
||||
device wlan # 802.11 support
|
||||
device an # Aironet 4500/4800 802.11 wireless NICs.
|
||||
device awi # BayStack 660 and others
|
||||
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
|
||||
#device wl # Older non 802.11 Wavelan wireless NIC.
|
||||
|
||||
# Pseudo devices - the number indicates how many units to allocate.
|
||||
device random # Entropy device
|
||||
device loop # Network loopback
|
||||
device ether # Ethernet support
|
||||
device sl # Kernel SLIP
|
||||
device ppp # Kernel PPP
|
||||
device tun # Packet tunnel.
|
||||
device pty # Pseudo-ttys (telnet etc)
|
||||
device md # Memory "disks"
|
||||
device gif # IPv6 and IPv4 tunneling
|
||||
device faith # IPv6-to-IPv4 relaying (translation)
|
||||
|
||||
# The `bpf' device enables the Berkeley Packet Filter.
|
||||
# Be aware of the administrative consequences of enabling this!
|
||||
device bpf # Berkeley packet filter
|
||||
|
||||
# USB support
|
||||
device uhci # UHCI PCI->USB interface
|
||||
device ohci # OHCI PCI->USB interface
|
||||
device usb # USB Bus (required)
|
||||
#device udbp # USB Double Bulk Pipe devices
|
||||
device ugen # Generic
|
||||
device uhid # "Human Interface Devices"
|
||||
device ukbd # Keyboard
|
||||
device ulpt # Printer
|
||||
device umass # Disks/Mass storage - Requires scbus and da
|
||||
device ums # Mouse
|
||||
device urio # Diamond Rio 500 MP3 player
|
||||
device uscanner # Scanners
|
||||
# USB Ethernet, requires mii
|
||||
device aue # ADMtek USB ethernet
|
||||
device cue # CATC USB ethernet
|
||||
device kue # Kawasaki LSI USB ethernet
|
||||
|
@ -14,6 +14,7 @@
|
||||
%token HINTS
|
||||
%token IDENT
|
||||
%token MAXUSERS
|
||||
%token NODEVICE
|
||||
%token PROFILE
|
||||
%token OPTIONS
|
||||
%token MAKEOPTIONS
|
||||
@ -242,6 +243,12 @@ Device_spec:
|
||||
if ($3 == 0)
|
||||
errx(1, "%s:%d: devices with zero units are not "
|
||||
"likely to be correct", yyfile, yyline);
|
||||
} |
|
||||
NODEVICE Dev
|
||||
= {
|
||||
rmopt(&opt, devopt($2));
|
||||
/* and the device part */
|
||||
rmdev($2);
|
||||
} ;
|
||||
|
||||
%%
|
||||
@ -268,6 +275,27 @@ newdev(char *name, int count)
|
||||
STAILQ_INSERT_TAIL(&dtab, np, d_next);
|
||||
}
|
||||
|
||||
/*
|
||||
* remove a device from the list of devices
|
||||
*/
|
||||
static void
|
||||
rmdev(char *name)
|
||||
{
|
||||
struct device *dp, *rmdp;
|
||||
|
||||
STAILQ_FOREACH(dp, &dtab, d_next) {
|
||||
if (eq(dp->d_name, name)) {
|
||||
rmdp = dp;
|
||||
dp = STAILQ_NEXT(dp, d_next);
|
||||
STAILQ_REMOVE(&dtab, rmdp, device, d_next);
|
||||
free(rmdp->d_name);
|
||||
free(rmdp);
|
||||
if (dp == NULL)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
newopt(struct opt_head *list, char *name, char *value)
|
||||
{
|
||||
@ -280,3 +308,22 @@ newopt(struct opt_head *list, char *name, char *value)
|
||||
op->op_value = value;
|
||||
SLIST_INSERT_HEAD(list, op, op_next);
|
||||
}
|
||||
|
||||
static void
|
||||
rmopt(struct opt_head *list, char *name)
|
||||
{
|
||||
struct opt *op, *rmop;
|
||||
|
||||
SLIST_FOREACH(op, list, op_next) {
|
||||
if (eq(op->op_name, name)) {
|
||||
rmop = op;
|
||||
op = SLIST_NEXT(op, op_next);
|
||||
SLIST_REMOVE(list, rmop, opt, op_next);
|
||||
free(rmop->op_name);
|
||||
free(rmop->op_value);
|
||||
free(rmop);
|
||||
if (op == NULL)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ struct kt {
|
||||
{ "machine", ARCH }, /* MACHINE is defined in /sys/param.h */
|
||||
{ "makeoptions", MAKEOPTIONS },
|
||||
{ "maxusers", MAXUSERS },
|
||||
{ "nodevice", NODEVICE },
|
||||
{ "profile", PROFILE },
|
||||
{ "option", OPTIONS },
|
||||
{ "options", OPTIONS },
|
||||
@ -109,7 +110,7 @@ ID [A-Za-z_][-A-Za-z_0-9]*
|
||||
|
||||
if ((i = kw_lookup(yytext)) == -1)
|
||||
REJECT;
|
||||
if (i == DEVICE)
|
||||
if (i == DEVICE || i == NODEVICE)
|
||||
BEGIN NONUM;
|
||||
return i;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user