Hello,
Tried the new code and it seems *much* slower than previous CVS version.
1) Am I the only one to experience this ?
2) How can you switch between the 3 modes of Monitor execution
(SBE/Breakpoint/Emulation) ? Which compile/run-time option ?
Thanks.
Kevin Lawton wrote:
> 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.