KICKASS! ;-)
----- Original Message -----
From: "Kevin Lawton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, June 26, 2000 9:05 AM
Subject: plex86: new diffs for interruptible monitor
> ftp://ftp.plex86.org/pub/plex86/plex86-diffs.2000_0625a
>
> OK, some mods to plex86 to make the monitor interruptible.
> When the guest is executing, the VM was always interruptible,
> but there can be some extensive processing in the monitor
> during emulation of instructions and prescanning etc. Now
> even that processing is interruptible, so we can pass hardware
> interrupts back to the host very quickly.
>
> I ran all three guests many times with no random crashes
> or panics. Last night I ran all 3 at one time and left
> them running all night with no crashs. Still spinning
> away in the morning.
>
> The only thing wrong I see is, when I killed the VMs, the user
> code reports:
>
> Unmapping guest physical memory
> Tearing down VM
> ioctl
> : Device or resource busy
>
> and the kernel logs:
>
> kernel: plex86: guest memory is still mapped!
>
> I'm not sure what's doing that.
>
> -Kevin
> =====================================================
>
> >From the ChangeLog:
>
> - "Kevin P. Lawton" <[EMAIL PROTECTED]>:
> Incoporated fix from Ulrich for broken logic in fetchdecode.c.
> Added support for monitor interruptibility. Interrupts
> disabled dwell time is really short. This version should
> be a lot nicer to your host OS.
> Fixed bug in sbe(); for guest CR0.PG==1, getting address of
> monitor page table was wrong.
> Fixed bug in get_cpu_capability(); added ecx and edx to list
> of registers 'touched' by cpuid instruction for eax==1 case.
> Split vm->state into vm->mon_state and vm->mon_request, to
> keep things sane for an interruptible monitor. Because even
> a HW interrupt needs to call sbe() after it's done, even the
> end of the HW interrupt handler has to be interruptible
> (the sbe() function can be long). Thus, HW int redirection
> does not step on the vm->mon_state.
> I added some extra push/pops to the transition code. Not sure
> if all of it was needed. Will look into eliminating code
> not needed. But, I wanted to quickly get a release out
> that had the above fixes in int.
> Please try all 3 guests: cooperative, preemptible, paging on
> your machine and report.
>
>