On Fri, Sep 15, 2000 at 12:59:12PM +0900, Mukaila olundegun wrote:
> > Something has to discover which  device generated the interrupt. Generally
> > you would want the low level handler to do
> >
> > handler:
> >           look at board status registers to discover correct device
> >           call dev_handler(device_name);
> 
> Yes thanks. This will serve as temporary solution.
> Then my question is if I don't register this irq_number as  a shared irq,
> will it be still possible to try share operation on un-registered shared
> irq? Will the system not complain?

RTL doesn't care.

> 
> Also I think (not actually copying Linux) that if  a function like Linux
> 
>       request_irq(irq_number, ISR_funtion_name, irq_flags, device_name,
> device_Id)
> 
> is available in RTLinux for shared interrupt number will simplify this
> operation. So that when the interrupt service routine is called,  IRQ_number
> and device_Id will be passed in addition to the register states. (Though, it
> required additional work!!)
> >

The problem is "register states". Our low level IRQ handler code doesn't know anything
about your board and it seems like it needs to know a great deal in order to figure 
things
out. If you use sigaction in rtlinux, it is trivial to manage a shared irq by doing
     handler:
            look at board
            if irq not for me call oldhandler
            else process irq
Since each sigaction returns the old handler information, you can dynamically
build a chain.


---------------------------------------------------------
Victor Yodaiken 
Finite State Machine Labs: The RTLinux Company.
 www.fsmlabs.com  www.rtlinux.com

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to