# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1193059273 -3600
# Node ID dc2ff26bbdf6254b339589bf23fd5dae7fe128b7
# Parent 3e7c86602c70d2d587aafbef957d644f48cd6da9
ia64: Fix ia64 PV domain creation with new vhpt-size parameter.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
---
tools/libxc/xc_dom.h | 1 +
tools/libxc/xc_dom_ia64.c | 2 +-
tools/python/xen/lowlevel/xc/xc.c | 12 ++++++++----
tools/python/xen/xend/image.py | 7 +++----
4 files changed, 13 insertions(+), 9 deletions(-)
diff -r 3e7c86602c70 -r dc2ff26bbdf6 tools/libxc/xc_dom.h
--- a/tools/libxc/xc_dom.h Mon Oct 22 14:19:22 2007 +0100
+++ b/tools/libxc/xc_dom.h Mon Oct 22 14:21:13 2007 +0100
@@ -95,6 +95,7 @@ struct xc_dom_image {
int guest_xc;
domid_t guest_domid;
+ int8_t vhpt_size_log2; /* for IA64 */
int shadow_enabled;
int xen_version;
diff -r 3e7c86602c70 -r dc2ff26bbdf6 tools/libxc/xc_dom_ia64.c
--- a/tools/libxc/xc_dom_ia64.c Mon Oct 22 14:19:22 2007 +0100
+++ b/tools/libxc/xc_dom_ia64.c Mon Oct 22 14:21:13 2007 +0100
@@ -260,7 +260,7 @@ int arch_setup_bootearly(struct xc_dom_i
domctl.u.arch_setup.bp = (dom->start_info_pfn << PAGE_SHIFT)
+ sizeof(start_info_t);
domctl.u.arch_setup.maxmem = dom->total_pages << PAGE_SHIFT;
- domctl.u.arch_setup.vhpt_size_log2 = dom->flags;
+ domctl.u.arch_setup.vhpt_size_log2 = dom->vhpt_size_log2;
rc = do_domctl(dom->guest_xc, &domctl);
return rc;
}
diff -r 3e7c86602c70 -r dc2ff26bbdf6 tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c Mon Oct 22 14:19:22 2007 +0100
+++ b/tools/python/xen/lowlevel/xc/xc.c Mon Oct 22 14:21:13 2007 +0100
@@ -413,6 +413,7 @@ static PyObject *pyxc_linux_build(XcObje
char *image, *ramdisk = NULL, *cmdline = "", *features = NULL;
int flags = 0;
int store_evtchn, console_evtchn;
+ int vhpt = 0;
unsigned int mem_mb;
unsigned long store_mfn = 0;
unsigned long console_mfn = 0;
@@ -425,19 +426,22 @@ static PyObject *pyxc_linux_build(XcObje
"console_evtchn", "image",
/* optional */
"ramdisk", "cmdline", "flags",
- "features", NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiis|ssis", kwd_list,
+ "features", "vhpt", NULL };
+
+ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiis|ssisi", kwd_list,
&domid, &store_evtchn, &mem_mb,
&console_evtchn, &image,
/* optional */
&ramdisk, &cmdline, &flags,
- &features) )
+ &features, &vhpt) )
return NULL;
xc_dom_loginit();
if (!(dom = xc_dom_allocate(cmdline, features)))
return pyxc_error_to_exception();
+
+ /* for IA64 */
+ dom->vhpt_size_log2 = vhpt;
if ( xc_dom_linux_build(self->xc_handle, dom, domid, mem_mb, image,
ramdisk, flags, store_evtchn, &store_mfn,
diff -r 3e7c86602c70 -r dc2ff26bbdf6 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py Mon Oct 22 14:19:22 2007 +0100
+++ b/tools/python/xen/xend/image.py Mon Oct 22 14:21:13 2007 +0100
@@ -198,6 +198,7 @@ class LinuxImageHandler(ImageHandler):
ostype = "linux"
flags = 0
+ vhpt = 0
def buildDomain(self):
store_evtchn = self.vm.getStorePort()
@@ -225,7 +226,8 @@ class LinuxImageHandler(ImageHandler):
cmdline = self.cmdline,
ramdisk = self.ramdisk,
features = self.vm.getFeatures(),
- flags = self.flags)
+ flags = self.flags,
+ vhpt = self.vhpt)
class PPC_LinuxImageHandler(LinuxImageHandler):
@@ -533,9 +535,6 @@ class IA64_Linux_ImageHandler(LinuxImage
LinuxImageHandler.configure(self, vmConfig)
self.vhpt = int(vmConfig['platform'].get('vhpt', 0))
- def buildDomain(self):
- self.flags = self.vhpt
- return LinuxImageHandler.buildDomain(self)
class X86_HVM_ImageHandler(HVMImageHandler):
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|