On Sat, Dec 16, 2000 at 04:54:06PM +0100, Ulrich Weigand wrote:
>
> Ramon van Handel wrote:
>
> > On Fri, 15 Dec 2000, Kevin Lawton wrote:
> > > Running guest ring0 code at ring0 open memory access to PTE.P==1 pages,
> > > which includes the monitor interrupt handlers, and monitor data
> > > structures. Thus, all memory access instructions would be dangerous.
> > > We'd have to move to the concept of 'shortening' guest kernel segments,
> > > so we leave our selves a safe hole to put the monitor in.
> >
> > You need to prescan memory accesses anyway in order to catch MMIO.
>
> Eh? Whether a memory access is MMIO or not depends not on the
> instruction stream, but on the *address* that is used. You cannot
> know from just looking at the instructions (which is what prescanning
> does), what values the registers used for address generation will have
> when the code is executed ...
>
> The only way to catch memory accesses without hardware assistance
> is full emulation, which I don't think you want to advocate ;-)
Well, can't we simply use the MMU to mark pages where MMIO can happen
and then use the page fault to process them ? This way, we don't
need to care about checking addresses. We only check them when a
fault happens.
--
==============================================
Sowatec AG, CH-8330 Pf�ffikon (ZH)
Witzbergstr. 7, http://www.sowatec.com
Tel: +41-(0)1-952 55 55
Fax: +41-(0)1-952 55 66
----------------------------------------------
Aaron "Optimizer" Digulla, [EMAIL PROTECTED]
==============================================