[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH][IA64] fix configure VHPT size per domain
Hi Keir, Sorry, my patch (cset 16136, configure VHPT size per domain for IA64) was a little bit kludge and implies a bug. PV domain can't boot up in some VHPT size. Please apply the attached patch. Thanks, Kouya Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> diff -r 98ac6d05aed2 tools/libxc/xc_dom.h --- a/tools/libxc/xc_dom.h Sun Oct 21 15:58:00 2007 -0600 +++ b/tools/libxc/xc_dom.h Mon Oct 22 19:15:27 2007 +0900 @@ -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 98ac6d05aed2 tools/libxc/xc_dom_ia64.c --- a/tools/libxc/xc_dom_ia64.c Sun Oct 21 15:58:00 2007 -0600 +++ b/tools/libxc/xc_dom_ia64.c Mon Oct 22 18:27:31 2007 +0900 @@ -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 98ac6d05aed2 tools/python/xen/lowlevel/xc/xc.c --- a/tools/python/xen/lowlevel/xc/xc.c Sun Oct 21 15:58:00 2007 -0600 +++ b/tools/python/xen/lowlevel/xc/xc.c Mon Oct 22 19:16:24 2007 +0900 @@ -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 98ac6d05aed2 tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Sun Oct 21 15:58:00 2007 -0600 +++ b/tools/python/xen/xend/image.py Mon Oct 22 18:56:22 2007 +0900 @@ -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-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |