mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Improved "PGDs must be under 4GB" handling for PAE.
Signed-off-by: ian@xensource.com
This commit is contained in:
1 parent
8ecda20869
commit
cab0ef71c3
7 files changed
+100
-15
No files matched your search
@@ -842,6 +842,7 @@ static PyObject *pyxc_domain_memory_increase_reservation(PyObject *self,
|
||||
u32 dom;
|
||||
unsigned long mem_kb;
|
||||
unsigned int extent_order = 0 , address_bits = 0;
|
||||
unsigned long nr_extents;
|
||||
|
||||
static char *kwd_list[] = { "dom", "mem_kb", "extent_order", "address_bits", NULL };
|
||||
|
||||
@@ -849,8 +850,12 @@ static PyObject *pyxc_domain_memory_increase_reservation(PyObject *self,
|
||||
&dom, &mem_kb, &extent_order, &address_bits) )
|
||||
return NULL;
|
||||
|
||||
/* round down to nearest power of 2. Assume callers using extent_order>0
|
||||
know what they are doing */
|
||||
nr_extents = (mem_kb / (XC_PAGE_SIZE/1024)) >> extent_order;
|
||||
if ( xc_domain_memory_increase_reservation(xc->xc_handle, dom,
|
||||
mem_kb, extent_order, address_bits) )
|
||||
nr_extents, extent_order,
|
||||
address_bits, NULL) )
|
||||
return PyErr_SetFromErrno(xc_error);
|
||||
|
||||
Py_INCREF(zero);
|
||||
|
||||
@@ -160,8 +160,9 @@ class ImageHandler:
|
||||
|
||||
try:
|
||||
# Give the domain some memory below 4GB
|
||||
lmem_kb = 4096
|
||||
xc.domain_memory_increase_reservation(dom, min(lmem_kb,mem_kb), 0, 32)
|
||||
lmem_kb = 0
|
||||
if lmem_kb > 0:
|
||||
xc.domain_memory_increase_reservation(dom, min(lmem_kb,mem_kb), 0, 32)
|
||||
if mem_kb > lmem_kb:
|
||||
xc.domain_memory_increase_reservation(dom, mem_kb-lmem_kb, 0, 0)
|
||||
except:
|
||||
|
||||