[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] How EPT translates an X86_32 guest physical address?


  • To: Superymk <superymkxen@xxxxxxxxxxx>
  • From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
  • Date: Wed, 17 Nov 2010 10:11:48 +0000
  • Cc: Xen-devel@xxxxxxxxxxxxxxxxxxx, Chu Rui <ruichu@xxxxxxxxx>
  • Delivery-date: Wed, 17 Nov 2010 02:12:36 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=jCmZARO9BVnXEe4vFuYYjcF1IriF3xIIQJbpa9S9Q/LqzMfVaWBEPl1HJ36EwIxDYZ BL715mr2O3S2Q/+Ei4OQuq8YvU2RiNeJlLEXoS/XEsJGHRHNXI1KmRH7cgTSFvn7tr4h VtN4s0W0+CdYyW/XTKam6WkhDwASXs8LEZ0rs=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

If you're in 64-bit mode and the hardware had a TLB miss for virtual
address of 0xdeadb000, how would the hardware walk the pagetables?
There are 20 bits for the virtual frame number, but each page-table
entry has 9 bits.

It's the exact same situation if the guest cr3 was set to 0xdeadb000.
The indexes into the higher-level tables would simply be zero.

 -George

On Wed, Nov 17, 2010 at 9:40 AM, Superymk <superymkxen@xxxxxxxxxxx> wrote:
> Your figure points out the exactly EPT translation mechanism for an X64
> guest.
>
> In the face of an X86_32 guest, how can EPT find the right EPML4 entry when
> translating CR3's pfn value into the right mfn value? There are 20 bits for
> indexing in total, while each level of EPT paging structure uses only 9 bits
> for indexing.
>
>
> On 11/17/2010 5:20 PM, Chu Rui wrote:
>
> Maybe this figure depicts the process...
>
> The original URL is http://software.intel.com/file/25040
>
> 2010/11/17 Superymk <superymkxen@xxxxxxxxxxx>
>>
>> Hi all,
>>
>> Can some one please tell me how EPT translates an X86_32 guest physical
>> address? I have read the Intel's manual, but it seems there is no discussion
>> about this condition.
>>
>> My concern is that, the guest CR3 pfn can be considered as being
>> constituted by two 10 bits indexers for an X86_32 virtual machine. However,
>> the EPT paging structures is similar with the page tables used on X86_64
>> platform. which has four 9 bits indexers in its address layout. In addition,
>> each EPT entry is 64 bits long. Hence, a 4K page can hold at most 512
>> entries. So, if the guest CR3's pfn is 0xfffff (an X86_32 virtual machine)
>> and I get a valid EPTP, how EPT will perform the translation?
>>
>> Thanks,
>> Superymk
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
>

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.