This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: What is RedBoot_INIT_TAB,
- To: "Narayana, Venkat A." <NarayVA at nsc-msg01 dot network dot com>
- Subject: RE: [ECOS] What is RedBoot_INIT_TAB,
- From: Gary Thomas <gthomas at cambridge dot redhat dot com>
- Date: Thu, 21 Jun 2001 09:58:46 -0600 (MDT)
- Cc: "ecos-discuss at sources dot redhat dot com" <ecos-discuss at sources dot redhat dot com>
- Organization: Red Hat, Inc.
On 21-Jun-2001 Narayana, Venkat A. wrote:
> Hi Gary,
>
>> >
>> > for (init_entry = __RedBoot_INIT_TAB__; init_entry !=
>> > &__RedBoot_INIT_TAB_END__; init_entry++) {
>> > (*init_entry->fun)();
>> > }
>> >
>> > I found that RedBoot_INIT_TAB is defined, in
>>
>> This table is filled in using the RedBoot_init() macro. E.g.
>> this is used
>> by the network initialization code in the file
>> "redboot/current/src/net/net_io.c"
>>
>> Depending on your configuration, you may or not have any
>> entries in the table.
>
> RedBoot_init macro, defines 'struct init_tab_entry' variable in
> 'ecos.table' section. Pls correct me here...my understanding is that
> RedBoot_init(net_init, RedBoot_INIT_LAST) expands into
> "struct init_tab_entry _init_tab_9999net_init", where this struct
> has 1 member, which is a function ptr.
> I am going thru the redboot/src/net files, but i am unable to find
> any place, from where _init_tab_9999net_init->net_init is called.
> i.e, who calls net_init and from where?
It's never called by name - that's the whole point of using tables.
The call happens in the main initialization, in the code fragment
quoted above.