WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: about fixup_page_fault

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: about fixup_page_fault
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Wed, 17 Dec 2008 11:04:39 +0000
Cc: "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Yang, Xiaowei" <xiaowei.yang@xxxxxxxxx>, Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>
Delivery-date: Wed, 17 Dec 2008 03:05:05 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C56E8BEE.204D4%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20081217105345.GI460@xxxxxxxxxxxxxxxxxxxxx> <C56E8BEE.204D4%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17 (2007-11-01)
At 10:58 +0000 on 17 Dec (1229511534), Keir Fraser wrote:
> On 17/12/2008 10:53, "Tim Deegan" <Tim.Deegan@xxxxxxxxxx> wrote:
> 
> > At 09:04 +0000 on 17 Dec (1229504644), Keir Fraser wrote:
> >> A Xen fault shouldn't cause a lookup in guest tables for HVM guests.
> > 
> > Looks like it does, though. :(  The check in fixup_page_fault should
> > probably be more like:
> 
> But wouldn't this just cause an infinite loop?

I thought that was what Kevin was reporting.

> Since shadow code would fix up the fault in the guest shadow tables,
> which the hypervisor is not running on?

Yes, exactly.  But it would only do that for faulting accesses from Xen
that (a) weren't fixed up by any of the other mechanism, and (b)
happened to be to addresses that were mapped in the guest tables.  And
Xen would never do such a thing. :)

Tim.

>  -- Keir
> 
> > if ( (paging_mode_external(d) && guest_mode(regs))
> >      || (paging_mode_enabled(d) && !paging_mode_external(d)) )
> > 
> > That is, unconditionally call paging_fault() for PV guests (who
> > shouldn't be allowed map the 0 page, right?), and call for HVM guests
> > only if the guest caused the fault.
> > 
> > Potentially it can all be tidied up a bit by moving the other
> > HVM-specific call out of the if (IN_HYPERVISOR_RANGE) block at the top.
> 
> 

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Citrix Systems (R&D) Ltd.
[Company #02300071, SL9 0DZ, UK.]

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel