lkml.org 
[lkml]   [2004]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: VM86 interrupt emulation breakage and FIXes for 2.6.x kernel series
From
Date
On Sad, 2004-12-11 at 04:21, Linus Torvalds wrote:
> Alan, what _are_ you arguing about? That "disable_irq()" is absolutely
> rquired, because:
> - not having it locks up the machine if the irq happens to be level.
> - not having it means that the "enable_irq()" that happens when the irq
> is reported to user space is unbalanced.

That part I missed.

> > Putting a single disable_irq in doesn't change the fact it doesn't work
> > because the IRQ is never re-enabled.
>
> Did you actually test the code? Did you ever _look_ at it?

Yes I tested it. It worked in my test code, unfortunately the enable_irq
part of it didn't show up because the other patches in that test set
included ones for dynamically detecting interrupt routing errors and
they hid it.

Alan

ps: Pavel - the X folks played with several ideas for handling
interrupts
from user space that could be shared, forwarded to user space and
handled and it always came back to either a small kernel module or an
interpretable set of
descriptions of how to test for and mask the IRQ, and in some cases to
save
several values. Something like

struct descriptor {
u8 type:2; /* 0 PCI cfg, 1 mem, 2 I/O */
u8 width:2;
u32 offset;
u32 mask;
u32 value;
}

struct irq_descriptor {
char name[16]; /* For request irq */
struct descriptor test;
struct descriptor mask;
struct descriptor save[4];
};

although nobody ever implemented it. This would also have been outside
of just vm86 as the main user would be X.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.276 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site