summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2007-01-07 22:25:45 +0000
committermarius <marius@FreeBSD.org>2007-01-07 22:25:45 +0000
commit1d842041db07130def480402fd39e9724816e4f8 (patch)
treea26bf684ee92f450497fcf3ed2222eefffb54993 /sys/boot
parent198bd4c0fc478412c60f02355042f40cb9ab32de (diff)
downloadFreeBSD-src-1d842041db07130def480402fd39e9724816e4f8.zip
FreeBSD-src-1d842041db07130def480402fd39e9724816e4f8.tar.gz
Garbage collect the code for auto-loading modules based on ISAPNP IDs,
which is #if'ed out since nearly eight years, along with its outdated database. Agreed by: ru (some months ago)
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/common/pnp.c198
-rw-r--r--sys/boot/common/pnpdata183
2 files changed, 0 insertions, 381 deletions
diff --git a/sys/boot/common/pnp.c b/sys/boot/common/pnp.c
index 05cce99..589926b 100644
--- a/sys/boot/common/pnp.c
+++ b/sys/boot/common/pnp.c
@@ -82,52 +82,6 @@ pnp_scan(int argc, char *argv[])
return(CMD_OK);
}
-#if 0
-/*
- * Try to load outstanding modules (eg. after disk change)
- */
-COMMAND_SET(pnpload, "pnpload", "load modules for PnP devices", pnp_load);
-
-static int
-pnp_load(int argc, char *argv[])
-{
- struct pnpinfo *pi;
- char *modfname;
-
- /* find anything? */
- if (STAILQ_FIRST(&pnp_devices) != NULL) {
-
- /* check for kernel, assign modules handled by static drivers there */
- if (pnp_scankernel()) {
- command_errmsg = "cannot load drivers until kernel loaded";
- return(CMD_ERROR);
- }
- if (fname == NULL) {
- /* default paths */
- pnp_readconf("/boot/pnpdata.local");
- pnp_readconf("/boot/pnpdata");
- } else {
- if (pnp_readconf(fname)) {
- sprintf(command_errbuf, "can't read PnP information from '%s'", fname);
- return(CMD_ERROR);
- }
- }
-
- /* try to load any modules that have been nominated */
- STAILQ_FOREACH(pi, &pnp_devices, pi_link) {
- /* Already loaded? */
- if ((pi->pi_module != NULL) && (file_findfile(pi->pi_module, NULL) == NULL)) {
- modfname = malloc(strlen(pi->pi_module) + 4);
- sprintf(modfname, "%s.ko", pi->pi_module); /* XXX implicit knowledge of KLD module filenames */
- if (mod_load(pi->pi_module, pi->pi_argc, pi->pi_argv))
- printf("Could not load module '%s' for device '%s'\n", modfname, STAILQ_FIRST(&pi->pi_ident)->id_ident);
- free(modfname);
- }
- }
- }
- return(CMD_OK);
-}
-#endif
/*
* Throw away anything we think we know about PnP devices.
*/
@@ -142,159 +96,7 @@ pnp_discard(void)
pnp_freeinfo(pi);
}
}
-#if 0
-/*
- * The PnP configuration database consists of a flat text file with
- * entries one per line. Valid lines are:
- *
- * # <text>
- *
- * This line is a comment, and ignored.
- *
- * [<name>]
- *
- * Entries following this line are for devices connected to the
- * bus <name>, At least one such entry must be encountered
- * before identifiers are recognised.
- *
- * ident=<identifier> rev=<revision> module=<module> args=<arguments>
- *
- * This line describes an identifier:module mapping. The 'ident'
- * and 'module' fields are required; the 'rev' field is currently
- * ignored (but should be used), and the 'args' field must come
- * last.
- *
- * Comments may be appended to lines; any character including or following
- * '#' on a line is ignored.
- */
-static int
-pnp_readconf(char *path)
-{
- struct pnpinfo *pi;
- struct pnpident *id;
- int fd, line;
- char lbuf[128], *currbus, *ident, *revision, *module, *args;
- char *cp, *ep, *tp, c;
-
- /* try to open the file */
- if ((fd = open(path, O_RDONLY)) >= 0) {
- line = 0;
- currbus = NULL;
-
- while (fgetstr(lbuf, sizeof(lbuf), fd) > 0) {
- line++;
- /* Find the first non-space character on the line */
- for (cp = lbuf; (*cp != 0) && !isspace(*cp); cp++)
- ;
-
- /* keep/discard? */
- if ((*cp == 0) || (*cp == '#'))
- continue;
-
- /* cut trailing comment? */
- if ((ep = strchr(cp, '#')) != NULL)
- *ep = 0;
-
- /* bus declaration? */
- if (*cp == '[') {
- if (((ep = strchr(cp, ']')) == NULL) || ((ep - cp) < 2)) {
- printf("%s line %d: bad bus specification\n", path, line);
- } else {
- if (currbus != NULL)
- free(currbus);
- *ep = 0;
- currbus = strdup(cp + 1);
- }
- continue;
- }
-
- /* XXX should we complain? */
- if (currbus == NULL)
- continue;
-
- /* mapping */
- for (ident = module = args = revision = NULL; *cp != 0;) {
-
- /* discard leading whitespace */
- if (isspace(*cp)) {
- cp++;
- continue;
- }
-
- /* scan for terminator, separator */
- for (ep = cp; (*ep != 0) && (*ep != '=') && !isspace(*ep); ep++)
- ;
-
- if (*ep == '=') {
- *ep = 0;
- for (tp = ep + 1; (*tp != 0) && !isspace(*tp); tp++)
- ;
- c = *tp;
- *tp = 0;
- if ((ident == NULL) && !strcmp(cp, "ident")) {
- ident = ep + 1;
- } else if ((revision == NULL) && !strcmp(cp, "revision")) {
- revision = ep + 1;
- } else if ((args == NULL) && !strcmp(cp, "args")) {
- *tp = c;
- while (*tp != 0) /* skip to end of string */
- tp++;
- args = ep + 1;
- } else {
- /* XXX complain? */
- }
- cp = tp;
- continue;
- }
-
- /* it's garbage or a keyword - ignore it for now */
- cp = ep;
- }
-
- /* we must have at least ident and module set to be interesting */
- if ((ident == NULL) || (module == NULL))
- continue;
-
- /*
- * Loop looking for module/bus that might match this, but aren't already
- * assigned.
- * XXX no revision parse/test here yet.
- */
- STAILQ_FOREACH(pi, &pnp_devices, pi_link) {
-
- /* no driver assigned, bus matches OK */
- if ((pi->pi_module == NULL) &&
- !strcmp(pi->pi_handler->pp_name, currbus)) {
-
- /* scan idents, take first match */
- STAILQ_FOREACH(id, &pi->pi_ident, id_link)
- if (!strcmp(id->id_ident, ident))
- break;
-
- /* find a match? */
- if (id != NULL) {
- if (args != NULL)
- if (parse(&pi->pi_argc, &pi->pi_argv, args)) {
- printf("%s line %d: bad arguments\n", path, line);
- continue;
- }
- pi->pi_module = strdup(module);
- printf("use module '%s' for %s:%s\n", module, pi->pi_handler->pp_name, id->id_ident);
- }
- }
- }
- }
- close(fd);
- }
- return(CMD_OK);
-}
-static int
-pnp_scankernel(void)
-{
- return(CMD_OK);
-}
-#endif
/*
* Add a unique identifier to (pi)
*/
diff --git a/sys/boot/common/pnpdata b/sys/boot/common/pnpdata
deleted file mode 100644
index f2e2620..0000000
--- a/sys/boot/common/pnpdata
+++ /dev/null
@@ -1,183 +0,0 @@
-#
-# $FreeBSD$
-#
-# This file contains the system default Plug-and-Play data. It is
-# derived from a number of sources, including:
-#
-# - The Microsoft "Windows Generic Device IDs" document
-#
-
-[pci]
-######################################################################
-# PCI devices.
-#
-# Required attributes:
-#
-# ident= PCI identifier in the form 0xDDDDVVVV where
-# 'VVVV' is the 4-digit hex form of the vendor ID and
-# 'DDDD' is the 4-digit hex form of the device ID.
-# or
-#
-# vendor= 0xVVVV where 'VVVV' is above
-# name= Vendor name
-
-vendor=0x8086 name=Intel
-
-
-[isa]
-######################################################################
-# ISA PnP devices
-#
-# Required attributes:
-#
-# ident= ISA PnP identifier in the form AAAIIRR where
-# 'AAA' is the EISA vendor ID, 'II' is the device ID
-# and 'RR' is the revision ID.
-# or
-#
-# vendor= AAA to register just a vendor name.
-# name= Vendor name
-#
-# Optional attributes:
-#
-# module= Support module identifier.
-#
-# args= Arguments to pass to the support module.
-#
-
-vendor=CSC name=Crystal Semiconductor
-vendor=CTL name=Creative Labs
-vendor=PNP name=Generic
-
-# From "Windows Generic Device IDs"
-#
-# --Parallel Devices--
-ident=PNP0400 module=lpt # Standard LPT printer port
-ident=PNP0401 module=lpt # ECP printer port
-
-# --Serial Devices--
-ident=PNP0500 module=sio # Standard PC COM port
-ident=PNP0501 module=sio # 16550A-compatible COM port
-ident=PNP0502 module=sio # Multiport serial device (non-intelligent 16550)
-
-# --Disk Controllers--
-ident=PNP0600 module=wd # Generic ESDI/IDE/ATA compatible hard disk controller
-ident=PNP0603 module=wd # Generic IDE supporting Microsoft Device Bay Specification
-ident=PNP0700 module=fd # PC standard floppy disk controller
-ident=PNP0701 module=fd # Standard floppy controller supporting MS Device Bay Spec
-
-# --Peripheral Buses--
-ident=PNP0A00 module=isa # ISA Bus
-ident=PNP0A01 module=eisa # EISA Bus
-ident=PNP0A03 module=pci # PCI Bus
-ident=PNP0A04 module=isa # VESA/VL Bus
-
-# -- Real Time Clock, BIOS, System board devices--
-ident=PNP0C04 module=npx # Math Coprocessor
-ident=PNP0C05 module=apm # APM BIOS (Version independent)
-
-# --PCMCIA Controller Chipsets--
-ident=PNP0E00 module=pcic # Intel 82365-Compatible PCMCIA Controller
-ident=PNP0E01 module=pcic # Cirrus Logic CL-PD6720 PCMCIA Controller
-ident=PNP0E02 module=pcic # VLSI VL82C146 PCMCIA Controller
-ident=PNP0E03 module=pcic # Intel 82365-compatible CardBus controller
-
-# --Network Adapters--
-ident=PNP8001 module=ed # Novell/Anthem NE3200
-ident=PNP8004 # Compaq NE3200
-ident=PNP80d3 module=ed # Novell/Anthem NE1000
-ident=PNP80d4 module=ed # Novell/Anthem NE2000
-ident=PNP80d5 module=ed # NE1000 Compatible
-ident=PNP80d6 module=ed # NE2000 Compatible
-ident=PNP80d8 module=lnc # Novell/Anthem NE2100
-ident=PNP80e9 module=le # DEC (DE200) EtherWorks Turbo
-ident=PNP80eb module=le # DEC (DE201) EtherWorks Turbo/TP
-ident=PNP80ec module=le # DEC (DE202) EtherWorks Turbo/TP_BNC
-ident=PNP80f1 module=eg # 3Com EtherLink Plus
-ident=PNP80f3 module=ed # 3Com EtherLink II or IITP (8 or 16-bit)
-ident=PNP80f6 module=ed # 3Com EtherLink 16
-ident=PNP80f7 module=ep # 3Com EtherLink III
-ident=PNP80f8 module=ep # 3Com Generic Etherlink Plug and Play Device
-ident=PNP8123 module=ed # SMC StarCard PLUS (WD/8003S)
-ident=PNP8124 module=ed # SMC StarCard PLUS With On Board Hub (WD/8003SH)
-ident=PNP8125 module=ed # SMC EtherCard PLUS (WD/8003E)
-ident=PNP8126 module=ed # SMC EtherCard PLUS With Boot ROM Socket (WD/8003EBT)
-ident=PNP8127 module=ed # SMC EtherCard PLUS With Boot ROM Socket (WD/8003EB)
-ident=PNP8128 module=ed # SMC EtherCard PLUS TP (WD/8003WT)
-ident=PNP812a module=ed # SMC EtherCard PLUS 16 With Boot ROM Socket (WD/8013EBT)
-ident=PNP812d module=ie # Intel EtherExpress 16 or 16TP
-ident=PNP8137 module=ed # Artisoft AE-1
-ident=PNP8138 module=ed # Artisoft AE-2 or AE-3
-ident=PNP8158 module=ed # HP PC LAN Adapter/16 TP Plus (HP27247B)
-ident=PNP8159 module=ed # HP PC LAN Adapter/16 TL Plus (HP27252)
-ident=PNP81c3 module=ed # SMC EtherCard PLUS Elite (WD/8003EP)
-ident=PNP81c4 module=ed # SMC EtherCard PLUS 10T (WD/8003W)
-ident=PNP81c5 module=ed # SMC EtherCard PLUS Elite 16 (WD/8013EP)
-ident=PNP81c6 module=ed # SMC EtherCard PLUS Elite 16T (WD/8013W)
-ident=PNP81c7 module=ed # SMC EtherCard PLUS Elite 16 Combo (WD/8013EW or 8013EWC)
-ident=PNP81c8 module=ed # SMC EtherElite Ultra 16
-ident=PNP820a module=ed # Zenith Data Systems NE2000-Compatible
-ident=PNP8231 module=lnc # Advanced Micro Devices AM2100/AM1500T
-ident=PNP828C module=lnc # AMD PCNet Family cards
-ident=PNP828D module=lnc # AMD PCNet32 (VL version)
-ident=PNP8323 module=ed # SMC EtherCard (All Types except 8013/A)
-ident=PNP8390 module=ed # Generic network adapter
-
-# --SCSI, Proprietary CD Adapters--
-ident=PNPA003 module=matcd # Panasonic proprietary CD-ROM adapter (SBPro/SB16)
-ident=PNPA02B module=scd # Sony proprietary CD-ROM controller
-ident=PNPA030 module=mcd # Mitsumi LU-005 Single Speed CD-ROM controller + drive
-ident=PNPA031 module=mcd # Mitsumi FX-001 Single Speed CD-ROM controller + drive
-ident=PNPA032 module=mcd # Mitsumi FX-001 Double Speed CD-ROM controller + drive
-
-# --Sound/Video-capture, multimedia--
-ident=PNPB000 module=pcm # Sound Blaster 1.5 sound device
-ident=PNPB001 module=pcm # Sound Blaster 2.0 sound device
-ident=PNPB002 module=pcm # Sound Blaster Pro sound device
-ident=PNPB003 module=pcm # Sound Blaster 16 sound device
-ident=PNPB007 module=pcm # Microsoft Windows Sound System-compatible sound device
-ident=PNPB009 module=pcm # Plug and Play Microsoft Windows Sound System Device
-ident=PNPB020 module=pcm # Yamaha OPL3-compatible FM synthesizer device
-ident=PNPB02F module=joy # Joystick/Game port
-
-# --Compatibility with early device ID list--
-ident=PNP0802 module=pcm # Microsoft Sound System compatible device (obsolete, use PNPB0xx instead)
-
-# --Modems--
-ident=PNPC000 module=sio # Compaq 14400 Modem (TBD)
-ident=PNPC001 module=sio # Compaq 2400/9600 Modem (TBD)
-
-# Vendor supplied IDs.
-
-# --Parallel Devices--
-
-# --Serial Devices--
-
-# --Disk Controllers--
-
-# --Peripheral Buses--
-
-# --Real Time Clock, BIOS, System board devices--
-
-# --PCMCIA Controller Chipsets--
-
-# --Network Adapters--
-ident=CSC6040 module=cs # Crystal Semiconductor CS8920
-
-# --SCSI, Proprietary CD Adapters--
-
-# --Sound/Video-capture, multimedia--
-
-# --Modems--
-
-
-
-[com]
-######################################################################
-# COM PnP devices
-#
-
-[lpt]
-######################################################################
-# LPT PnP devices
-#
OpenPOWER on IntegriCloud