cvs commit: src/sys/machine/vkernel/i386 cpu_regs.c exception.c trap.c src/sys/machine/vkernel/platform console.c init.c pmap.c

Matthew Dillon dillon at apollo.backplane.com
Mon Jan 8 08:34:14 PST 2007


:I thought about this.  For all sorts of operation (e.g. console input or =
:a virtual NIC), we need either some kind of asynchronous operation mode o=
:r poll/select/kqueue monitoring.  Maybe some combination?  Send a signal =
:when a (previously stored) kevent list was activated?
:
:cheers
:  simon

    What I would like to do is have a core select/kqueue loop instead of
    the sigpause() I have there now.  The only hicup is that it currently
    takes a real signal (e.g. SIGARLM for the clock) to break out
    of any emulated user process context and return to the virtual kernel
    context.

    I can already see that there are better ways to do the emulated user
    process context.  Right now I'm doing frame swapping.  But I'm not
    going to worry about it until I actually get the thing running 
    in a stable fashion.  I'm not even swapping the FP registers yet!
    Just the TLS, segment, integer registers, and VM space.

    On the bright side, I have not once crashed the real kernel while
    testing a virtual kernel!

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Commits mailing list