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]
==============================================

Reply via email to