I'm currently adding framework to plex86 to handle guest OS paging.
After that, it should be fairly straight-forward to
fill things out to boot Linux, given we load it straight
into memory and bypass the BIOS.

Looking ahead at performance issues, some thoughts...

The current strategy for paging is to rebuild the
monitor page tables dynamically, starting with each
reload of CR3.  Also have to rebuild things upon
a privilege level transition (CPL3-->0 or CPL0-->3)
since we're currently running all guest code at
ring3, so we have to rebuild the page tables accordingly.

A question.  For a system call from user code which
is serviced in the kernel and returns without rescheduling
another process, which guest OSes can do this without
reloading CR3?


-Kevin

Reply via email to