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

Annotation of sys/arch/arm/arm/conf.c, Revision 1.1

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

CVSweb