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 5] [PATCH] replace extent list with p2m/m2p mapping

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [PATCH 0 of 5] [PATCH] replace extent list with p2m/m2p mapping
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Thu, 01 Mar 2007 13:39:15 -0500
Delivery-date: Thu, 01 Mar 2007 11:38:37 -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
Revised set of patches to addressing memory management [1] ugliness.  
Applies to xenppc-unstable.hg changeset: 14607:0902dfafca1c

dom0 booted, multiple domUs created/used/destroyed

Patches:

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

clean_up_dom0_memory_alloc.patch:
 - Move rma allocation into construct_dom0()
 - Move vcpu0 allocation into construct_dom0()
 - Allow dom0_mem to set d->max_pages
 - Be verbose when aligning dom0_mem with RMA check

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 and avoid putting memory in I/O hole.
 - 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()
 - add platform.c/platform.h to account for iohole
 - remove old struct page_extents and related functions
 - change cpu_io_mfn() to use platform code
 - removed PFN_TYPE_RMA, not needed
 - change pfnlist/getmemlist to use p2m map

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
20 files changed, 387 insertions(+), 181 deletions(-)
tools/libxc/powerpc64/xc_linux_build.c |   37 +++++-
xen/arch/powerpc/Makefile              |    1 
xen/arch/powerpc/domain.c              |   65 ++++++++++
xen/arch/powerpc/domain_build.c        |   82 ++++++++++---
xen/arch/powerpc/domctl.c              |   18 +--
xen/arch/powerpc/iommu.c               |    3 
xen/arch/powerpc/memory.c              |    1 
xen/arch/powerpc/mm.c                  |  192 ++++++++++++++++----------------
xen/arch/powerpc/ofd_fixup_memory.c    |   33 +++--
xen/arch/powerpc/platform.c            |   35 +++++
xen/arch/powerpc/powerpc64/ppc970.c    |    8 -
xen/arch/powerpc/setup.c               |    7 -
xen/common/domctl.c                    |    4 
xen/common/memory.c                    |    3 
xen/include/asm-ia64/shadow.h          |    2 
xen/include/asm-powerpc/domain.h       |    9 -
xen/include/asm-powerpc/mm.h           |   29 +---
xen/include/asm-powerpc/platform.h     |   27 ++++
xen/include/asm-powerpc/shadow.h       |   10 +
xen/include/asm-x86/shadow.h           |    2 
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel