[BACK]Return to config.c CVS log [TXT][DIR] Up to [local] / funnyos / arch / testarm

Annotation of funnyos/arch/testarm/config.c, Revision 1.1

1.1     ! init        1: /*
        !             2:  * $Id: config.c,v 1.1.1.1 2007/10/12 08:40:36 init Exp $
        !             3:  */
        !             4: #include <sys/types.h>
        !             5: #include <sys/device.h>
        !             6:
        !             7: /*
        !             8:  * Configuration file for platform (testarm).
        !             9:  */
        !            10:
        !            11: /* device drivers */
        !            12: extern struct driver root_dr;
        !            13: extern struct driver cpu_dr;
        !            14:
        !            15:
        !            16: extern void(*putchar)(char);
        !            17: void   tacons_early_putc(char ch);
        !            18:
        !            19: /* amount of physical memory, in Bytes */
        !            20: uint32_t physmem = 33554432;
        !            21:
        !            22: #if 0
        !            23: /*
        !            24:  * Devices present in this system.
        !            25:  */
        !            26: struct device devlist[] = {
        !            27: /*        name, minor, active, attach_subr, *devdata, locator, [*parent] */
        !            28: /* 0 */        { "root", 0, 0, root_attach, NULL, 0 },
        !            29: /* 1 */        { "cpu", 0, 0, cpu_attach, NULL, 0 },
        !            30: /* 2 */        { "obio", 0, 0, obio_attach, NULL, 0 },
        !            31: /* 3 */        { "tartc", 0, 0, tartc_attach, NULL, 0x15000000 },
        !            32: /* 4 */        { "tacons", 0, 0, tacons_attach, NULL, 0x10000000 },
        !            33: /* 5 */        { "fcons", 0, 0, fcons_attach, NULL, 0 },
        !            34:                { NULL, 0, 0, NULL, NULL, 0, NULL }
        !            35: };
        !            36:
        !            37: void
        !            38: devlist_prepare(void)
        !            39: {
        !            40:        /*
        !            41:        * Where to attach each device.
        !            42:        * XXX kill this ugly macross.
        !            43:        */
        !            44:        ATTACH(0) AT PARENT(0);
        !            45:        ATTACH(1) AT PARENT(0);
        !            46:        ATTACH(2) AT PARENT(0);
        !            47:        ATTACH(3) AT PARENT(2);
        !            48:        ATTACH(4) AT PARENT(2);
        !            49:        ATTACH(5) AT PARENT(4);
        !            50:
        !            51:        /*
        !            52:         * Early console putchar hack;
        !            53:         */
        !            54:        putchar = tacons_early_putc;
        !            55:
        !            56: };
        !            57: /*
        !            58:  * How many instances of each device will be present in system.
        !            59:  * We need it to know (at compile-time) how many of struct xxx_dd (devdata) in device drivers
        !            60:  *  should we compile. (sadly, we have no dynamic memory allocations subsystem for now)
        !            61:  */
        !            62: /* this all is XXX; btw this've been moved in drivervar.h */
        !            63: // #define NTACONS 1
        !            64:
        !            65: uint8_t ndevices = sizeof(devlist) / sizeof(struct device);
        !            66: #endif /* not 0 */
        !            67:
        !            68: /*
        !            69:  * Where to attach each device.
        !            70:  */
        !            71: struct attachinfo config_attachinfo[] = {
        !            72:        /* child,   parent, pminor, loc, flags */
        !            73: //     { "obio",       "root",         0, 0,   0 },
        !            74:        { "cpu" ,       "root",         0, 0,   0 },
        !            75: //     { "tacons",     "obio",         0, 0x10000000, 0 },
        !            76: //     { "tartc",      "obio",         0, 0x15000000, 0x01 },
        !            77: //     { "fcons",      "tacons",       0, 0,   0},
        !            78:        { NULL,         NULL,           0, 0,   0}
        !            79: };
        !            80:
        !            81:
        !            82: /*
        !            83:  * Link device names with their drivers.
        !            84:  */
        !            85: struct driverinfo config_driverinfo[] = {
        !            86:        { "root", &root_dr, -1 },
        !            87: //     { "obio", &obio_dr, -1 },
        !            88:        { "cpu" , &cpu_dr, -1 },
        !            89: //     { "tacons", &tacons_dr, -1 },
        !            90: //     { "tartc", &tartc_dr, -1 },
        !            91: //     { "fcons", &fcons_dr, -1 },
        !            92:        { NULL, NULL, 0 }
        !            93: };
        !            94:
        !            95:
        !            96: /*
        !            97:  * Machine early-stage initialization hooks.
        !            98:  */
        !            99:
        !           100: void
        !           101: config_consinit(void)
        !           102: {
        !           103:        /*
        !           104:         * Configure putchar, so we can printf messages to the console without fcons.
        !           105:         */
        !           106:        /* putchar = tauart_early_putc; */
        !           107:        putchar = tacons_early_putc;
        !           108: }
        !           109:
        !           110:

CVSweb