3c509 network card initialization

Aaron J. Grier aaron at frye.com
Thu Dec 19 22:42:51 UTC 2002


On Thu, Dec 19, 2002 at 05:12:59PM -0500, shanehelms at eircom.net wrote:
> According to the following code in confdefs.h, network cards are not
> included in the device_drivers table.
>
> So where do they exactly get initialized ?

shortly after boot when the RTEMS I/O manager starts up.  the backtrace
for 4.5.0 looks like this:

_IO_Initialize_all_drivers
rtems_initialize_executive_early
boot_card
start

> and why are they _not_ included in this table ? 

> is this table for a specific type of devices, or can any device be
> included here ?

the entries are of type rtems_driver_address_table, which is defined in
src/exec/sapi/include/rtems/io.h .

you can override settings from confdefs.h in the headers for your own
program.  IE:

#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER

or if you have custom drivers

#define CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
rtems_driver_address_table Device_drivers[] = {
	CONSOLE_DRIVER_TABLE_ENTRY,
	CLOCK_DRIVER_TABLE_ENTRY,
	MORE_OF_YOUR_DEVS_GO_HERE,
	{ NULL, NULL, NULL, NULL, NULL, NULL }
}

and then

#include <confdefs.h>

I think the reason there aren't default network device drivers is that
the drivers themselves are very BSP specific.

-- 
  Aaron J. Grier  |   Frye Electronics, Tigard, OR   |  aaron at frye.com



More information about the users mailing list