xen/hv_tools.patch

98 lines
4.4 KiB
Diff

Index: xen-3.4.1-testing/tools/python/xen/lowlevel/xc/xc.c
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/lowlevel/xc/xc.c
+++ xen-3.4.1-testing/tools/python/xen/lowlevel/xc/xc.c
@@ -890,14 +890,14 @@ static PyObject *pyxc_hvm_build(XcObject
int i;
#endif
char *image;
- int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1;
+ int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1, extid=0;
static char *kwd_list[] = { "domid",
- "memsize", "image", "target", "vcpus", "acpi",
- "apic", NULL };
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iiii", kwd_list,
- &dom, &memsize, &image, &target, &vcpus,
- &acpi, &apic) )
+ "memsize", "image", "target", "vcpus", "extid",
+ "acpi", "apic", NULL };
+ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iiiii", kwd_list,
+ &dom, &memsize, &image, &target, &extid,
+ &vcpus, &acpi, &apic) )
return NULL;
if ( target == -1 )
@@ -923,6 +923,7 @@ static PyObject *pyxc_hvm_build(XcObject
va_hvm->checksum -= sum;
munmap(va_map, XC_PAGE_SIZE);
#endif
+ xc_set_hvm_param(self->xc_handle, dom, HVM_PARAM_EXTEND_HYPERVISOR, extid);
return Py_BuildValue("{}");
}
Index: xen-3.4.1-testing/tools/python/xen/xend/XendConfig.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/XendConfig.py
+++ xen-3.4.1-testing/tools/python/xen/xend/XendConfig.py
@@ -143,6 +143,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
'monitor': int,
'nographic': int,
'pae' : int,
+ 'extid': int,
'rtc_timeoffset': int,
'serial': str,
'sdl': int,
Index: xen-3.4.1-testing/tools/python/xen/xend/image.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/image.py
+++ xen-3.4.1-testing/tools/python/xen/xend/image.py
@@ -762,6 +762,7 @@ class HVMImageHandler(ImageHandler):
self.apic = int(vmConfig['platform'].get('apic', 0))
self.acpi = int(vmConfig['platform'].get('acpi', 0))
+ self.extid = int(vmConfig['platform'].get('extid', 0))
self.guest_os_type = vmConfig['platform'].get('guest_os_type')
@@ -878,6 +879,7 @@ class HVMImageHandler(ImageHandler):
log.debug("memsize = %d", memmax_mb)
log.debug("target = %d", mem_mb)
log.debug("vcpus = %d", self.vm.getVCpuCount())
+ log.debug("extid = %d", self.extid)
log.debug("acpi = %d", self.acpi)
log.debug("apic = %d", self.apic)
@@ -886,6 +888,7 @@ class HVMImageHandler(ImageHandler):
memsize = memmax_mb,
target = mem_mb,
vcpus = self.vm.getVCpuCount(),
+ extid = self.extid,
acpi = self.acpi,
apic = self.apic)
rc['notes'] = { 'SUSPEND_CANCEL': 1 }
Index: xen-3.4.1-testing/tools/python/xen/xm/create.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xm/create.py
+++ xen-3.4.1-testing/tools/python/xen/xm/create.py
@@ -229,6 +229,10 @@ gopts.var('viridian', val='VIRIDIAN',
use="""Expose Viridian interface to x86 HVM guest?
(Default is 0).""")
+gopts.var('extid', val='EXTID',
+ fn=set_int, default=0,
+ use="Specify extention ID for a HVM domain.")
+
gopts.var('acpi', val='ACPI',
fn=set_int, default=1,
use="Disable or enable ACPI of HVM domain.")
@@ -925,7 +929,7 @@ def configure_vifs(config_devs, vals):
def configure_hvm(config_image, vals):
"""Create the config for HVM devices.
"""
- args = [ 'device_model', 'pae', 'vcpus', 'boot', 'fda', 'fdb', 'timer_mode',
+ args = [ 'device_model', 'pae', 'extid', 'vcpus', 'boot', 'fda', 'fdb', 'timer_mode',
'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'vnclisten',
'sdl', 'display', 'xauthority', 'rtc_timeoffset', 'monitor',