Essentially I'm creating a mini-OS-like monitor which
runs in a "parallel world" as Linux. It's pretty funky
and the logic goes something like this. During a user
process's time quantum, I call an ioctl() into a
kernel module I wrote, which changes over to a completely
different set of mappings {GDT, IDT, TR, ...} and
runs a virtualized guest OS over there during the time slice.
The monitor doesn't handle hardware interrupts itself,
as FreeMWare doesn't talk to real hardware. What
I need to do is to redirect any hardware interrupts
from my monitor IDT handler back to Linux, which they
were originally destined for.
So I switch everything back over to Linux mappings upon
hardware interrupt. I have in hand the IRQ# and vector of
the interrupt. How do you recommend I call interrupt handlers
in the Linux kernel from my kernel module, given I have these
parameters?
I need the handlers to think they were called as a result of
a real hardware interrupt, and not know about the software
intervention of the virtual machine monitor of FreeMWare.
Much appreciated
-Kevin Lawton
http://www.freemware.org/
http://www.bochs.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/