kent@swrinde.nde.swri.edu (Kent D. Polk) (09/19/89)
I need to service a hardware interrupt using code that (apparently)
can't operate in Supervisor state. Without the offending call, an
interrupt server works fine, but... I understand I need to use a
handler.
The problem is that I am using a shared interrupt - INTB_PORTS. I don't
see anywhere that interrupt handlers are called by the shared server
handler.
I sure can't just grab the interrupt & go...
Questions:
1) Are INTB_PORTS (shared) interrupts handled by the server handler for
both interrupt servers and interrupt handlers? I.e. can I just fall
through if my board didn't pull the interrupt line & expect everything
else to continue to be serviced when I call an interrupt handler?
(Or moveq #1,d0; when it was mine?)
2) If not, how can I service a shared interrupt asynchronously while in
user state? I can't always Wait().
3) If so, can someone point me to info that documents how to properly
set up an interrupt handler to deal with when it is and isn't mine?
Actually, the ISR needs to operate in two modes: asynchronously and
with signals for when I need to Wait() for the event. My interrupt
server test routine currently does these operations correctly - just
can't accomplish the asynchronous operation mode while in Supervisor.
Thanks,
====================================================================
Kent Polk - Southwest Research Institute - kent@swrinde.nde.swri.edu
Motto : "Anything worth doing is worth overdoing"
====================================================================kent@swrinde.nde.swri.edu (Kent D. Polk) (09/19/89)
In article <21387@swrinde.nde.swri.edu> kent@swrinde.nde.swri.edu (Kent D. Polk) writes: > >I need to service a hardware interrupt using code that (apparently) >can't operate in Supervisor state. Without the offending call, an >interrupt server works fine, but... I understand I need to use a >handler. [...] >2) If not, how can I service a shared interrupt asynchronously while in >user state? I can't always Wait(). I see I have used the term asynchronously a bit too lightly. I had thought of setting up a separate task which could be signaled to perform the service & it could also signal the main task when necessary, but I really shouldn't have two tasks talking to my device. In fact, after thinking about it a bit more I am even more confused about how to go about accomplishing what I want. So, it's back to the drawing board... I still would like to know if interrupt handlers can be inserted into a shared handler's linked list & yet operate in user mode - I don't see how that would be possible given my understanding of how things work. Thanks much, ==================================================================== Kent Polk - Southwest Research Institute - kent@swrinde.nde.swri.edu Motto : "Anything worth doing is worth overdoing" ====================================================================