Subject: Low level NetBSD Interrupt Questions
To: None <port-i386@netbsd.org>
From: John D. DeHart <jdd@arl.wustl.edu>
List: port-i386
Date: 05/11/1999 13:14:49
I have some basic low level questions about what hardware support
for interrupts NetBSD requires.
We are building a new line card for an ATM switch that we have built.
This line card will have a Pentium processor, memory, PCI Bus
and a high performance ATM interface chip that we have also built.
We will be running an embedded, diskless NetBSD on this card and
building up a prototype system to perform as an 8 port high speed router.
Because of real estate issues, we can not put all the standard
chips and functionality that you would find on a typical motherboard.
For instance, we will not have a PIIX3 chip. One of our big issues
right now is the design and implementation of the Interrupt Controller.
This will be implemented in an FPGA. We are trying to simplify it as
much as possible to reduce the design/implementation/test time.
Some specific questions we have about what NetBSD actually NEEDS
regarding interrupts:
1. We will implement Specific End of Interrupt. Is there any
need for Non-Specific EOI? We notice
that the NPX driver uses Non-Specific EOI in its probing
if it finds that the chip is using IRQ13 instead of
exception 16. Can we assume that current (and future) systems
will be using exception 16? Is this the only place where
Non-Specific EOI shows up in NetBSD? Its the only
place we've found so far in the code
2. During boot, we see numerous non-specific EOIs on the PCI bus.
This is before the control registers of the PIIX3 are
programmed. Does anyone have any suggestions on what might
be causing these?
3. Is there anything we should consider that would cause us to
NEED to implement Automatic EOI?
Thanks for any help.
John
John DeHart jdd@arl.wustl.edu
Senior Research Associate http://www.arl.wustl.edu/~jdd/
Applied Research Laboratory
Campus Box 1045, Washington University
One Brookings Drive TEL: (314) 935-7329
St. Louis Mo. 63130-4899 FAX: (314) 935-7302