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

[XenPPC] [PATCH 0 of 6] [PATCH] replace extent list with p2m/m2p mapping

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [PATCH 0 of 6] [PATCH] replace extent list with p2m/m2p mapping
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Wed, 21 Feb 2007 18:16:58 -0500
Delivery-date: Wed, 21 Feb 2007 16:16:21 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
First round of patches addressing memory management [1] ugliness.  
During implementation, determined we needed to have some sort of machine 
to physical mapping in addition to the p2m mapping as discussed.

Patches:

add_arch_hook_for_max_mem.patch:
 - dummy call for x86/ia64/ppc

clean_up_dom0_memory_alloc.patch: 
 - move dom0 memory allocation out of setup.c and into construct_dom0(). 
   This makes allocating p2m for dom0 easier.
 - Set dom0->max_pages based on parsed value from dom0_mem cmdline rather
   than defaulting to ~0UL; no need for p2m table to be that big.

add_powerpc_guest_physmap_max_mem.patch:
 - implement max_mem arch hook for ppc.
 - have dom0 create p2m table

ppc_guest_physmap_add_remove_page.patch: 
 - implement add/remove page hooks for ppc.
 - change allocate_extents not call add_extent()
 - for each page allocated, call physmap_add_page() to get p2m mapping
 - change pfn2mfn to use p2m table
 - change mfn_to_gmfn() to use p2m table
 - use d->tot_pages rather than extent list to create memory nodes in
   dom0 of tree
   
add_m2p_table_for_ppc.patch:
 - create machine_to_phys_table() for m2p mapping
 - wire up m2p accessors {get/set}_gpfn_from_mfn()
 - change guest_physmap_{add/remove}_page() to do m2p mapping
 - change mfn_to_gmfn() to use m2p mapping instead of extent calculation
 - add check for page ownership in mfn_to_gmfn()
    
xc_linux_build_use_populate_physmap.patch:
 - change libxc/powerc64/xc_linux_build() to use populate_physmap hcall
 
 Note that a 1 line patch to linux is needed to allow populate_physmap 
 to work.  I'll send that seperately from this patchset.

Signed-off-by: Ryan Harper <ryanh@xxxxxxxxxx>
 
1. http://lists.xensource.com/archives/html/xen-ppc-devel/2007-02/msg00047.html
12 files changed, 243 insertions(+), 87 deletions(-)
tools/libxc/powerpc64/xc_linux_build.c |   37 ++++++-
xen/arch/powerpc/domain.c              |   60 ++++++++++++
xen/arch/powerpc/domain_build.c        |   33 ++++--
xen/arch/powerpc/memory.c              |    1 
xen/arch/powerpc/mm.c                  |  157 +++++++++++++++++++++-----------
xen/arch/powerpc/ofd_fixup_memory.c    |    8 -
xen/arch/powerpc/setup.c               |    7 -
xen/common/domctl.c                    |    4 
xen/include/asm-powerpc/domain.h       |    3 
xen/include/asm-powerpc/mm.h           |   14 +-
xen/include/asm-powerpc/shadow.h       |    4 
xen/include/xen/shadow.h               |    2 
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel