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