Re: VM86 interrupt emulation breakage and FIXes for 2.6.x kernel series

Alan Cox
2004-12-11T01:03:10Z

On Gwe, 2004-12-10 at 22:55, Linus Torvalds wrote:
> On Fri, 10 Dec 2004, Alan Cox wrote:
> The vm86 interrupt does not allow sharing. And it really _has_ to be
> disabled until user mode has cleared the irq source, or you'll have a very
> dead machine.

Until the 10,000th event it actually seems to work rather happily
without
that change. The interrupt has already occurred at this point and it was
edge triggered so the interrupt will be cleared down by the kernel on
the irq handler return path. Nothing expects that interrupt to get
re-enabled, or deals with refcounting in his patch, or with races. It
doesn't need disable_irq except for level triggered and vm86 has never
handled that. In fact right now it can't because multiple signals are
merged and you never know how many IRQ events occurred.

That limit works because the old vm86 irq hack only works with the edge
triggered old style PC ISA interrupts.