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/
Home Products Support Community News


Re: [Xen-devel] Questions on EPT dump and creation

To: YAO <yffbrave@xxxxxxxxx>
Subject: Re: [Xen-devel] Questions on EPT dump and creation
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Mon, 18 Jul 2011 16:26:09 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 18 Jul 2011 08:27:29 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <CALchwUcx0Ydhv4C+U=h3kDZCSahBF_3ydUJ4-4+t7fY6iq-vaw@xxxxxxxxxxxxxx>
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: <CALchwUcx0Ydhv4C+U=h3kDZCSahBF_3ydUJ4-4+t7fY6iq-vaw@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)

At 21:57 +0800 on 18 Jul (1311026244), YAO wrote:
> First, I used "xm debug-key D" to dump ept mappings. But I have a doubt
> about the mapping.
> I started a 32bit HVM which memory is 512, so the max gfn should be 0x1ffff.
> But the result of "xm dmesg" showed gfn->mfn mapping until 0xfffff.
> Output looked like below:
> (XEN) gfn: fc012  mfn: 179e6
> (XEN) gfn: fc013  mfn: 179e5
> (XEN) gfn: fee00  mfn: 2e8
> (XEN) gfn: feffb  mfn: 178fd
> (XEN) gfn: feffc  mfn: 178fc
> (XEN) gfn: feffd  mfn: 178fb
> (XEN) gfn: feffe  mfn: 178fa
> (XEN) gfn: fefff  mfn: 178f9
> (XEN) gfn: fffff  mfn: 2eb
> What I think is every HVM has one EPT table and the table maps the allocated
> memory like from 0 to 0x1ffff, why does the HVM ept map all the 4G space?
> Isn't it unneccessary and waste of memory?

Guest PFN-space is not contiguous.  Like a real PC, there are some
areas of the address space just below 4GB that are used for special
things like MMIO.  So you should see RAM up to about 512MiB, then a big
gap, and then the entries above. 

> Second, I want to copy the system ept and used the copy for later
> translation. Since the HVM is 512M, so I need one PML4 pointed by eptp, one
> PDP pointed by PML4 entry[0], one PD pointed by PDP entry[0], 512 PT's
> pointed by all PD entries. After all settings are done, I'v got gfn->mfn
> mapping of 1G memory. I think it should be working, but not. Where am I
> wrong? What would I pay attention to?

As you noticed there are some entries that are not in the bottom
512MiB; you'll need to handle those as well.  

Other than that it's hard to tell from your description.  What are you
trying to achieve by copying the p2m? 


Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

Xen-devel mailing list