/* * $Id: config.c,v 1.1.1.1 2007/10/16 08:41:04 init Exp $ */ #include #include /* * Configuration file for platform (testarm). */ /* device drivers */ extern struct driver root_dr; extern struct driver cpu_dr; extern void(*putchar)(char); void tacons_early_putc(char ch); /* amount of physical memory, in Bytes */ uint32_t physmem = 33554432; #if 0 /* * Devices present in this system. */ struct device devlist[] = { /* name, minor, active, attach_subr, *devdata, locator, [*parent] */ /* 0 */ { "root", 0, 0, root_attach, NULL, 0 }, /* 1 */ { "cpu", 0, 0, cpu_attach, NULL, 0 }, /* 2 */ { "obio", 0, 0, obio_attach, NULL, 0 }, /* 3 */ { "tartc", 0, 0, tartc_attach, NULL, 0x15000000 }, /* 4 */ { "tacons", 0, 0, tacons_attach, NULL, 0x10000000 }, /* 5 */ { "fcons", 0, 0, fcons_attach, NULL, 0 }, { NULL, 0, 0, NULL, NULL, 0, NULL } }; void devlist_prepare(void) { /* * Where to attach each device. * XXX kill this ugly macross. */ ATTACH(0) AT PARENT(0); ATTACH(1) AT PARENT(0); ATTACH(2) AT PARENT(0); ATTACH(3) AT PARENT(2); ATTACH(4) AT PARENT(2); ATTACH(5) AT PARENT(4); /* * Early console putchar hack; */ putchar = tacons_early_putc; }; /* * How many instances of each device will be present in system. * We need it to know (at compile-time) how many of struct xxx_dd (devdata) in device drivers * should we compile. (sadly, we have no dynamic memory allocations subsystem for now) */ /* this all is XXX; btw this've been moved in drivervar.h */ // #define NTACONS 1 uint8_t ndevices = sizeof(devlist) / sizeof(struct device); #endif /* not 0 */ /* * Where to attach each device. */ struct attachinfo config_attachinfo[] = { /* child, parent, pminor, loc, flags */ // { "obio", "root", 0, 0, 0 }, { "cpu" , "root", 0, 0, 0 }, // { "tacons", "obio", 0, 0x10000000, 0 }, // { "tartc", "obio", 0, 0x15000000, 0x01 }, // { "fcons", "tacons", 0, 0, 0}, { NULL, NULL, 0, 0, 0} }; /* * Link device names with their drivers. */ struct driverinfo config_driverinfo[] = { { "root", &root_dr, -1 }, // { "obio", &obio_dr, -1 }, { "cpu" , &cpu_dr, -1 }, // { "tacons", &tacons_dr, -1 }, // { "tartc", &tartc_dr, -1 }, // { "fcons", &fcons_dr, -1 }, { NULL, NULL, 0 } }; /* * Machine early-stage initialization hooks. */ void config_consinit(void) { /* * Configure putchar, so we can printf messages to the console without fcons. */ /* putchar = tauart_early_putc; */ putchar = tacons_early_putc; }