|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
Re:[XenPPC] [xenppc-unstable] [TOOLS][POWERPC] Use a smaller page array
This changeset will need a little more 'splainin
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 2fcfe6600b1db8ca2ba78a00317f2da6fc2620bf
# Parent d408fcf1975a43593d746b2acbe840dbffd911b8
[TOOLS][POWERPC] Use a smaller page array and place common code in
utils.c
On PPC Dom0 Kernel communicates with Xen using something called the
XenComm. This is a way for the Kernel to describe all the physical
frames (not machine frames) the back a potentially large user-level
data structure.
the list of pages is limited to a Page and therefore can have no more
than 511 ((PAGE_SIZE/sizeof(u16)) - 1).
If you create DomU with >= 1G memory you end up with:
pages: 0x40000
page_array in bytes: pages*8 = 0x200000
page_array in pages: 0x200000 >> 12: 512
BANG!
The easy-yet-incomplete fix (as done in this patch)
- since we only scribble into the RMA we only need to fill the
page-array with that.
- since we know the RMA is machine contiguous we only need for xen
to give us the first page
and we can figure out the rest.
- This patch does this.
The right fix, necessary for save and restore, is to teach libxc to
use the start_pfn member so we can get the page_array by using
several calls. I hope to be submitting this patch up-stream today
and pushing it to xenppc-unstable.hg at the same time.
-JX
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
|
|
|
|