> I would have tried to debug the interrupt problem tonight,
> but it all went wrong.  The problem is that my base development
> PC (this one) is an SMP box, and your kernel module made it go
> all wrong with the IPIs, because you don't forward those
> to the kernel ! 

Yup, INT 0x30  ('IRQ 16') needs to be forwarded as well.
AFAICT you'd only need to add it to mon_irq_handler table ...
(It is a little ugly, though :-/)


> Another thing, it may be that linux expects interrupts to be
> on when an interrupt occurs --- I don't know whether it really
> matters, but I wouldn't hestitate to make such an assumption
> in MY OS code, if I needed to :).  So it may be nice to
> sti() BEFORE forwarding the interrupt to the host kernel.

Eh?  Linux uses interrupt gates as hardware IRQ vectors, so
the interrupt flag is turned *off* before calling the handler.
And I'd bet Linux relies on it being off ...

Bye,
Ulrich

-- 
  Ulrich Weigand,
  IMMD 1, Universitaet Erlangen-Nuernberg,
  Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688

Reply via email to