|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [XenPPC] [PATCH 0 of 5] [PATCH] replace extent list with p2m/m2p mapping,
Ryan Harper <=
|
|
|
|
|