Depending on whose system (real or guest...) you mean  by "system RAM", you
could either be doing something really dangerous (letting the guest write
unhindered to real RAM addresses)or just trying to do something that isn't
going to help much since it is already built into the VM.  This is the
problem of MMIO that we were talking about, and the reason that all mov
instructions are currently scanned.  The idea is that by using all PM
compatible drivers & such we can get around this & run ring3
unscanned......, but this will only work in that situation.  Otherwise,
those of us keen on running DOS stuff have two options: run it in bochs, or
write something good to handle MMIO in plex86.....

Drew Northup, N1XIM


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf
> Of Bart Oldeman
> Sent: Thursday, December 21, 2000 8:41 AM
> To: plex86
> Subject: RE: [plex86] Performance enhancement: elminiating mode and
> context
>
>
> > wrong.  Either that or you forgot that MMIO space IS regular memory (and
> > thus can be part of user space).  In any case, the MMIO part
> that writes to
> > b800:0000(0xb80000h, not 0xb800h)....etc is IO using mov and
> therefore is
> > caught by Kevin's prescan (I think that was mentioned recently).  In any
> > case, this will need to be handled somehow, because we can't
> just have the
> > guest writing all over the real host screen.
> > Remember, if the code says "write to b80000" (not xxxx:b800
> which would be
> > within the current segment) and it hasn't been prescanned, redirected or
> > errored out somehow then it _will_ write to b80000!!  It
> doesn't matter if
> > we _want_ it to write to b80000+plex86_memory_space_offset--so
> long as the
> > assembler says b80000, that is where it will try to write to (unless
> > something stops it first).
>
> Yes, but for text modes it is possible to let b8000(+plex offset, but
> the guest does not know that) (3 zeros) point to system RAM, using
> paging. And then, every once in a while, the monitor can just read
> those contents and update the virtual screen. This is possible because
> nothing "magically" happens when reading/writing to video memory in text
> modes and banked/linear graphics modes, as opposed to planar graphics
> modes.
>
> Bart
>
>


Reply via email to