OK, I updated CVS with my most current code. I ran the test guests,
FreeDOS, and Linux. I notice I broke booting of an MS DOS floppy I have.
Will look into fixing that panic.
Hopefully, tomorrow I can put my Linux disk image file on the 'net
for everyone to try. It's a 126Meg.
-Kevin
- "Kevin P. Lawton" <[EMAIL PROTECTED]>: Thu Oct 26 12:55:59 EDT 2000
Linux 2.0.31 boots! (Used a disk image file from bochs with
Linux already installed)
Added RTEMS to GUESTS file
Moved guest_context_t to kernel space. User code now interfaces
with monitor via guest_cpu_t. Got rid of set_guest_context()
and get_guest_context(). This broke the ICE plugin, which
I have commented out temporarily in the Makefile.
Monitor can now handle running guest in 3 modes:
1) Execution as normal (SBE controlled)
2) Execution by breakpointing (setting TF and run guest for
duration of one instruction at a time.
3) Emulation. Monitor keeps in an emulation loop.
Monitor print output is now channeled to user space program,
rather than system log. Mapped the 4k monitor print buffer
to user space for efficiency. Still have to clean up the
print code.
Fixed bug Ramon found in handle_fault, where 'from =' code was
evaluated too soon, possibly before a guest mode transition
resulting from emulation of a guest system instruction.
Lot's of #warning directives in C files to remind myself things
that need to be cleaned up. :^)
Fixed bug in kernel/prescan.c. If a branch instruction was found
at the maximum level of prescan recursion, then it would not
be virtualized.
Updated the paging code, both in kernel/vpaging.c and
emulation/paging.c. It now accurately handles error codes
and A&D bit updates in the page dir/table entries.
Changed the delivery of guest execution times and user space
periodic callbacks to the user code. Some stuff is hacky
and needs to be reworked.
Turned SBE on for real mode code (run in monitor as v86 code).
This will slow FreeDOS down until I optimize things.
SBE still only is dealing with one page at a time. This I
will change very soon. This rev will be very slow because
of this. Picture that every out of page branch dumps the
virtualized code cache. Ouch!
I think tomorrow, I can put a preinstalled Linux disk image file
on the 'net for developer to try. It's 126Meg file generated
some time ago with bochs.