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


[Xen-devel] Shadow Code Reorganization

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Shadow Code Reorganization
From: Michael Vrable <mvrable@xxxxxxxxxxx>
Date: Sun, 24 Jul 2005 13:42:27 -0700
Delivery-date: Sun, 24 Jul 2005 20:41:02 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
I'm trying to understand some of the changes that were made to the
shadow page table code a couple weeks ago to add support for 64-bit
modes: changesets f261f14b9781f949f95a328433eff187c677a70b and
0bcfd66a431ebfc70fc068a134e684568ac02966, committed on July 11.

I'm trying to make sense of what seems to be some code duplication.  In
xen/arch/x86, there are three files related to shadow mode: shadow.c,
shadow32.c, and shadow_public.c.  In my x86 build, only shadow32.c is
built.  shadow.c seems to contain a lot of similar code.  The comments
at the top of the files are also confusing; shadow32.c claims that it is
shadow.c, and shadow.c claims that it is shadow_64.c.

The Makefile is not very illuminating; for an x86_64 build, shadow32.o
is not built (not surprising), otherwise, shadow.o, shadow_public.o, and
shadow_xxx.o are skipped (the first two names sound rather generic to
me, and shadow_xxx.o looks like part of a not-quite-finished change).

Can anyone explain how this code is supposed to be structured, what is
supposed to end up in each of the files, and whether the files are still
in need of some renaming (say, shadow.c -> shadow64.c)?

--Michael Vrable

Xen-devel mailing list

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