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

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



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

 


Rackspace

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