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

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.1.6 ! root       90: #if    ENABLE_IMMEDIATE_CONSOLE
        !            91:        { "immc",       nulldev_open,   nulldev_close,  nulldev_read,
        !            92:          nulldev_write,        nulldev_getstat,        nulldev_setstat,
        !            93:          nomap,        nodev,  nulldev,        nulldev_portdeath,      0,
        !            94:          nodev },
        !            95: #endif /* ENABLE_IMMEDIATE_CONSOLE */
1.1       root       96:        { kdname,       kdopen,         kdclose,        kdread,
                     97:          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
                     98:          nodev,        nulldev,        kdportdeath,    0,
                     99:          nodev },
1.1.1.4   root      100: #endif /* MACH_HYP */
1.1       root      101: 
1.1.1.5   root      102:        { timename,     timeopen,       timeclose,      nulldev_read,
                    103:          nulldev_write,        nulldev_getstat,        nulldev_setstat,        timemmap,
                    104:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      105:          nodev },
                    106: 
1.1.1.4   root      107: #ifndef        MACH_HYP
1.1.1.3   root      108: #if    NCOM > 0
1.1       root      109:        { comname,      comopen,        comclose,       comread,
                    110:          comwrite,     comgetstat,     comsetstat,     nomap,
                    111:          nodev,        nulldev,        comportdeath,   0,
                    112:          nodev },
                    113: #endif
                    114: 
1.1.1.2   root      115: #ifdef MACH_LPR
1.1       root      116:        { lprname,      lpropen,        lprclose,       lprread,
                    117:          lprwrite,     lprgetstat,     lprsetstat,     nomap,
                    118:          nodev,        nulldev,        lprportdeath,   0,
                    119:          nodev },
                    120: #endif
                    121: 
                    122:        { mousename,    mouseopen,      mouseclose,     mouseread,
1.1.1.5   root      123:          nulldev_write,        mousegetstat,   nulldev_setstat,        nomap,
                    124:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      125:          nodev },
                    126: 
                    127:        { kbdname,      kbdopen,        kbdclose,       kbdread,
1.1.1.5   root      128:          nulldev_write,        kbdgetstat,     kbdsetstat,     nomap,
                    129:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      130:          nodev },
                    131: 
1.1.1.5   root      132:        { memname,      nulldev_open,   nulldev_close,  nulldev_read,
                    133:          nulldev_write,        nulldev_getstat,        nulldev_setstat,                memmmap,
                    134:          nodev,        nulldev,        nulldev_portdeath,      0,
1.1       root      135:          nodev },
1.1.1.4   root      136: #endif /* MACH_HYP */
1.1       root      137: 
1.1.1.2   root      138: #ifdef MACH_KMSG
                    139:         { kmsgname,     kmsgopen,       kmsgclose,       kmsgread,
1.1.1.5   root      140:           nulldev_write,        kmsggetstat,    nulldev_setstat,           nomap,
                    141:           nodev,        nulldev,        nulldev_portdeath,         0,
1.1.1.2   root      142:           nodev },
                    143: #endif
                    144: 
1.1.1.4   root      145: #ifdef MACH_HYP
                    146:        { hypcnname,    hypcnopen,      hypcnclose,     hypcnread,
                    147:          hypcnwrite,   hypcngetstat,   hypcnsetstat,   nomap,
                    148:          nodev,        nulldev,        hypcnportdeath, 0,
                    149:          nodev },
                    150: #endif /* MACH_HYP */
                    151: 
1.1       root      152: };
                    153: int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
                    154: 
                    155: /*
                    156:  * Indirect list.
                    157:  */
                    158: struct dev_indirect dev_indirect_list[] = {
                    159: 
                    160:        /* console */
                    161:        { "console",    &dev_name_list[0],      0 }
                    162: };
                    163: int    dev_indirect_count = sizeof(dev_indirect_list)
                    164:                                / 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.