Annotation of Gnu-Mach/i386/i386at/conf.c, revision 1.1.1.5

1.1.1.3   root        1: /*
1.1       root        2:  * Mach Operating System
                      3:  * Copyright (c) 1993-1989 Carnegie Mellon University
                      4:  * All Rights Reserved.
1.1.1.3   root        5:  *
1.1       root        6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
1.1.1.3   root       11:  *
1.1       root       12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
1.1.1.3   root       15:  *
1.1       root       16:  * Carnegie Mellon requests users of this software to return to
1.1.1.3   root       17:  *
1.1       root       18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
1.1.1.3   root       22:  *
1.1       root       23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: /*
                     27:  * Device switch for i386 AT bus.
                     28:  */
                     29: 
                     30: #include <mach/machine/vm_types.h>
                     31: #include <device/conf.h>
1.1.1.5 ! root       32: #include <kern/mach_clock.h>
        !            33: #include <i386at/model_dep.h>
1.1       root       34: 
                     35: #define        timename                "time"
                     36: 
1.1.1.4   root       37: #ifndef        MACH_HYP
1.1.1.5 ! root       38: #include <i386at/kd.h>
1.1       root       39: #define        kdname                  "kd"
                     40: 
                     41: #if    NCOM > 0
1.1.1.5 ! root       42: #include <i386at/com.h>
1.1       root       43: #define        comname                 "com"
1.1.1.3   root       44: #endif /* NCOM > 0 */
1.1       root       45: 
                     46: #if    NLPR > 0
1.1.1.5 ! root       47: #include <i386at/lpr.h>
1.1       root       48: #define        lprname                 "lpr"
1.1.1.3   root       49: #endif /* NLPR > 0 */
1.1.1.4   root       50: #endif /* MACH_HYP */
1.1       root       51: 
1.1.1.5 ! root       52: #include <i386at/kd_event.h>
1.1       root       53: #define        kbdname                 "kbd"
                     54: 
1.1.1.4   root       55: #ifndef        MACH_HYP
1.1.1.5 ! root       56: #include <i386at/kd_mouse.h>
1.1       root       57: #define        mousename               "mouse"
                     58: 
1.1.1.5 ! root       59: #include <i386at/mem.h>
1.1.1.4   root       60: #define        memname                 "mem"
                     61: #endif /* MACH_HYP */
1.1       root       62: 
1.1.1.5 ! root       63: #include <device/kmsg.h>
1.1.1.2   root       64: #define kmsgname               "kmsg"
                     65: 
1.1.1.4   root       66: #ifdef MACH_HYP
1.1.1.5 ! root       67: #include <xen/console.h>
1.1.1.4   root       68: #define hypcnname              "hyp"
                     69: #endif /* MACH_HYP */
                     70: 
1.1       root       71: /*
                     72:  * List of devices - console must be at slot 0
                     73:  */
                     74: struct dev_ops dev_name_list[] =
                     75: {
                     76:        /*name,         open,           close,          read,
                     77:          write,        getstat,        setstat,        mmap,
                     78:          async_in,     reset,          port_death,     subdev,
                     79:          dev_info */
                     80: 
                     81:        /* We don't assign a console here, when we find one via
                     82:           cninit() we stick something appropriate here through the
                     83:           indirect list */
1.1.1.5 ! root       84:        { "cn",         nulldev_open,   nulldev_close,  nulldev_read,
        !            85:          nulldev_write,        nulldev_getstat,        nulldev_setstat,        nomap,
        !            86:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root       87:          nodev },
                     88: 
1.1.1.4   root       89: #ifndef        MACH_HYP
1.1       root       90:        { kdname,       kdopen,         kdclose,        kdread,
                     91:          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
                     92:          nodev,        nulldev,        kdportdeath,    0,
                     93:          nodev },
1.1.1.4   root       94: #endif /* MACH_HYP */
1.1       root       95: 
1.1.1.5 ! root       96:        { timename,     timeopen,       timeclose,      nulldev_read,
        !            97:          nulldev_write,        nulldev_getstat,        nulldev_setstat,        timemmap,
        !            98:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root       99:          nodev },
                    100: 
1.1.1.4   root      101: #ifndef        MACH_HYP
1.1.1.3   root      102: #if    NCOM > 0
1.1       root      103:        { comname,      comopen,        comclose,       comread,
                    104:          comwrite,     comgetstat,     comsetstat,     nomap,
                    105:          nodev,        nulldev,        comportdeath,   0,
                    106:          nodev },
                    107: #endif
                    108: 
1.1.1.2   root      109: #ifdef MACH_LPR
1.1       root      110:        { lprname,      lpropen,        lprclose,       lprread,
                    111:          lprwrite,     lprgetstat,     lprsetstat,     nomap,
                    112:          nodev,        nulldev,        lprportdeath,   0,
                    113:          nodev },
                    114: #endif
                    115: 
                    116:        { mousename,    mouseopen,      mouseclose,     mouseread,
1.1.1.5 ! root      117:          nulldev_write,        mousegetstat,   nulldev_setstat,        nomap,
        !           118:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      119:          nodev },
                    120: 
                    121:        { kbdname,      kbdopen,        kbdclose,       kbdread,
1.1.1.5 ! root      122:          nulldev_write,        kbdgetstat,     kbdsetstat,     nomap,
        !           123:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      124:          nodev },
                    125: 
1.1.1.5 ! root      126:        { memname,      nulldev_open,   nulldev_close,  nulldev_read,
        !           127:          nulldev_write,        nulldev_getstat,        nulldev_setstat,                memmmap,
        !           128:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      129:          nodev },
1.1.1.4   root      130: #endif /* MACH_HYP */
1.1       root      131: 
1.1.1.2   root      132: #ifdef MACH_KMSG
                    133:         { kmsgname,     kmsgopen,       kmsgclose,       kmsgread,
1.1.1.5 ! root      134:           nulldev_write,        kmsggetstat,    nulldev_setstat,           nomap,
        !           135:           nodev,        nulldev,        nulldev_portdeath,         0,
1.1.1.2   root      136:           nodev },
                    137: #endif
                    138: 
1.1.1.4   root      139: #ifdef MACH_HYP
                    140:        { hypcnname,    hypcnopen,      hypcnclose,     hypcnread,
                    141:          hypcnwrite,   hypcngetstat,   hypcnsetstat,   nomap,
                    142:          nodev,        nulldev,        hypcnportdeath, 0,
                    143:          nodev },
                    144: #endif /* MACH_HYP */
                    145: 
1.1       root      146: };
                    147: int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
                    148: 
                    149: /*
                    150:  * Indirect list.
                    151:  */
                    152: struct dev_indirect dev_indirect_list[] = {
                    153: 
                    154:        /* console */
                    155:        { "console",    &dev_name_list[0],      0 }
                    156: };
                    157: int    dev_indirect_count = sizeof(dev_indirect_list)
                    158:                                / sizeof(dev_indirect_list[0]);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.