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

Re: [Xen-devel] Walking guest page tables...

To: Matthew Donovan <matthew@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Walking guest page tables...
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Wed, 23 Jul 2008 09:44:18 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 23 Jul 2008 01:44:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <60D45469A1AAD311A04C009027B6BF680651E503@SERVER20>
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: <60D45469A1AAD311A04C009027B6BF680651E503@SERVER20>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17 (2007-11-01)
At 10:23 -0400 on 22 Jul (1216722197), Matthew Donovan wrote:
> Is it possible to walk an HVM guest's page tables?  Can someone point me to
> code that does it?

>From inside Xen?  paging_gva_to_gfn().

> I read that the dirty page logging that occurs during live migration starts
> by making all the pages readonly but when I trace the code for
> paging_log_dirty_enable(), it doesn't look like that's happening.

There are two versions of log-dirty; by far the easier to understand is
the hardware-assisted paging code (aka NPT aka EPT); look at
hap_enable_log_dirty() &c in xen/arch/x86/mm/hap/hap.c, and 
svm_do_nested_pgfault() in xen/arch/x86/hvm/svm/svm.c

The other version is in the shadow pagetable code and actually removes
_all_ mappings of guest memory (by calling shadow_blow_tables) and
then marks pages dirty when it puts writeable mappings into the shadows
(enforced in _sh_propagate() in xen/arch/x86/mmshadow/multi.c.

Tim.

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

<Prev in Thread] Current Thread [Next in Thread>