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]

Redboot & Ethernet Driver


Some confusion regarding the sharing of the ethernet interfaces (Reboot and the application).  It seems like we have two different "upper-level" ethernet drivers.  One is defined in packages/io/eth/v---/src/net; the other is defined in packages/io/eth/v---/src/stand_alone.  The first, must be what gets linked into the application, whereas the second gets linked into Redboot.  The first, as part of eth_drv_init(), sets a virtual vector (number 19, called "debug data" in the book, which also says that it isn't used) to sparx_sc (our internal structure), basically the ethernet device driver data structure, which includes pointers to the application's ethernet driver functions.  The comment in eth_drv.c says: "Set up interfaces so debug environment can share this device".  Then, in the stand_alone version, any call to eth_drv_write() or eth_drv_read() checks this virtual vector and, if it's non-zero, it uses this driver data structure (and thus these driver functions) preferenti!
 ally.

It's apparently doing all of this very purposefully... we're just not yet sure we understand the reasoning behind it.  This would make more sense as a way for an application to acquire the use of Redboot's ethernet interface.  But we have the application and Redboot independently configured each with its own "interface" (in the abstract sense), indeed even with separate IP addresses.  It almost seems like this virtual-vector sharing mechanism is redundant.

We are posting this query to the community at large to help us understand and maybe  describe how this is supposed to work.  Or well, at least tell us WHAT is happening... even if we don't know WHY.


-- 
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]