>   - (RvH) I changed host-linux.c so that it takes the amount of
>     quanta to run as an argument to ioctl().  Now it doesn't trap
>     back to the user application on ever quantum.  

Just one point: not every interrupt reflected back means that a
quantum has passed ;-)    (Anyway, I don't think there is any
particular use in running for a specific number of quantums
-- just run until something happens ...)

>     on 2.2 we use current->need_resched, but is this true for
>     2.0 too, or does it have need_resched as a global variable ?

On 2.0, need_resched is indeed a global variable.

>     2.2 SMP is rather annoying because it allocates lots of IPIs,
>     and most of them aren't fixed (2.2 SMP does not use the 0x20-
>     0x2f mapping for the PIC, but has everything go through the
>     I/O APIC with rather weird interrupt mappings).  In order to
>     allocate the correct interrupts I need access to a kernel
>     array called irq_vector[], which unfortunately is not exported
>     to modules.  

Argh.  Are you really sure this is worth all that effort?  Just to
avoid an additional fault in the unlikely case that the guest OS uses
a software interrupt that doesn't overlap with hardware vectors?

I'd still propose to just redirect all interrupts in the 32..255 range
and be done with it -- no OS dependency, no trouble ;-)

Bye,
Ulrich

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

Reply via email to