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] Consult some concepts about shadow paging mechanism

To: Jui-Hao Chiang <windtracekimo@xxxxxxxxx>
Subject: Re: [Xen-devel] Consult some concepts about shadow paging mechanism
From: Gianluca Guida <glguida@xxxxxxxxx>
Date: Thu, 23 Apr 2009 17:46:35 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 23 Apr 2009 08:46:59 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=AXKL60bEDtxsTvMEFOid5n8Qn0uTbtj//0lWV3L8N8Y=; b=etPQ8q6JaOeqSGeW2XAGH6XlPcobPk9AC/GCbON+i74Ce8EYv5hmmpW6z4kgM90eqy RYjqxKZr9xNwh3rTNfBZInfQiIY2Mw/BBK+aqdaaDDNmCtDJI7eQNjogE+BSDPkny2zh FVW7qHGgm3ZfOlCsoupaCmmRJSsEBNVXXDky0=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=HAqXkK+SNKTLY/6bJcH+jyHdJCjdQic4gGQ7NZWHMHTKTrcEB69qc+g//RNeKSmD5s Y6iMkrtjsGuwKeF8NfAAjjeaVB3gy7UTWMoNKr80WtavlLfUJNyzKb2L5SZgkJ/QMkve m+88SpMNggU6FwLLdeA3lE00HNKVAtHtrmWtI=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <52cf60ee0904220614m343aa6c2v13c244fc878825f7@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: <52cf60ee0904220614m343aa6c2v13c244fc878825f7@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On Wed, Apr 22, 2009 at 3:14 PM, Jui-Hao Chiang <windtracekimo@xxxxxxxxx> wrote:
> Assume we have the following terms
> GPT: guest page table
> SPT: shadow page table
> (Question a) When guest OS is running, is it always using SPT for
> address translation?

Yes, the guest always run directly on shadow pagetables.

> If it is the case, how does guest OS refer and
> modify its own GPT content?

The guest will map its own pagetables (GPT) in the guest page tables
itself. It will access them trasparently, and the shadow code will
kick in doing the various magic to keep guest and shadows in sync.

> It seems that there is a page table entry
> in SPT for the GPT page.

Yes, exactly.

> (Question b) The hypervisor is performing synchronization between GPT
> and SPT. When guest OS increase access to some page (call it
> Normal_Page) by marking 'read only' GPT entries as 'read write',
> what's the read-write mode of the GPT page in the beginning?
> (1) If it's read-only in SPT, the this modification will trigger a
> page fault for GPT page, so that hypervisor can synchronize those two
> tables at this moment.

Yes, that's exactly what happens in general. GPT pages are always
mapped read only in shadows. Well, there's an exception at the moment:
level 1 pagetables (page tables, as opposed to page directories, etc.)
can be mapped writable, but this is a much longer discussion.


It was a type of people I did not know, I found them very strange and
they did not inspire confidence at all. Later I learned that I had been
introduced to electronic engineers.
                                                  E. W. Dijkstra

Xen-devel mailing list

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