[BACK]Return to conf.c CVS log [TXT][DIR] Up to [local] / sys / arch / landisk / landisk

Annotation of sys/arch/landisk/landisk/conf.c, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: conf.c,v 1.6 2007/05/28 22:26:03 todd Exp $   */
                      2:
                      3: /*
                      4:  * Copyright (c) 1994-1998 Mark Brinicombe.
                      5:  * All rights reserved.
                      6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *     This product includes software developed by Mark Brinicombe
                     18:  *     for the NetBSD Project.
                     19:  * 4. The name of the company nor the name of the author may be used to
                     20:  *    endorse or promote products derived from this software without specific
                     21:  *    prior written permission.
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
                     24:  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
                     25:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     26:  * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
                     27:  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
                     28:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     29:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     30:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     31:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     32:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     33:  * SUCH DAMAGE.
                     34:  *
                     35:  * RiscBSD kernel project
                     36:  *
                     37:  * conf.c
                     38:  *
                     39:  * Character and Block Device configuration
                     40:  * Console configuration
                     41:  *
                     42:  * Defines the structures cdevsw and constab
                     43:  *
                     44:  * Created      : 17/09/94
                     45:  */
                     46:
                     47: #include <sys/param.h>
                     48: #include <sys/systm.h>
                     49: #include <sys/buf.h>
                     50: #include <sys/ioctl.h>
                     51: #include <sys/tty.h>
                     52: #include <sys/conf.h>
                     53: #include <sys/vnode.h>
                     54:
                     55: #include <machine/conf.h>
                     56:
                     57: #include "inet.h"
                     58:
                     59: /*
                     60:  * From this point, these need to be MI foo.h files.
                     61:  */
                     62:
                     63: /*
                     64:  * Standard MI devices (e.g. ones in dev/ic)
                     65:  */
                     66: #include "com.h"               /* NS164x0 serial ports */
                     67:
                     68: /*
                     69:  * Standard pseudo-devices
                     70:  */
                     71: #include "bpfilter.h"
                     72: #include "pf.h"
                     73: #include "bio.h"
                     74: #include "pty.h"
                     75: #include "tun.h"
                     76: #include "ksyms.h"
                     77:
                     78: /*
                     79:  * APM interface
                     80:  */
                     81: #ifdef CONF_HAVE_APM
                     82: #include "apm.h"
                     83: #else
                     84: #define NAPM   0
                     85: #endif
                     86:
                     87: /*
                     88:  * Disk/Filesystem pseudo-devices
                     89:  */
                     90: #include "ccd.h"                       /* concatenated disk driver */
                     91: #include "rd.h"                                /* memory disk driver */
                     92: #include "raid.h"                      /* RAIDframe */
                     93: #include "vnd.h"                       /* vnode disk driver */
                     94:
                     95: /*
                     96:  * WD/ATA devices
                     97:  */
                     98: #include "wd.h"
                     99: bdev_decl(wd);
                    100: bdev_decl(sw);
                    101:
                    102: #ifdef USER_PCICONF
                    103: #include "pci.h"
                    104: cdev_decl(pci);
                    105: #endif
                    106:
                    107: /*
                    108:  * SCSI/ATAPI devices
                    109:  */
                    110: #include "sd.h"
                    111: #include "st.h"
                    112: #include "cd.h"
                    113: #include "ch.h"
                    114: #include "uk.h"
                    115: #include "ss.h"
                    116:
                    117: /*
                    118:  * Audio devices
                    119:  */
                    120: #include "audio.h"
                    121: #include "midi.h"
                    122: #include "sequencer.h"
                    123:
                    124: /*
                    125:  * USB devices
                    126:  */
                    127: #include "usb.h"
                    128: #include "ucom.h"
                    129: #include "ugen.h"
                    130: #include "uhid.h"
                    131: #include "ulpt.h"
                    132: #include "urio.h"
                    133: #include "uscanner.h"
                    134:
                    135: /*
                    136:  * WSCONS devices
                    137:  */
                    138: #if 0
                    139: #include "wsdisplay.h"
                    140: /*
                    141: #include "wsfont.h"
                    142: */
                    143: #include "wskbd.h"
                    144: #include "wsmouse.h"
                    145: #include "wsmux.h"
                    146: #else
                    147: #define        NWSDISPLAY      0
                    148: #define        NWSMOUSE        0
                    149: #define        NWSKBD  0
                    150: #define        NWSMUX  0
                    151: #endif
                    152: cdev_decl(wskbd);
                    153: cdev_decl(wsmouse);
                    154:
                    155: #include "lpt.h"
                    156: #include "radio.h"
                    157: cdev_decl(radio);
                    158:
                    159: /* Block devices */
                    160:
                    161: struct bdevsw bdevsw[] = {
                    162:        bdev_lkm_dummy(),               /*  0: */
                    163:        bdev_swap_init(1, sw),          /*  1: swap pseudo-device */
                    164:        bdev_lkm_dummy(),               /*  2: */
                    165:        bdev_lkm_dummy(),               /*  3: */
                    166:        bdev_lkm_dummy(),               /*  4: */
                    167:        bdev_lkm_dummy(),               /*  5: */
                    168:        bdev_lkm_dummy(),               /*  6: */
                    169:        bdev_lkm_dummy(),               /*  7: */
                    170:        bdev_lkm_dummy(),               /*  8: */
                    171:        bdev_lkm_dummy(),               /*  9: */
                    172:        bdev_lkm_dummy(),               /* 10: */
                    173:        bdev_lkm_dummy(),               /* 11: */
                    174:        bdev_lkm_dummy(),               /* 12: */
                    175:        bdev_lkm_dummy(),               /* 13: */
                    176:        bdev_lkm_dummy(),               /* 14: */
                    177:        bdev_lkm_dummy(),               /* 15: */
                    178:        bdev_disk_init(NWD,wd),         /* 16: Internal IDE disk */
                    179:        bdev_lkm_dummy(),               /* 17: */
                    180:        bdev_disk_init(NRD,rd),         /* 18: memory disk */
                    181:        bdev_disk_init(NVND,vnd),       /* 19: vnode disk driver */
                    182:        bdev_lkm_dummy(),               /* 20: */
                    183:        bdev_disk_init(NCCD,ccd),       /* 21: concatenated disk driver */
                    184:        bdev_lkm_dummy(),               /* 22: */
                    185:        bdev_lkm_dummy(),               /* 23: */
                    186:        bdev_disk_init(NSD,sd),         /* 24: SCSI disk */
                    187:        bdev_tape_init(NST,st),         /* 25: SCSI tape */
                    188:        bdev_disk_init(NCD,cd),         /* 26: SCSI cdrom */
                    189:        bdev_lkm_dummy(),               /* 27: */
                    190:        bdev_lkm_dummy(),               /* 28: */
                    191:        bdev_lkm_dummy(),               /* 29: */
                    192:        bdev_lkm_dummy(),               /* 30: */
                    193:        bdev_lkm_dummy(),               /* 31: */
                    194:        bdev_lkm_dummy(),               /* 32: */
                    195:        bdev_lkm_dummy(),               /* 33: */
                    196:        bdev_lkm_dummy(),               /* 34: */
                    197:        bdev_lkm_dummy(),               /* 35: */
                    198:        bdev_lkm_dummy(),               /* 36: */
                    199:        bdev_lkm_dummy(),               /* 37: */
                    200:        bdev_lkm_dummy(),               /* 38: */
                    201:        bdev_lkm_dummy(),               /* 39: */
                    202:        bdev_lkm_dummy(),               /* 40: */
                    203:        bdev_lkm_dummy(),               /* 41: */
                    204:        bdev_lkm_dummy(),               /* 42: */
                    205:        bdev_lkm_dummy(),               /* 43: */
                    206:        bdev_lkm_dummy(),               /* 44: */
                    207:        bdev_lkm_dummy(),               /* 45: */
                    208:        bdev_lkm_dummy(),               /* 46: */
                    209:        bdev_lkm_dummy(),               /* 47: */
                    210:        bdev_lkm_dummy(),               /* 48: */
                    211:        bdev_lkm_dummy(),               /* 49: */
                    212:        bdev_lkm_dummy(),               /* 50: */
                    213:        bdev_lkm_dummy(),               /* 51: */
                    214:        bdev_lkm_dummy(),               /* 52: */
                    215:        bdev_lkm_dummy(),               /* 53: */
                    216:        bdev_lkm_dummy(),               /* 54: */
                    217:        bdev_lkm_dummy(),               /* 55: */
                    218:        bdev_lkm_dummy(),               /* 56: */
                    219:        bdev_lkm_dummy(),               /* 57: */
                    220:        bdev_lkm_dummy(),               /* 58: */
                    221:        bdev_lkm_dummy(),               /* 59: */
                    222:        bdev_lkm_dummy(),               /* 60: */
                    223:        bdev_lkm_dummy(),               /* 61: */
                    224:        bdev_lkm_dummy(),               /* 62: */
                    225:        bdev_lkm_dummy(),               /* 63: */
                    226:        bdev_lkm_dummy(),               /* 64: */
                    227:        bdev_lkm_dummy(),               /* 65: */
                    228:        bdev_lkm_dummy(),               /* 66: */
                    229:        bdev_lkm_dummy(),               /* 67: */
                    230:        bdev_lkm_dummy(),               /* 68: */
                    231:        bdev_lkm_dummy(),               /* 69: */
                    232:        bdev_lkm_dummy(),               /* 70: */
                    233:        bdev_disk_init(NRAID,raid),     /* 71: RAIDframe disk driver */
                    234:        bdev_lkm_dummy(),               /* 72: */
                    235:        bdev_lkm_dummy(),               /* 73: */
                    236:        bdev_lkm_dummy(),               /* 74: */
                    237:        bdev_lkm_dummy(),               /* 75: */
                    238:        bdev_lkm_dummy(),               /* 76: */
                    239:        bdev_lkm_dummy(),               /* 77: */
                    240:        bdev_lkm_dummy(),               /* 78: */
                    241:        bdev_lkm_dummy(),               /* 79: */
                    242:        bdev_lkm_dummy(),               /* 80: */
                    243:        bdev_lkm_dummy(),               /* 81: */
                    244:        bdev_lkm_dummy(),               /* 82: */
                    245:        bdev_lkm_dummy(),               /* 83: */
                    246:        bdev_lkm_dummy(),               /* 84: */
                    247:        bdev_lkm_dummy(),               /* 85: */
                    248:        bdev_lkm_dummy(),               /* 86: */
                    249:        bdev_lkm_dummy(),               /* 87: */
                    250:        bdev_lkm_dummy(),               /* 88: */
                    251:        bdev_lkm_dummy(),               /* 89: */
                    252:        bdev_lkm_dummy(),               /* 90: */
                    253:        bdev_lkm_dummy(),               /* 91: */
                    254:        bdev_lkm_dummy(),               /* 93: */
                    255:        bdev_lkm_dummy(),               /* 94: */
                    256:        bdev_lkm_dummy(),               /* 95: */
                    257:        bdev_lkm_dummy(),               /* 96: */
                    258:        bdev_lkm_dummy(),               /* 97: */
                    259: };
                    260:
                    261: /* Character devices */
                    262: #define ptstty          ptytty
                    263: #define ptsioctl        ptyioctl
                    264: #define ptctty          ptytty
                    265: #define ptcioctl        ptyioctl
                    266:
                    267: #ifdef XFS
                    268: #include <xfs/nxfs.h>
                    269: cdev_decl(xfs_dev);
                    270: #endif
                    271: #include "systrace.h"
                    272:
                    273: #include "hotplug.h"
                    274: #include "scif.h"
                    275:
                    276: #ifdef CONF_HAVE_GPIO
                    277: #include "gpio.h"
                    278: #else
                    279: #define        NGPIO 0
                    280: #endif
                    281:
                    282: struct cdevsw cdevsw[] = {
                    283:        cdev_cn_init(1,cn),                     /*  0: virtual console */
                    284:        cdev_ctty_init(1,ctty),                 /*  1: controlling terminal */
                    285:        cdev_mm_init(1,mm),                     /*  2: /dev/{null,mem,kmem,...} */
                    286:        cdev_swap_init(1,sw),                   /*  3: /dev/drum (swap pseudo-device) */
                    287:        cdev_tty_init(NPTY,pts),                /*  4: pseudo-tty slave */
                    288:        cdev_ptc_init(NPTY,ptc),                /*  5: pseudo-tty master */
                    289:        cdev_log_init(1,log),                   /*  6: /dev/klog */
                    290:        cdev_fd_init(1,filedesc),               /*  7: file descriptor pseudo-device */
                    291:        cdev_ksyms_init(NKSYMS,ksyms),          /*  8: Kernel symbols device */
                    292:        cdev_lkm_dummy(),                       /*  9: */
                    293:        cdev_lkm_dummy(),                       /* 10: */
                    294:        cdev_tty_init(NSCIF,scif),              /* 11: scif */
                    295:        cdev_tty_init(NCOM,com),                /* 12: serial port */
                    296:        cdev_gpio_init(NGPIO,gpio),             /* 13: GPIO interface */
                    297:        cdev_lkm_dummy(),                       /* 14: */
                    298:        cdev_lkm_dummy(),                       /* 15: */
                    299:        cdev_disk_init(NWD,wd),                 /* 16: ST506/ESDI/IDE disk */
                    300:        cdev_lkm_dummy(),                       /* 17: */
                    301:        cdev_disk_init(NRD,rd),                 /* 18: ram disk driver */
                    302:        cdev_disk_init(NVND,vnd),               /* 19: vnode disk driver */
                    303:        cdev_lkm_dummy(),                       /* 20: */
                    304:        cdev_disk_init(NCCD,ccd),               /* 21: concatenated disk driver */
                    305:        cdev_bpftun_init(NBPFILTER,bpf),        /* 22: Berkeley packet filter */
                    306:        cdev_lkm_dummy(),                       /* 23: */
                    307:        cdev_disk_init(NSD,sd),                 /* 24: SCSI disk */
                    308:        cdev_tape_init(NST,st),                 /* 25: SCSI tape */
                    309:        cdev_disk_init(NCD,cd),                 /* 26: SCSI CD-ROM */
                    310:        cdev_ch_init(NCH,ch),                   /* 27: SCSI autochanger */
                    311:        cdev_uk_init(NUK,uk),                   /* 28: SCSI unknown */
                    312:        cdev_scanner_init(NSS,ss),              /* 29: SCSI scanner */
                    313:        cdev_lkm_dummy(),                       /* 30: */
                    314:        cdev_lkm_dummy(),                       /* 31: */
                    315:        cdev_lkm_dummy(),                       /* 32: */
                    316:        cdev_bpftun_init(NTUN,tun),             /* 33: network tunnel */
                    317:        cdev_apm_init(NAPM,apm),                /* 34: APM interface */
                    318:        cdev_lkm_init(NLKM,lkm),                /* 35: loadable module driver */
                    319:        cdev_audio_init(NAUDIO,audio),          /* 36: generic audio I/O */
                    320:        cdev_hotplug_init(NHOTPLUG,hotplug),    /* 37: devices hot plugging*/
                    321:        cdev_bio_init(NBIO,bio),                /* 38: ioctl tunnel */
                    322:        cdev_lkm_dummy(),                       /* 39: reserved */
                    323:        cdev_random_init(1,random),             /* 40: random generator */
                    324:        cdev_lkm_dummy(),                       /* 41: reserved */
                    325:        cdev_lkm_dummy(),                       /* 42: reserved */
                    326:        cdev_lkm_dummy(),                       /* 43: reserved */
                    327:        cdev_lkm_dummy(),                       /* 44: reserved */
                    328:        cdev_lkm_dummy(),                       /* 45: reserved */
                    329:        cdev_pf_init(NPF,pf),                   /* 46: packet filter */
                    330:        cdev_crypto_init(NCRYPTO,crypto),       /* 47: /dev/crypto */
                    331:        cdev_lkm_dummy(),                       /* 48: reserved */
                    332:        cdev_lkm_dummy(),                       /* 49: reserved */
                    333:        cdev_systrace_init(NSYSTRACE,systrace), /* 50: system call tracing */
                    334: #ifdef XFS
                    335:        cdev_xfs_init(NXFS,xfs_dev),            /* 51: xfs communication device */
                    336: #else
                    337:        cdev_notdef(),                          /* 51: reserved */
                    338: #endif
                    339:        cdev_notdef(),                          /* 52: reserved */
                    340:        cdev_notdef(),                          /* 53: reserved */
                    341:        cdev_notdef(),                          /* 54: reserved */
                    342:        cdev_lkm_dummy(),                       /* 55: Reserved for bypass device */
                    343:        cdev_notdef(),                          /* 56: reserved */
                    344:        cdev_midi_init(NMIDI,midi),             /* 57: MIDI I/O */
                    345:        cdev_midi_init(NSEQUENCER,sequencer),   /* 58: sequencer I/O */
                    346:        cdev_notdef(),                          /* 59: reserved */
                    347:        cdev_wsdisplay_init(NWSDISPLAY,wsdisplay), /* 60: frame buffers, etc.*/
                    348:        cdev_mouse_init(NWSKBD,wskbd),          /* 61: keyboards */
                    349:        cdev_mouse_init(NWSMOUSE,wsmouse),      /* 62: mice */
                    350:        cdev_mouse_init(NWSMUX,wsmux),          /* 63: ws multiplexor */
                    351:        cdev_usb_init(NUSB,usb),                /* 64: USB controller */
                    352:        cdev_usbdev_init(NUHID,uhid),           /* 65: USB generic HID */
                    353:        cdev_lpt_init(NULPT,ulpt),              /* 66: USB printer */
                    354:        cdev_urio_init(NURIO,urio),             /* 67: Diamond Rio 500 */
                    355:        cdev_tty_init(NUCOM,ucom),              /* 68: USB tty */
                    356:        cdev_usbdev_init(NUSCANNER,uscanner),   /* 69: USB scanner */
                    357:        cdev_usbdev_init(NUGEN,ugen),           /* 70: USB generic driver */
                    358:        cdev_disk_init(NRAID,raid),             /* 71: RAIDframe disk driver */
                    359:        cdev_lkm_dummy(),                       /* 72: reserved */
                    360:        cdev_lkm_dummy(),                       /* 73: reserved */
                    361:        cdev_lkm_dummy(),                       /* 74: reserved */
                    362:        cdev_lkm_dummy(),                       /* 75: reserved */
                    363:        cdev_lkm_dummy(),                       /* 76: reserved */
                    364:        cdev_notdef(),                          /* 77: removed device */
                    365:        cdev_notdef(),                          /* 78: removed device */
                    366:        cdev_notdef(),                          /* 79: removed device */
                    367:        cdev_notdef(),                          /* 80: removed device */
                    368:        cdev_notdef(),                          /* 81: removed device */
                    369:        cdev_notdef(),                          /* 82: removed device */
                    370:        cdev_notdef(),                          /* 83: removed device */
                    371:        cdev_notdef(),                          /* 84: removed device */
                    372:        cdev_notdef(),                          /* 85: removed device */
                    373:        cdev_notdef(),                          /* 86: removed device */
                    374:        cdev_notdef(),                          /* 87: removed device */
                    375: #ifdef USER_PCICONF
                    376:        cdev_pci_init(NPCI,pci),                /* 88: PCI user */
                    377: #else
                    378:        cdev_notdef(),
                    379: #endif
                    380:        cdev_notdef(),                          /* 89: removed device */
                    381:        cdev_notdef(),                          /* 90: removed device */
                    382:        cdev_notdef(),                          /* 91: removed device */
                    383:        cdev_notdef(),                          /* 92: removed device */
                    384:        cdev_notdef(),                          /* 93: removed device */
                    385:        cdev_notdef(),                          /* 94: removed device */
                    386:        cdev_notdef(),                          /* 95: removed device */
                    387:        cdev_notdef(),                          /* 96: removed device */
                    388:        cdev_radio_init(NRADIO,radio),          /* 97: generic radio I/O */
                    389:        cdev_ptm_init(NPTY,ptm),                /* 98: pseudo-tty ptm device */
                    390: };
                    391:
                    392: int nblkdev = sizeof(bdevsw) / sizeof(bdevsw[0]);
                    393: int nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]);
                    394:
                    395: int mem_no = 2;        /* major device number of memory special file */
                    396:
                    397: /*
                    398:  * Swapdev is a fake device implemented
                    399:  * in sw.c used only internally to get to swstrategy.
                    400:  * It cannot be provided to the users, because the
                    401:  * swstrategy routine munches the b_dev and b_blkno entries
                    402:  * before calling the appropriate driver.  This would horribly
                    403:  * confuse, e.g. the hashing routines. Instead, /dev/drum is
                    404:  * provided as a character (raw) device.
                    405:  */
                    406: dev_t  swapdev = makedev(1, 0);
                    407:
                    408: /*
                    409:  * Returns true if dev is /dev/mem or /dev/kmem.
                    410:  */
                    411: int
                    412: iskmemdev(dev)
                    413:        dev_t dev;
                    414: {
                    415:        return (major(dev) == mem_no && minor(dev) < 2);
                    416: }
                    417:
                    418: /*
                    419:  * Returns true if dev is /dev/zero.
                    420:  */
                    421: int
                    422: iszerodev(dev)
                    423:        dev_t dev;
                    424: {
                    425:        return (major(dev) == mem_no && minor(dev) == 3);
                    426: }
                    427:
                    428:
                    429: int chrtoblktbl[] = {
                    430: /* XXXX This needs to be dynamic for LKMs. */
                    431:     /*VCHR*/        /*VBLK*/
                    432:     /*  0 */        NODEV,
                    433:     /*  1 */        1,
                    434:     /*  2 */        NODEV,
                    435:     /*  3 */        NODEV,
                    436:     /*  4 */        NODEV,
                    437:     /*  5 */        NODEV,
                    438:     /*  6 */        NODEV,
                    439:     /*  7 */        NODEV,
                    440:     /*  8 */        NODEV,
                    441:     /*  9 */        NODEV,
                    442:     /* 10 */        NODEV,
                    443:     /* 11 */        NODEV,
                    444:     /* 12 */        NODEV,
                    445:     /* 13 */        NODEV,
                    446:     /* 14 */        NODEV,
                    447:     /* 15 */        NODEV,
                    448:     /* 16 */        16,
                    449:     /* 17 */        17,
                    450:     /* 18 */        18,
                    451:     /* 19 */        19,
                    452:     /* 20 */        NODEV,
                    453:     /* 21 */        21,
                    454:     /* 22 */        NODEV,
                    455:     /* 23 */        NODEV,
                    456:     /* 24 */        24,
                    457:     /* 25 */        25,
                    458:     /* 26 */        26,
                    459:     /* 27 */        NODEV,
                    460:     /* 28 */        NODEV,
                    461:     /* 29 */        NODEV,
                    462:     /* 30 */        NODEV,
                    463:     /* 31 */        NODEV,
                    464:     /* 32 */        NODEV,
                    465:     /* 33 */        NODEV,
                    466:     /* 34 */        NODEV,
                    467:     /* 35 */        NODEV,
                    468:     /* 36 */        NODEV,
                    469:     /* 37 */        NODEV,
                    470:     /* 38 */        NODEV,
                    471:     /* 39 */        NODEV,
                    472:     /* 40 */        NODEV,
                    473:     /* 41 */        NODEV,
                    474:     /* 42 */        NODEV,
                    475:     /* 43 */        NODEV,
                    476:     /* 44 */        NODEV,
                    477:     /* 45 */        NODEV,
                    478:     /* 46 */        NODEV,
                    479:     /* 47 */        NODEV,
                    480:     /* 48 */        NODEV,
                    481:     /* 49 */        NODEV,
                    482:     /* 50 */        NODEV,
                    483:     /* 51 */        NODEV,
                    484:     /* 52 */        NODEV,
                    485:     /* 53 */        NODEV,
                    486:     /* 54 */        NODEV,
                    487:     /* 55 */        NODEV,
                    488:     /* 56 */       NODEV,
                    489:     /* 57 */       NODEV,
                    490:     /* 58 */       NODEV,
                    491:     /* 59 */        NODEV,
                    492:     /* 60 */        NODEV,
                    493:     /* 61 */        NODEV,
                    494:     /* 62 */        NODEV,
                    495:     /* 63 */        NODEV,
                    496:     /* 64 */        NODEV,
                    497:     /* 65 */        NODEV,
                    498:     /* 66 */       NODEV,
                    499:     /* 67 */       NODEV,
                    500:     /* 68 */       NODEV,
                    501:     /* 69 */       NODEV,
                    502:     /* 70 */       NODEV,
                    503:     /* 71 */       71,
                    504:     /* 72 */       NODEV,
                    505:     /* 73 */       NODEV,
                    506:     /* 74 */       NODEV,
                    507:     /* 75 */       NODEV,
                    508:     /* 76 */       NODEV,
                    509:     /* 77 */       NODEV,
                    510:     /* 78 */       NODEV,
                    511:     /* 79 */       NODEV,
                    512:     /* 80 */       NODEV,
                    513:     /* 81 */       NODEV,
                    514:     /* 82 */       NODEV,
                    515:     /* 83 */       NODEV,
                    516:     /* 84 */       NODEV,
                    517:     /* 85 */       NODEV,
                    518:     /* 86 */       NODEV,
                    519:     /* 87 */       NODEV,
                    520:     /* 88 */       NODEV,
                    521:     /* 89 */       NODEV,
                    522:     /* 90 */       NODEV,
                    523:     /* 91 */       NODEV,
                    524:     /* 92 */       92,
                    525:     /* 93 */       NODEV,
                    526:     /* 94 */       NODEV,
                    527:     /* 95 */       NODEV,
                    528:     /* 96 */       NODEV,
                    529:     /* 97 */       NODEV,
                    530: };
                    531: int nchrtoblktbl = sizeof(chrtoblktbl) / sizeof(chrtoblktbl[0]);
                    532:
                    533:
                    534: dev_t
                    535: getnulldev()
                    536: {
                    537:        return makedev(mem_no, 2);
                    538: }

CVSweb