This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RedBoot "set MAC address" API?


In gmane.os.ecos.general, you wrote:
> Grant Edwards <grante@visi.com> writes:
>
>> > In general the MAC address is stored in the fconfig data. All
>> > drivers that need to set the MAC address contain code to query
>> > the flash and fetch the MAC address from there, or call a
>> > platform-specific function than may do that. They usually also
>> > have a fallback to a compiled-in MAC address.
>> 
>> Except for the drivers I've used, apparently.
>
> So how do these drivers get the MAC address at present?

They don't.  I have application code that knows how to poke the
MAC address into the hardware so that the MAC address is
already there when the driver's init() method is called.  Then
the driver returns the MAC address to the network layer.  

I'm trying to get away from having application application code
knowing how to do that.

>> Is there any documentation available on how fconfig data is
>> formatted/used?
>
> There's no need for your code to deal with the fconfig data
> format itself. Just use one of the virtual vector functions to
> fetch it during driver initialization. Here's the relevant
> code from one of the drivers that does this:
>
> #ifdef CYGPKG_REDBOOT
>     esa_ok = flash_get_config(qi->esa_key, _enaddr, CONFIG_ESA);
> #else
>     esa_ok = CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, 
>                                          qi->esa_key, _enaddr, CONFIG_ESA);
> #endif
>     if (esa_ok) {
>         memcpy(qi->enaddr, _enaddr, sizeof(qi->enaddr));
>     } else {
>         // No 'flash config' data available - use default
>         os_printf("FCC_ETH - Warning! Using default ESA for '%s'\n", dtp->name);
>     }

It looks like I need to study up on fconfig usage.  There are a
dozen or so other parameters that will need to be stored there
as well.

-- 
Grant Edwards                   grante             Yow!  I want DUSTIN
                                  at               HOFFMAN!! ... I want
                               visi.com            LIBRACE!! YOW!!

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]