| /* |
| * MACHINE GENERATED: DO NOT EDIT |
| * |
| * ioconf.c, from "DIALOUT" |
| */ |
| |
| #line 1 "../../i386/conf/ioconf.c.i386" |
| /*- |
| * Copyright (c) 1994, 1995, 1996 Berkeley Software Design, Inc. |
| * All rights reserved. |
| * The Berkeley Software Design Inc. software License Agreement specifies |
| * the terms and conditions for redistribution. |
| * |
| * BSDI $Id$ |
| * |
| * WILDBOAR $Wildboar: ioconf.c.i386,v 1.8 1996/02/13 13:01:15 shigeya Exp $ |
| * |
| * Portions or all of this file are Copyright(c) 1994,1995,1996 |
| * Yoichi Shinoda, Yoshitaka Tokugawa, WIDE Project, Wildboar Project |
| * and Foretune. All rights reserved. |
| * |
| * This code has been contributed to Berkeley Software Design, Inc. |
| * by the Wildboar Project and its contributors. |
| */ |
| |
| /* template ioconf.c for i386 */ |
| |
| #include <sys/param.h> |
| #include <sys/conf.h> |
| #include <sys/device.h> |
| #include <i386/isa/isa.h> |
| #include <i386/isa/isavar.h> |
| #include <i386/isa/icu.h> |
| |
| extern struct cfdriver tgcd; |
| extern struct cfdriver sdcd; |
| extern struct cfdriver srcd; |
| extern struct cfdriver stcd; |
| extern struct cfdriver sgcd; |
| extern struct cfdriver isacd; |
| extern struct cfdriver pcconscd; |
| extern struct cfdriver pcauxcd; |
| extern struct cfdriver comcd; |
| extern struct cfdriver lpcd; |
| extern struct cfdriver fdccd; |
| extern struct cfdriver fdcd; |
| extern struct cfdriver dptcd; |
| extern struct cfdriver wdccd; |
| extern struct cfdriver wdcd; |
| extern struct cfdriver wdpicd; |
| extern struct cfdriver mcdcd; |
| extern struct cfdriver wtcd; |
| extern struct cfdriver npxcd; |
| extern struct cfdriver vgacd; |
| extern struct cfdriver bmscd; |
| extern struct cfdriver lmscd; |
| extern struct cfdriver ahacd; |
| extern struct cfdriver bhacd; |
| extern struct cfdriver necd; |
| extern struct cfdriver epcd; |
| extern struct cfdriver sacd; |
| extern struct cfdriver ncrcd; |
| extern struct cfdriver saturncd; |
| extern struct cfdriver aiccd; |
| extern struct cfdriver tncd; |
| extern struct cfdriver hppcd; |
| extern struct cfdriver recd; |
| extern struct cfdriver wecd; |
| extern struct cfdriver tlcd; |
| extern struct cfdriver ebcd; |
| extern struct cfdriver efcd; |
| extern struct cfdriver elcd; |
| extern struct cfdriver excd; |
| extern struct cfdriver eahacd; |
| extern struct cfdriver pciccd; |
| extern struct cfdriver ccecd; |
| extern struct cfdriver mzcd; |
| extern struct cfdriver decd; |
| extern struct cfdriver expcd; |
| extern struct cfdriver nsphycd; |
| extern struct cfdriver ics90pcd; |
| extern struct cfdriver i555pcd; |
| extern struct cfdriver tn100acd; |
| |
| |
| /* locators */ |
| static int loc[395] = { |
| 0, 0, 0, 0, -1, -1, BUS_EISA, 0, |
| 0, 0, 0, -1, -1, BUS_PCI, IO_KBD, 0, |
| 0, 0, -1, -1, BUS_ISA, IO_KBD, 0, 0, |
| 0, 0xc, -1, BUS_ISA, 0x3e0, 0, 0, 0, |
| 0xb, -1, BUS_ISA, 0x3e2, 0, 0, 0, 0xa, |
| -1, BUS_ISA, 0x3e4, 0, 0, 0, 0xa, -1, |
| BUS_ISA, IO_COM1, 0, 0, 0, -1, -1, BUS_ISA, |
| IO_COM2, 0, 0, 0, -1, -1, BUS_ISA, 0, |
| 0, 0, 0, -1, -1, BUS_PCMCIA, 0x378, 0, |
| 0, 0, 7, -1, BUS_ISA, 0x3bc, 0, 0, |
| 0, 7, -1, BUS_ISA, IO_FD1, 0, 0, 0, |
| -1, 2, BUS_ISA, 0x280, 0, 0, 0, -1, |
| -1, BUS_ISA, 0x2a0, 0, 0, 0, -1, -1, |
| BUS_ISA, 0x2e0, 0, 0, 0, -1, -1, BUS_ISA, |
| 0x300, 0, 0, 0, -1, -1, BUS_ISA, 0x310, |
| 0, 0, 0, -1, -1, BUS_ISA, 0x330, 0, |
| 0, 0, -1, -1, BUS_ISA, 0x350, 0, 0, |
| 0, -1, -1, BUS_ISA, 0x250, 0, 0, 0, |
| -1, -1, BUS_ISA, 0x260, 0, 0, 0, -1, |
| -1, BUS_ISA, 0x310, 0, 0xd0000, 0x10000, -1, -1, |
| BUS_ISA, 0, 0, 0, 0, -1, -1, BUS_ANY, |
| 0x170, 0, 0, 0, -1, 5, BUS_ISA, IO_WD1, |
| 0, 0, 0, -1, -1, BUS_ISA, IO_WD2, 0, |
| 0, 0, -1, -1, BUS_ISA, 0x300, 0, 0, |
| 0, -1, 1, BUS_ISA, IO_NPX, 0, 0, 0, |
| -1, -1, BUS_ISA, IO_VGA, 0, 0xa0000, 0x10000, -1, |
| -1, BUS_ISA, 0x23c, 0, 0, 0, 5, -1, |
| BUS_ISA, 0x334, 0, 0, 0, 9, -1, BUS_ISA, |
| 0x340, 0, 0, 0, 9, -1, BUS_ISA, 0x334, |
| 0, 0, 0, -1, -1, BUS_ISA, 0x340, 0, |
| 0, 0, -1, -1, BUS_ISA, 0x320, 0, 0, |
| 0, -1, -1, BUS_ISA, 0x360, 0, 0, 0, |
| -1, -1, BUS_ISA, 0x240, 0, 0, 0, -1, |
| -1, BUS_ISA, 0x320, 0, 0, 0, -1, 3, |
| BUS_ISA, 0x340, 0, 0, 0, -1, 3, BUS_ISA, |
| 0x360, 0, 0, 0, -1, 3, BUS_ISA, 0x300, |
| 0, 0, 0, -1, 3, BUS_ISA, 0x2c0, 0, |
| 0xc8000, 0x800, -1, -1, BUS_ISA, 0x300, 0, 0xc8000, |
| 0x800, -1, -1, BUS_ISA, 0x380, 0, 0, 0, |
| -1, -1, BUS_ISA, 0x280, 0, 0xd0000, 0x4000, -1, |
| -1, BUS_ISA, 0x2a0, 0, 0xd0000, 0x4000, -1, -1, |
| BUS_ISA, 0x2c0, 0, 0xd0000, 0x4000, -1, -1, BUS_ISA, |
| 0x2e0, 0, 0xd0000, 0x4000, -1, -1, BUS_ISA, 0x300, |
| 0, 0xd0000, 0x4000, -1, -1, BUS_ISA, 0x320, 0, |
| 0xd0000, 0x4000, -1, -1, BUS_ISA, 0x340, 0, 0xd0000, |
| 0x4000, -1, -1, BUS_ISA, 0x360, 0, 0xd0000, 0x4000, |
| -1, -1, BUS_ISA, 0x380, 0, 0xd0000, 0x4000, -1, |
| -1, BUS_ISA, 0x3a0, 0, 0xd0000, 0x4000, -1, -1, |
| BUS_ISA, 0x3e0, 0, 0xd0000, 0x4000, -1, -1, BUS_ISA, |
| -1, 1, 0, |
| }; |
| |
| /* parent vectors */ |
| static short pv[48] = { |
| 17, 19, 18, 25, 39, 40, 41, 42, 45, 43, 46, 44, 47, 48, 49, 50, |
| 51, 52, 53, 118, 119, 120, -1, 21, 22, 23, 24, -1, 68, 71, 83, 88, |
| -1, 22, 23, -1, 0, -1, 68, -1, 14, -1, 71, -1, 20, -1, 21, -1, |
| }; |
| |
| #define NORM FSTATE_NOTFOUND |
| #define STAR FSTATE_STAR |
| |
| struct cfdata cfdata[] = { |
| /* driver unit state loc flags parents ivstubs */ |
| /* 0: isa0 at root */ |
| {&isacd, 0, NORM, loc, 0, pv+22, 0}, |
| /* 1: saturn0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&saturncd, 0, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 2: pccons0 at isa0 port IO_KBD nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&pcconscd, 0, NORM, loc+ 14, 0, pv+36, 0}, |
| /* 3: pcaux0 at isa0 port IO_KBD nports 0 iomem 0 iosiz 0 irq 0xc drq -1 bustype BUS_ISA */ |
| {&pcauxcd, 0, NORM, loc+ 21, 0, pv+36, 0}, |
| /* 4: pcic0 at isa0 port 0x3e0 nports 0 iomem 0 iosiz 0 irq 0xb drq -1 bustype BUS_ISA */ |
| {&pciccd, 0, NORM, loc+ 28, 0, pv+36, 0}, |
| /* 5: pcic1 at isa0 port 0x3e2 nports 0 iomem 0 iosiz 0 irq 0xa drq -1 bustype BUS_ISA */ |
| {&pciccd, 1, NORM, loc+ 35, 0, pv+36, 0}, |
| /* 6: pcic1 at isa0 port 0x3e4 nports 0 iomem 0 iosiz 0 irq 0xa drq -1 bustype BUS_ISA */ |
| {&pciccd, 1, NORM, loc+ 42, 0, pv+36, 0}, |
| /* 7: com0 at isa0 port IO_COM1 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&comcd, 0, NORM, loc+ 49, 0, pv+36, 0}, |
| /* 8: com1 at isa0 port IO_COM2 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&comcd, 1, NORM, loc+ 56, 0, pv+36, 0}, |
| /* 9: com2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&comcd, 2, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 10: com3 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&comcd, 3, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 11: lp0 at isa0 port 0x378 nports 0 iomem 0 iosiz 0 irq 7 drq -1 bustype BUS_ISA */ |
| {&lpcd, 0, NORM, loc+ 70, 0x1, pv+36, 0}, |
| /* 12: lp0 at isa0 port 0x3bc nports 0 iomem 0 iosiz 0 irq 7 drq -1 bustype BUS_ISA */ |
| {&lpcd, 0, NORM, loc+ 77, 0x1, pv+36, 0}, |
| /* 13: lp2 at isa0 port 0x3bc nports 0 iomem 0 iosiz 0 irq 7 drq -1 bustype BUS_ISA */ |
| {&lpcd, 2, NORM, loc+ 77, 0x1, pv+36, 0}, |
| /* 14: fdc0 at isa0 port IO_FD1 nports 0 iomem 0 iosiz 0 irq -1 drq 2 bustype BUS_ISA */ |
| {&fdccd, 0, NORM, loc+ 84, 0, pv+36, 0}, |
| /* 15: fd0 at fdc0 drive 0 */ |
| {&fdcd, 0, NORM, loc+394, 0, pv+40, 0}, |
| /* 16: fd1 at fdc0 drive 1 */ |
| {&fdcd, 1, NORM, loc+393, 0, pv+40, 0}, |
| /* 17: dpt0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ANY */ |
| {&dptcd, 0, NORM, loc+161, 0, pv+36, 0}, |
| /* 18: dpt* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ANY */ |
| {&dptcd, 1, STAR, loc+161, 0, pv+36, 0}, |
| /* 19: dpt0 at isa0 port 0x170 nports 0 iomem 0 iosiz 0 irq -1 drq 5 bustype BUS_ISA */ |
| {&dptcd, 0, NORM, loc+168, 0, pv+36, 0}, |
| /* 20: tg* at dpt0|dpt0|dpt*|wdpi*|ncr0|ncr1|ncr2|aic0|aic0|aic1|aic1|aic2|aic2|bha0|aha0|bha1|aha1|sa0|sa0|eaha0|eaha1|eaha2 target -1 */ |
| {&tgcd, 0, STAR, loc+392, 0, pv+ 0, 0}, |
| /* 21: wdc0 at isa0 port IO_WD1 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wdccd, 0, NORM, loc+175, 0, pv+36, 0}, |
| /* 22: wdc1 at isa0 port IO_WD2 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wdccd, 1, NORM, loc+182, 0, pv+36, 0}, |
| /* 23: wdc1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&wdccd, 1, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 24: wdc2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&wdccd, 2, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 25: wdpi* at wdc0|wdc1|wdc1|wdc2 drive -1 */ |
| {&wdpicd, 0, STAR, loc+392, 0, pv+23, 0}, |
| /* 26: wd0 at wdc0 drive 0 */ |
| {&wdcd, 0, NORM, loc+394, 0, pv+46, 0}, |
| /* 27: wd1 at wdc0 drive 1 */ |
| {&wdcd, 1, NORM, loc+393, 0, pv+46, 0}, |
| /* 28: wd2 at wdc1|wdc1 drive 0 */ |
| {&wdcd, 2, NORM, loc+394, 0, pv+33, 0}, |
| /* 29: wd3 at wdc1|wdc1 drive 1 */ |
| {&wdcd, 3, NORM, loc+393, 0, pv+33, 0}, |
| /* 30: wd4 at wdc2 drive 0 */ |
| {&wdcd, 4, NORM, loc+394, 0, pv+26, 0}, |
| /* 31: wd5 at wdc2 drive 1 */ |
| {&wdcd, 5, NORM, loc+393, 0, pv+26, 0}, |
| /* 32: wt0 at isa0 port 0x300 nports 0 iomem 0 iosiz 0 irq -1 drq 1 bustype BUS_ISA */ |
| {&wtcd, 0, NORM, loc+189, 0, pv+36, 0}, |
| /* 33: npx0 at isa0 port IO_NPX nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&npxcd, 0, NORM, loc+196, 0, pv+36, 0}, |
| /* 34: vga0 at isa0 port IO_VGA nports 0 iomem 0xa0000 iosiz 0x10000 irq -1 drq -1 bustype BUS_ISA */ |
| {&vgacd, 0, NORM, loc+203, 0, pv+36, 0}, |
| /* 35: bms0 at isa0 port 0x23c nports 0 iomem 0 iosiz 0 irq 5 drq -1 bustype BUS_ISA */ |
| {&bmscd, 0, NORM, loc+210, 0, pv+36, 0}, |
| /* 36: lms0 at isa0 port 0x23c nports 0 iomem 0 iosiz 0 irq 5 drq -1 bustype BUS_ISA */ |
| {&lmscd, 0, NORM, loc+210, 0, pv+36, 0}, |
| /* 37: mcd0 at isa0 port 0x334 nports 0 iomem 0 iosiz 0 irq 9 drq -1 bustype BUS_ISA */ |
| {&mcdcd, 0, NORM, loc+217, 0, pv+36, 0}, |
| /* 38: mcd0 at isa0 port 0x340 nports 0 iomem 0 iosiz 0 irq 9 drq -1 bustype BUS_ISA */ |
| {&mcdcd, 0, NORM, loc+224, 0, pv+36, 0}, |
| /* 39: ncr0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&ncrcd, 0, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 40: ncr1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&ncrcd, 1, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 41: ncr2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&ncrcd, 2, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 42: aic0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&aiccd, 0, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 43: aic1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&aiccd, 1, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 44: aic2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&aiccd, 2, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 45: aic0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&aiccd, 0, NORM, loc+ 0, 0, pv+36, 0}, |
| /* 46: aic1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&aiccd, 1, NORM, loc+ 0, 0, pv+36, 0}, |
| /* 47: aic2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&aiccd, 2, NORM, loc+ 0, 0, pv+36, 0}, |
| /* 48: bha0 at isa0 port 0x330 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&bhacd, 0, NORM, loc+126, 0, pv+36, 0}, |
| /* 49: aha0 at isa0 port 0x330 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&ahacd, 0, NORM, loc+126, 0, pv+36, 0}, |
| /* 50: bha1 at isa0 port 0x334 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&bhacd, 1, NORM, loc+231, 0, pv+36, 0}, |
| /* 51: aha1 at isa0 port 0x334 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&ahacd, 1, NORM, loc+231, 0, pv+36, 0}, |
| /* 52: sa0 at isa0 port 0x340 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&sacd, 0, NORM, loc+238, 0, pv+36, 0}, |
| /* 53: sa0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&sacd, 0, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 54: sr* at tg* unit -1 */ |
| {&srcd, 0, STAR, loc+392, 0, pv+44, 0}, |
| /* 55: sd* at tg* unit -1 */ |
| {&sdcd, 0, STAR, loc+392, 0, pv+44, 0}, |
| /* 56: st* at tg* unit -1 */ |
| {&stcd, 0, STAR, loc+392, 0, pv+44, 0}, |
| /* 57: sg* at tg* unit -1 */ |
| {&sgcd, 0, STAR, loc+392, 0, pv+44, 0}, |
| /* 58: ne0 at isa0 port 0x320 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&necd, 0, NORM, loc+245, 0, pv+36, 0}, |
| /* 59: ne0 at isa0 port 0x340 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&necd, 0, NORM, loc+238, 0, pv+36, 0}, |
| /* 60: ne0 at isa0 port 0x360 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&necd, 0, NORM, loc+252, 0, pv+36, 0}, |
| /* 61: ne0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&necd, 0, NORM, loc+ 63, 0, pv+36, 0}, |
| /* 62: ep0 at isa0 port 0x240 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&epcd, 0, NORM, loc+259, 0, pv+36, 0}, |
| /* 63: ep0 at isa0 port 0x320 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&epcd, 0, NORM, loc+245, 0, pv+36, 0}, |
| /* 64: tn0 at isa0 port 0x320 nports 0 iomem 0 iosiz 0 irq -1 drq 3 bustype BUS_ISA */ |
| {&tncd, 0, NORM, loc+266, 0, pv+36, 0}, |
| /* 65: tn0 at isa0 port 0x340 nports 0 iomem 0 iosiz 0 irq -1 drq 3 bustype BUS_ISA */ |
| {&tncd, 0, NORM, loc+273, 0, pv+36, 0}, |
| /* 66: tn0 at isa0 port 0x360 nports 0 iomem 0 iosiz 0 irq -1 drq 3 bustype BUS_ISA */ |
| {&tncd, 0, NORM, loc+280, 0, pv+36, 0}, |
| /* 67: tn0 at isa0 port 0x300 nports 0 iomem 0 iosiz 0 irq -1 drq 3 bustype BUS_ISA */ |
| {&tncd, 0, NORM, loc+287, 0, pv+36, 0}, |
| /* 68: de* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ANY */ |
| {&decd, 0, STAR, loc+161, 0, pv+36, 0}, |
| /* 69: nsphy* at de*|exp*|eb*|tl* phy -1 */ |
| {&nsphycd, 0, STAR, loc+392, 0, pv+28, 0}, |
| /* 70: ics90p* at de* phy -1 */ |
| {&ics90pcd, 0, STAR, loc+392, 0, pv+38, 0}, |
| /* 71: exp* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&expcd, 0, STAR, loc+ 7, 0, pv+36, 0}, |
| /* 72: i555p* at exp* phy -1 */ |
| {&i555pcd, 0, STAR, loc+392, 0, pv+42, 0}, |
| /* 73: hpp0 at isa0 port 0x2c0 nports 0 iomem 0xc8000 iosiz 0x800 irq -1 drq -1 bustype BUS_ISA */ |
| {&hppcd, 0, NORM, loc+294, 0, pv+36, 0}, |
| /* 74: hpp0 at isa0 port 0x300 nports 0 iomem 0xc8000 iosiz 0x800 irq -1 drq -1 bustype BUS_ISA */ |
| {&hppcd, 0, NORM, loc+301, 0, pv+36, 0}, |
| /* 75: re0 at isa0 port 0x240 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+259, 0, pv+36, 0}, |
| /* 76: re0 at isa0 port 0x260 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+147, 0, pv+36, 0}, |
| /* 77: re0 at isa0 port 0x280 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+ 91, 0, pv+36, 0}, |
| /* 78: re0 at isa0 port 0x2a0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+ 98, 0, pv+36, 0}, |
| /* 79: re0 at isa0 port 0x300 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+112, 0, pv+36, 0}, |
| /* 80: re0 at isa0 port 0x320 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+245, 0, pv+36, 0}, |
| /* 81: re0 at isa0 port 0x340 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+238, 0, pv+36, 0}, |
| /* 82: re0 at isa0 port 0x380 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&recd, 0, NORM, loc+308, 0, pv+36, 0}, |
| /* 83: eb* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&ebcd, 0, STAR, loc+ 7, 0, pv+36, 0}, |
| /* 84: ef0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&efcd, 0, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 85: ef1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&efcd, 1, NORM, loc+ 7, 0, pv+36, 0}, |
| /* 86: ef* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&efcd, 3, STAR, loc+ 7, 0, pv+36, 0}, |
| /* 87: ne* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&necd, 1, STAR, loc+ 7, 0, pv+36, 0}, |
| /* 88: tl* at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCI */ |
| {&tlcd, 0, STAR, loc+ 7, 0, pv+36, 0}, |
| /* 89: tn100a* at tl* phy -1 */ |
| {&tn100acd, 0, STAR, loc+392, 0, pv+31, 0}, |
| /* 90: we0 at isa0 port 0x280 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+315, 0, pv+36, 0}, |
| /* 91: we0 at isa0 port 0x2a0 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+322, 0, pv+36, 0}, |
| /* 92: we0 at isa0 port 0x2c0 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+329, 0, pv+36, 0}, |
| /* 93: we0 at isa0 port 0x2e0 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+336, 0, pv+36, 0}, |
| /* 94: we0 at isa0 port 0x300 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+343, 0, pv+36, 0}, |
| /* 95: we0 at isa0 port 0x320 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+350, 0, pv+36, 0}, |
| /* 96: we0 at isa0 port 0x340 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+357, 0, pv+36, 0}, |
| /* 97: we0 at isa0 port 0x360 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+364, 0, pv+36, 0}, |
| /* 98: we0 at isa0 port 0x380 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+371, 0, pv+36, 0}, |
| /* 99: we0 at isa0 port 0x3a0 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+378, 0, pv+36, 0}, |
| /*100: we0 at isa0 port 0x3e0 nports 0 iomem 0xd0000 iosiz 0x4000 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+385, 0, pv+36, 0}, |
| /*101: we0 at isa0 port 0x280 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+ 91, 0, pv+36, 0}, |
| /*102: we0 at isa0 port 0x2a0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+ 98, 0, pv+36, 0}, |
| /*103: we0 at isa0 port 0x2e0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+105, 0, pv+36, 0}, |
| /*104: we0 at isa0 port 0x300 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+112, 0, pv+36, 0}, |
| /*105: we0 at isa0 port 0x310 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+119, 0, pv+36, 0}, |
| /*106: we0 at isa0 port 0x330 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+126, 0, pv+36, 0}, |
| /*107: we0 at isa0 port 0x350 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&wecd, 0, NORM, loc+133, 0, pv+36, 0}, |
| /*108: ef0 at isa0 port 0x250 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&efcd, 0, NORM, loc+140, 0, pv+36, 0}, |
| /*109: ef1 at isa0 port 0x260 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&efcd, 1, NORM, loc+147, 0, pv+36, 0}, |
| /*110: ef0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&efcd, 0, NORM, loc+ 0, 0, pv+36, 0}, |
| /*111: ef1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&efcd, 1, NORM, loc+ 0, 0, pv+36, 0}, |
| /*112: ef2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&efcd, 2, NORM, loc+ 0, 0, pv+36, 0}, |
| /*113: ef0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&efcd, 0, NORM, loc+ 63, 0, pv+36, 0}, |
| /*114: el0 at isa0 port 0x310 nports 0 iomem 0xd0000 iosiz 0x10000 irq -1 drq -1 bustype BUS_ISA */ |
| {&elcd, 0, NORM, loc+154, 0, pv+36, 0}, |
| /*115: ex0 at isa0 port 0x260 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_ISA */ |
| {&excd, 0, NORM, loc+147, 0, pv+36, 0}, |
| /*116: cce0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&ccecd, 0, NORM, loc+ 63, 0, pv+36, 0}, |
| /*117: mz0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_PCMCIA */ |
| {&mzcd, 0, NORM, loc+ 63, 0, pv+36, 0}, |
| /*118: eaha0 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&eahacd, 0, NORM, loc+ 0, 0, pv+36, 0}, |
| /*119: eaha1 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&eahacd, 1, NORM, loc+ 0, 0, pv+36, 0}, |
| /*120: eaha2 at isa0 port 0 nports 0 iomem 0 iosiz 0 irq -1 drq -1 bustype BUS_EISA */ |
| {&eahacd, 2, NORM, loc+ 0, 0, pv+36, 0}, |
| {0} |
| }; |
| |
| short cfroots[] = { |
| 0 /* isa0 */, |
| -1 |
| }; |
| |
| /* pseudo-devices */ |
| extern void loopattach __P((int)); |
| extern void ptyattach __P((int)); |
| extern void slattach __P((int)); |
| extern void apppattach __P((int)); |
| extern void pifattach __P((int)); |
| extern void bpfilterattach __P((int)); |
| extern void rdattach __P((int)); |
| extern void tunattach __P((int)); |
| extern void apmattach __P((int)); |
| extern void ssattach __P((int)); |
| extern void csattach __P((int)); |
| extern void vndattach __P((int)); |
| |
| struct pdevinit pdevinit[] = { |
| { loopattach, 1 }, |
| { ptyattach, 1 }, |
| { slattach, 1 }, |
| { apppattach, 2 }, |
| { pifattach, 1 }, |
| { bpfilterattach, 10 }, |
| { rdattach, 1 }, |
| { tunattach, 2 }, |
| { apmattach, 1 }, |
| { ssattach, 4 }, |
| { csattach, 1 }, |
| { vndattach, 2 }, |
| { 0, 0 } |
| }; |
| #line 28 "../../i386/conf/ioconf.c.i386" |
| |
| |
| extern struct devsw cnsw, cttysw, mmsw, swapsw, logsw, devfdsw; |
| extern struct devsw ptssw, ptcsw; |
| extern struct devsw pcsw, kbdsw; |
| #if defined(IPFILTER) |
| extern struct devsw iplsw; |
| #endif |
| |
| extern struct devsw tgsw; |
| extern struct devsw sdsw; |
| extern struct devsw srsw; |
| extern struct devsw stsw; |
| extern struct devsw sgsw; |
| extern struct devsw apppsw; |
| extern struct devsw pifsw; |
| extern struct devsw bpfiltersw; |
| extern struct devsw loopsw; |
| extern struct devsw tunsw; |
| extern struct devsw ptysw; |
| extern struct devsw slsw; |
| extern struct devsw vndsw; |
| extern struct devsw rdsw; |
| extern struct devsw isasw; |
| extern struct devsw pcconssw; |
| extern struct devsw pcauxsw; |
| extern struct devsw comsw; |
| extern struct devsw lpsw; |
| extern struct devsw fdcsw; |
| extern struct devsw fdsw; |
| extern struct devsw dptsw; |
| extern struct devsw wdcsw; |
| extern struct devsw wdsw; |
| extern struct devsw wdpisw; |
| extern struct devsw mcdsw; |
| extern struct devsw wtsw; |
| extern struct devsw npxsw; |
| extern struct devsw vgasw; |
| extern struct devsw bmssw; |
| extern struct devsw lmssw; |
| extern struct devsw ahasw; |
| extern struct devsw bhasw; |
| extern struct devsw nesw; |
| extern struct devsw epsw; |
| extern struct devsw sasw; |
| extern struct devsw ncrsw; |
| extern struct devsw saturnsw; |
| extern struct devsw aicsw; |
| extern struct devsw tnsw; |
| extern struct devsw hppsw; |
| extern struct devsw resw; |
| extern struct devsw wesw; |
| extern struct devsw tlsw; |
| extern struct devsw ebsw; |
| extern struct devsw efsw; |
| extern struct devsw elsw; |
| extern struct devsw exsw; |
| extern struct devsw eahasw; |
| extern struct devsw apmsw; |
| extern struct devsw sssw; |
| extern struct devsw cssw; |
| extern struct devsw pcicsw; |
| extern struct devsw ccesw; |
| extern struct devsw mzsw; |
| extern struct devsw desw; |
| extern struct devsw expsw; |
| extern struct devsw nsphysw; |
| extern struct devsw ics90psw; |
| extern struct devsw i555psw; |
| extern struct devsw tn100asw; |
| #line 37 "../../i386/conf/ioconf.c.i386" |
| |
| |
| struct devsw *devsw[] = { |
| &cnsw, /* 0 = virtual console */ |
| &cttysw, /* 1 = controlling terminal */ |
| &mmsw, /* 2 = /dev/{null,mem,kmem,...} */ |
| &wdsw, /* 3 = st506/rll/esdi/ide disk */ |
| &swapsw, /* 4 = /dev/drum (swap pseudo-device) */ |
| &ptssw, /* 5 = pseudo-tty slave */ |
| &ptcsw, /* 6 = pseudo-tty master */ |
| &logsw, /* 7 = /dev/klog */ |
| &comsw, /* 8 = serial communications ports */ |
| &fdsw, /* 9 = floppy disk */ |
| &wtsw, /* 10 = QIC-02/36 cartridge tape */ |
| NULL, /* 11 = RISCom/N8 async mux */ |
| &pcsw, /* 12 = vga console */ |
| &pcauxsw, /* 13 = console/keyboard aux port */ |
| &bpfiltersw, /* 14 = berkeley packet filter */ |
| &devfdsw, /* 15 = file descriptor devices */ |
| &vgasw, /* 16 = VGA display for X */ |
| &kbdsw, /* 17 = Keyboard device (excl from cn) */ |
| &sdsw, /* 18 = SCSI disk pseudo-device (sd) */ |
| &stsw, /* 19 = SCSI tape pseudo-device */ |
| &lpsw, /* 20 = printer on a parallel port */ |
| &bmssw, /* 21 = Microsoft Bus Mouse */ |
| NULL, /* 22 = Midi device (RETIRED) */ |
| &mcdsw, /* 23 = Mitsumi CD-ROM */ |
| NULL, /* 24 = Maxpeed Async Mux */ |
| &lmssw, /* 25 = Logitec Bus Mouse */ |
| NULL, /* 26 = DigiBoard PC/X[ei] */ |
| NULL, /* 27 = Specialix multiplexor */ |
| NULL, /* 28 = SoundBlaster Pro (RETIRED) */ |
| NULL, /* 29 = Chase IOPRO control driver */ |
| NULL, /* 30 = Chase IOPRO data driver */ |
| NULL, /* 31 = Equinox tty */ |
| NULL, /* 32 = Concatenated disk pseudo-device */ |
| NULL, /* 33 = Voxware sound system */ |
| &srsw, /* 34 = SCSI removeable disks (clone of sd) */ |
| NULL, /* 35 = Comtrol Rocketport */ |
| NULL, /* 36 = Cyclades async mux */ |
| NULL, /* 37 = Disk splicing driver */ |
| &dptsw, /* 38 = DPT config driver */ |
| &sgsw, /* 39 = SCSI generic driver, catch all */ |
| NULL, /* 40 = Stallion async mux */ |
| NULL, /* 41 = Stallion intelligent async mux */ |
| &vndsw, /* 42 = vnode disk driver */ |
| NULL, /* 43 = Connectix QuickCam */ |
| &rdsw, /* 44 = ram disk driver */ |
| &tunsw, /* 45 = Tunnel Network Interface */ |
| #if defined(IPFILTER) |
| &iplsw, /* 46 = IP Filter */ |
| #else |
| NULL, /* 46 = (unused) */ |
| #endif |
| NULL, /* 47 = (unused) */ |
| NULL, /* 48 = (unused) */ |
| NULL, /* 49 = (unused) */ |
| &apmsw, /* 50 = APM Interface module */ |
| &cssw, /* 51 = PCMCIA CS Interface module */ |
| NULL, /* 52 = Focus Video Capture */ |
| NULL, /* 53 = PCMCIA SRAM Drive */ |
| }; |
| #define NDEVSW (sizeof(devsw) / sizeof(*devsw)) |
| int ndevsw = NDEVSW; |
| |
| #ifdef COMPAT_DEV |
| /* cross-correlation to devsw[] above, from old bdevsw index */ |
| /* (i.e., devsw[blktodev[i]] is the driver for old block device i) */ |
| int blktodev[7] = { |
| 3, /* 0 = wd = 3 */ |
| 4, /* 1 = swap = 4 */ |
| 9, /* 2 = floppy = 9 */ |
| 10, /* 3 = wt = 10 */ |
| 18, /* 4 = sd = 18 */ |
| 19, /* 5 = st = 19 */ |
| 23, /* 6 = mcd = 23 */ |
| }; |
| #endif |
| |
| /* |
| * Swapdev is a fake device implemented |
| * in vm_swap.c used only internally to get to swstrategy. |
| * It cannot be provided to the users, because the |
| * swstrategy routine munches the b_dev and b_blkno entries |
| * before calling the appropriate driver. This would horribly |
| * confuse, e.g. the hashing routines. Instead, /dev/drum is |
| * provided as a character (raw) device. |
| */ |
| dev_t swapdev = makedev(4, 0); |
| |
| /* |
| * Routine that identifies /dev/mem and /dev/kmem. |
| * |
| * A minimal stub routine can always return 0. |
| */ |
| iskmemdev(dev) |
| dev_t dev; |
| { |
| |
| return (major(dev) == 2 && (minor(dev) == 0 || minor(dev) == 1)); |
| } |
| |
| iszerodev(dev) |
| dev_t dev; |
| { |
| return (major(dev) == 2 && minor(dev) == 12); |
| } |
| |
| #ifdef COMPAT_DEV |
| #include <sys/vnode.h> |
| |
| int |
| devcompat(dev, type) |
| dev_t dev; |
| int type; |
| { |
| int maj, min, unit = 0; |
| |
| if (dev > USHRT_MAX) |
| return (dev); |
| maj = dev >> 8; |
| min = dev & 0xff; |
| if (type == VBLK && maj < sizeof(blktodev) / sizeof(blktodev[0])) |
| maj = blktodev[maj]; |
| switch (maj) { |
| case 3: /* 0 = wd = 3 */ |
| case 9: /* 2 = floppy = 9 */ |
| case 18: /* 4 = sd = 18 */ |
| case 23: /* 6 = mcd = 23 */ |
| unit = min >> 3; /* drive */ |
| min &= 0x7; /* partition */ |
| break; |
| |
| case 10: /* 3 = wt = 10 */ |
| case 19: /* 5 = st = 19 */ |
| unit = min & 3; /* unit */ |
| min >>= 2; /* rewind, density */ |
| break; |
| } |
| return (dv_makedev(maj, unit, min)); |
| } |
| #endif |