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

File: [local] / funnyos / arch / testarm / config.c (download)

Revision 1.1, Tue Oct 16 08:41:04 2007 UTC (16 years, 6 months ago) by init
Branch: MAIN

Initial revision

/*
 * $Id: config.c,v 1.1 2007/10/16 08:41:04 init Exp $
 */
#include <sys/types.h>
#include <sys/device.h>

/*
 * 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;
}