[ECOS] RedBoot and interrupts

Grant Edwards grante@visi.com
Wed Feb 12 21:31:00 GMT 2003


On Wed, Feb 12, 2003 at 02:09:47PM -0700, Gary D. Thomas wrote:

> > I've got an Intel IXP425 eval board that runs RedBoot.  The 425
> > has two built-in Ethernet interfaces, but RedBoot will only use
> > a third EEPRO-100 PCI board. Upon investigating the use of the
> > two onboard Ethernet interfaces, it seems it is not practical
> > to operate the built-in Ethernet controlelrs in polled mode.

[...]

> Why isn't it "practical" to use poll these devices?

Good question. I should ask Intel.

The Ethernet controllers are actually some sort of coprocessors
into which code is loaded.  Intel provides the code to be
loaded into the coprocessors as well as a library of access
routines that talk to the coprocessors to initialize the
controller, enque frames, dequeue frames, etc.  Intel's
documentation states clearly that they do not support a polled
mode API.

It may be possible to reverse-engineer the interface between
the Intel-provided access library and the coprocessor in order
to provide a polled mode interface. [Even without the
interrupt/polling question, there would be plenty of work
required since the access library assumes it's running on an OS
that provides threads and mutexes.]

Intel's original specification required that all access library
components provide both polled and interrupt-driven APIs if
possible. Since the Ethernet module is an exception to that
rule, I'm guessing that there's something fundamentally
difficult about a polled mode.

So instead of supporting polled mode w/o an OS, Intel tosses an
eepro100 PCI board into the box with the eval board and RedBoot
uses that.

-- 
Grant Edwards
grante@visi.com

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



More information about the Ecos-discuss mailing list