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

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

1.1     ! nbrk        1: /*     $OpenBSD: conf.c,v 1.32 2007/07/24 10:18:24 mk Exp $ */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 1997 Per Fogelstrom
        !             5:  * Copyright (c) 1997 RTMX Inc, North Carolina
        !             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 under OpenBSD for RTMX Inc,
        !            18:  *     North Carolina, USA, by Per Fogelstrom, Opsycon AB, Sweden.
        !            19:  * 4. The name of the author may not be used to endorse or promote products
        !            20:  *    derived from this software without specific prior written permission.
        !            21:  *
        !            22:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
        !            23:  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        !            24:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            25:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
        !            26:  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            27:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            28:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            29:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            30:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            31:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            32:  * SUCH DAMAGE.
        !            33:  *
        !            34:  */
        !            35: #include <sys/param.h>
        !            36: #include <sys/buf.h>
        !            37: #include <sys/ioctl.h>
        !            38: #include <sys/systm.h>
        !            39: #include <sys/tty.h>
        !            40: #include <sys/vnode.h>
        !            41:
        !            42: #include <machine/conf.h>
        !            43:
        !            44: #include "sd.h"
        !            45: #include "st.h"
        !            46: #include "cd.h"
        !            47: #include "ss.h"
        !            48: #include "uk.h"
        !            49: #include "rd.h"
        !            50: #include "wd.h"
        !            51: bdev_decl(wd);
        !            52: cdev_decl(wd);
        !            53:
        !            54: #include "vnd.h"
        !            55: #include "ccd.h"
        !            56: #include "raid.h"
        !            57:
        !            58: struct bdevsw bdevsw[] = {
        !            59:        bdev_disk_init(NWD,wd),         /* 0: ST506/ESDI/IDE disk */
        !            60:        bdev_swap_init(1,sw),           /* 1 swap pseudo device */
        !            61:        bdev_disk_init(NSD,sd),         /* 2 SCSI Disk */
        !            62:        bdev_disk_init(NCD,cd),         /* 3 SCSI CD-ROM */
        !            63:        bdev_notdef(),                  /* 4 unknown*/
        !            64:        bdev_notdef(),                  /* 5 unknown*/
        !            65:        bdev_notdef(),                  /* 6 unknown*/
        !            66:        bdev_notdef(),                  /* 7 unknown*/
        !            67:        bdev_lkm_dummy(),               /* 8 */
        !            68:        bdev_lkm_dummy(),               /* 9 */
        !            69:        bdev_lkm_dummy(),               /* 10 */
        !            70:        bdev_lkm_dummy(),               /* 11 */
        !            71:        bdev_lkm_dummy(),               /* 12 */
        !            72:        bdev_lkm_dummy(),               /* 13 */
        !            73:        bdev_disk_init(NVND,vnd),       /* 14 vnode disk driver*/
        !            74:        bdev_notdef(),                  /* 15 unknown*/
        !            75:        bdev_disk_init(NCCD,ccd),       /* 16 concatenated disk driver*/
        !            76:        bdev_disk_init(NRD,rd),         /* 17 ram disk driver*/
        !            77:        bdev_notdef(),                  /* 18 unknown*/
        !            78:        bdev_disk_init(NRAID,raid),     /* 19: RAIDframe disk driver */
        !            79: };
        !            80: int nblkdev = sizeof bdevsw / sizeof bdevsw[0];
        !            81:
        !            82: #include "pty.h"
        !            83: #include "zstty.h"
        !            84:
        !            85: cdev_decl(kbd);
        !            86: cdev_decl(ms);
        !            87:
        !            88: #include "com.h"
        !            89: cdev_decl(com);
        !            90:
        !            91: #include "wsdisplay.h"
        !            92: #include "wskbd.h"
        !            93: #include "wsmouse.h"
        !            94:
        !            95: #include "iop.h"
        !            96:
        !            97: #include "bpfilter.h"
        !            98:
        !            99: #include "tun.h"
        !           100:
        !           101: #ifdef XFS
        !           102: #include <xfs/nxfs.h>
        !           103: cdev_decl(xfs_dev);
        !           104: #endif
        !           105:
        !           106: #ifdef LKM
        !           107: #define NLKM 1
        !           108: #else
        !           109: #define NLKM 0
        !           110: #endif
        !           111:
        !           112: #include "ksyms.h"
        !           113: #include "usb.h"
        !           114: #include "uhid.h"
        !           115: #include "ugen.h"
        !           116: #include "ulpt.h"
        !           117: #include "urio.h"
        !           118: #include "ucom.h"
        !           119: #include "uscanner.h"
        !           120:
        !           121: #include "inet.h"
        !           122:
        !           123: #include "apm.h"
        !           124: #include "bthub.h"
        !           125:
        !           126: #include "wsmux.h"
        !           127:
        !           128: #ifdef USER_PCICONF
        !           129: #include "pci.h"
        !           130: cdev_decl(pci);
        !           131: #endif
        !           132:
        !           133: #include "audio.h"
        !           134:
        !           135: #include "pf.h"
        !           136:
        !           137: #include "systrace.h"
        !           138:
        !           139: #include "radio.h"
        !           140: #include "bktr.h"
        !           141: #include "hotplug.h"
        !           142: #include "gpio.h"
        !           143: #include "bio.h"
        !           144:
        !           145: struct cdevsw cdevsw[] = {
        !           146:        cdev_cn_init(1,cn),             /* 0: virtual console */
        !           147:        cdev_ctty_init(1,ctty),         /* 1: controlling terminal */
        !           148:        cdev_mm_init(1,mm),             /* 2: /dev/{null,mem,kmem,...} */
        !           149:        cdev_swap_init(1,sw),           /* 3: /dev/drum (swap pseudo-device) */
        !           150:        cdev_tty_init(NPTY,pts),        /* 4: pseudo-tty slave */
        !           151:        cdev_ptc_init(NPTY,ptc),        /* 5: pseudo-tty master */
        !           152:        cdev_log_init(1,log),           /* 6: /dev/klog */
        !           153:        cdev_tty_init(NZSTTY,zs),       /* 7: Serial ports */
        !           154:        cdev_disk_init(NSD,sd),         /* 8: SCSI disk */
        !           155:        cdev_disk_init(NCD,cd),         /* 9: SCSI CD-ROM */
        !           156:        cdev_notdef(),                  /* 10: SCSI changer */
        !           157:        cdev_disk_init(NWD,wd),         /* 11: ST506/ESDI/IDE disk */
        !           158:        cdev_notdef(),                  /* 12 */
        !           159:        cdev_notdef(),                  /* 13 */
        !           160:        cdev_notdef(),                  /* 14 */
        !           161:        cdev_notdef(),                  /* 15 */
        !           162:        cdev_notdef(),                  /* 16 */
        !           163:        cdev_disk_init(NRD,rd),         /* 17 ram disk driver*/
        !           164:        cdev_disk_init(NCCD,ccd),       /* 18 concatenated disk driver */
        !           165:        cdev_disk_init(NVND,vnd),       /* 19: vnode disk */
        !           166:        cdev_tape_init(NST,st),         /* 20: SCSI tape */
        !           167:        cdev_fd_init(1,filedesc),       /* 21: file descriptor pseudo-dev */
        !           168:        cdev_bpftun_init(NBPFILTER,bpf),/* 22: berkeley packet filter */
        !           169:        cdev_bpftun_init(NTUN,tun),     /* 23: network tunnel */
        !           170:        cdev_lkm_init(NLKM,lkm),        /* 24: loadable module driver */
        !           171:        cdev_apm_init(NAPM,apm),        /* 25: APM interface */
        !           172:        cdev_tty_init(NCOM,com),        /* 26: Serial Ports via com(4) */
        !           173:        cdev_notdef(),                  /* 27 */
        !           174:        cdev_notdef(),                  /* 28 */
        !           175:        cdev_notdef(),                  /* 29 */
        !           176:        cdev_notdef(),                  /* 30 */
        !           177:        cdev_notdef(),                  /* 31 */
        !           178:        cdev_notdef(),                  /* 32 */
        !           179:        cdev_lkm_dummy(),               /* 33 */
        !           180:        cdev_lkm_dummy(),               /* 34 */
        !           181:        cdev_lkm_dummy(),               /* 35 */
        !           182:        cdev_lkm_dummy(),               /* 36 */
        !           183:        cdev_lkm_dummy(),               /* 37 */
        !           184:        cdev_lkm_dummy(),               /* 38 */
        !           185:        cdev_pf_init(NPF,pf),           /* 39: packet filter */
        !           186:        cdev_random_init(1,random),     /* 40: random data source */
        !           187:        cdev_uk_init(NUK,uk),           /* 41: unknown SCSI */
        !           188:        cdev_ss_init(NSS,ss),           /* 42: SCSI scanner */
        !           189:        cdev_ksyms_init(NKSYMS,ksyms),  /* 43: Kernel symbols device */
        !           190:        cdev_audio_init(NAUDIO,audio),  /* 44: generic audio I/O */
        !           191:        cdev_notdef(),                  /* 45 */
        !           192:        cdev_notdef(),                  /* 46 */
        !           193:        cdev_crypto_init(NCRYPTO,crypto), /* 47: /dev/crypto */
        !           194:        cdev_notdef(),                  /* 48 */
        !           195:        cdev_notdef(),                  /* 49 */
        !           196:        cdev_systrace_init(NSYSTRACE,systrace), /* 50 system call tracing */
        !           197: #ifdef XFS
        !           198:        cdev_xfs_init(NXFS,xfs_dev),    /* 51: xfs communication device */
        !           199: #else
        !           200:        cdev_notdef(),                  /* 51 */
        !           201: #endif
        !           202:        cdev_notdef(),                  /* 52 */
        !           203:        cdev_notdef(),                  /* 53 */
        !           204:        cdev_disk_init(NRAID,raid),     /* 54: RAIDframe disk driver */
        !           205:        cdev_notdef(),                  /* 55 */
        !           206:        /* The following slots are reserved for isdn4bsd. */
        !           207:        cdev_notdef(),                  /* 56: i4b main device */
        !           208:        cdev_notdef(),                  /* 57: i4b control device */
        !           209:        cdev_notdef(),                  /* 58: i4b raw b-channel access */
        !           210:        cdev_notdef(),                  /* 59: i4b trace device */
        !           211:        cdev_notdef(),                  /* 60: i4b phone device */
        !           212:        /* End of reserved slots for isdn4bsd. */
        !           213:        cdev_usb_init(NUSB,usb),        /* 61: USB controller */
        !           214:        cdev_usbdev_init(NUHID,uhid),   /* 62: USB generic HID */
        !           215:        cdev_usbdev_init(NUGEN,ugen),   /* 63: USB generic driver */
        !           216:        cdev_ulpt_init(NULPT,ulpt),     /* 64: USB printers */
        !           217:        cdev_urio_init(NURIO,urio),     /* 65: USB Diamond Rio 500 */
        !           218:        cdev_tty_init(NUCOM,ucom),      /* 66: USB tty */
        !           219:        cdev_wsdisplay_init(NWSDISPLAY, /* 67: frame buffers, etc. */
        !           220:                wsdisplay),
        !           221:        cdev_mouse_init(NWSKBD, wskbd), /* 68: keyboards */
        !           222:        cdev_mouse_init(NWSMOUSE,       /* 69: mice */
        !           223:                wsmouse),
        !           224:        cdev_mouse_init(NWSMUX, wsmux), /* 70: ws multiplexor */
        !           225: #ifdef USER_PCICONF
        !           226:        cdev_pci_init(NPCI,pci),        /* 71: PCI user */
        !           227: #else
        !           228:        cdev_notdef(),
        !           229: #endif
        !           230:        cdev_notdef(),                  /* 72: ALTQ (deprecated) */
        !           231:        cdev_iop_init(NIOP,iop),        /* 73: I2O IOP control interface */
        !           232:        cdev_usbdev_init(NUSCANNER,uscanner), /* 74: usb scanner */
        !           233:        cdev_bktr_init(NBKTR,bktr),     /* 75: Bt848 video capture device */
        !           234:        cdev_radio_init(NRADIO, radio), /* 76: generic radio I/O */
        !           235:        cdev_ptm_init(NPTY,ptm),        /* 77: pseudo-tty ptm device */
        !           236:        cdev_hotplug_init(NHOTPLUG,hotplug), /* 78: devices hot plugging */
        !           237:        cdev_gpio_init(NGPIO,gpio),     /* 79: GPIO interface */
        !           238:        cdev_bio_init(NBIO,bio),        /* 80: ioctl tunnel */
        !           239:        cdev_bthub_init(NBTHUB,bthub),  /* 81: bthub */
        !           240: };
        !           241: int nchrdev = sizeof cdevsw / sizeof cdevsw[0];
        !           242:
        !           243: int mem_no = 2;                                /* major number of /dev/mem */
        !           244:
        !           245: /*
        !           246:  * Swapdev is a fake device implemented in sw.c.
        !           247:  * It is used only internally to get to swstrategy.
        !           248:  */
        !           249: dev_t swapdev = makedev(1, 0);
        !           250:
        !           251: /*
        !           252:  * Check whether dev is /dev/mem or /dev/kmem.
        !           253:  */
        !           254: int
        !           255: iskmemdev(dev_t dev)
        !           256: {
        !           257:        return major(dev) == mem_no && minor(dev) < 2;
        !           258: }
        !           259:
        !           260: /*
        !           261:  * Check whether dev is /dev/zero.
        !           262:  */
        !           263: int
        !           264: iszerodev(dev_t dev)
        !           265: {
        !           266:        return major(dev) == mem_no && minor(dev) == 12;
        !           267: }
        !           268:
        !           269: dev_t
        !           270: getnulldev()
        !           271: {
        !           272:        return makedev(mem_no, 2);
        !           273: }
        !           274:
        !           275: int chrtoblktbl[] = {
        !           276:        /*VCHR*/        /*VBLK*/
        !           277:        /*  0 */        NODEV,
        !           278:        /*  1 */        NODEV,
        !           279:        /*  2 */        NODEV,
        !           280:        /*  3 */        NODEV,
        !           281:        /*  4 */        NODEV,
        !           282:        /*  5 */        NODEV,
        !           283:        /*  6 */        NODEV,
        !           284:        /*  7 */        NODEV,
        !           285:        /*  8 */        2,
        !           286:        /*  9 */        NODEV,
        !           287:        /* 10 */        NODEV,
        !           288:        /* 11 */        0,
        !           289:        /* 12 */        NODEV,
        !           290:        /* 13 */        4,
        !           291:        /* 14 */        NODEV,
        !           292:        /* 15 */        NODEV,
        !           293:        /* 16 */        NODEV,
        !           294:        /* 17 */        17,
        !           295:        /* 18 */        NODEV,
        !           296:        /* 19 */        NODEV,
        !           297:        /* 20 */        NODEV,
        !           298:        /* 21 */        NODEV,
        !           299:        /* 22 */        NODEV,
        !           300:        /* 23 */        NODEV,
        !           301:        /* 24 */        NODEV,
        !           302:        /* 25 */        NODEV,
        !           303:        /* 26 */        NODEV,
        !           304:        /* 27 */        NODEV,
        !           305:        /* 28 */        NODEV,
        !           306:        /* 29 */        NODEV,
        !           307:        /* 30 */        NODEV,
        !           308:        /* 31 */        NODEV,
        !           309:        /* 32 */        NODEV,
        !           310:        /* 33 */        NODEV,
        !           311:        /* 34 */        NODEV,
        !           312:        /* 35 */        NODEV,
        !           313:        /* 36 */        NODEV,
        !           314:        /* 37 */        NODEV,
        !           315:        /* 38 */        NODEV,
        !           316:        /* 39 */        NODEV,
        !           317:        /* 40 */        NODEV,
        !           318:        /* 41 */        NODEV,
        !           319:        /* 42 */        NODEV,
        !           320:        /* 43 */        NODEV,
        !           321:        /* 44 */        NODEV,
        !           322:        /* 45 */        NODEV,
        !           323:        /* 46 */        NODEV,
        !           324:        /* 47 */        NODEV,
        !           325:        /* 48 */        NODEV,
        !           326:        /* 49 */        NODEV,
        !           327:        /* 50 */        NODEV,
        !           328:        /* 51 */        NODEV,
        !           329:        /* 52 */        NODEV,
        !           330:        /* 53 */        NODEV,
        !           331:        /* 54 */        19,
        !           332: };
        !           333: int nchrtoblktbl = sizeof(chrtoblktbl) / sizeof(chrtoblktbl[0]);
        !           334:
        !           335: #include <dev/cons.h>
        !           336: #include "vgafb_pci.h"
        !           337:
        !           338: cons_decl(ws);
        !           339: cons_decl(zs);
        !           340: cons_decl(ofc);
        !           341: cons_decl(com);
        !           342:
        !           343: struct consdev constab[] = {
        !           344: #if NWSDISPLAY > 0
        !           345:        cons_init(ws),
        !           346: #endif
        !           347: #if NZSTTY > 0
        !           348:        cons_init(zs),
        !           349: #endif
        !           350: #if NOFCONS > 0
        !           351:        cons_init(ofc),
        !           352: #endif
        !           353:        { 0 },
        !           354: };

CVSweb