On 08/31/2011 07:59 PM, Blue Swirl wrote:
>
> That makes it impossible to migrate level-triggered irq lines. Or at least,
> the receiver has to remember the state, instead of (or in addition to) the
> sender.
Both ends probably need to remember the state. That should work
without any multiphase restores and transient suppressors.
State should always correspond to real hardware state - a flip flop or
capacitor. Input is not state, it is input.
It might be also possible to introduce stateful signal lines which
save and restore their state, then the receiving end could check what
is the current level. However, if you consider that the devices may be
restored in random order, if the IRQ line device happens to be
restored later, the receiver would still get wrong information. Adding
priorities could solve this, but I think stateless IRQs are the only
sane way.
I agree that irqs should be stateless, since they don't have any memory
associated.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.