898ade9d0e
disk in Xen kernel 26133-IOMMU-defer-BM-disable.patch 26324-IOMMU-assign-params.patch 26325-IOMMU-add-remove-params.patch 26326-VT-d-context-map-params.patch 26327-AMD-IOMMU-flush-params.patch 26328-IOMMU-pdev-type.patch 26329-IOMMU-phantom-dev.patch 26330-VT-d-phantom-MSI.patch 26331-IOMMU-phantom-dev-quirk.patch - Upstream patches from Jan 26294-x86-AMD-Fam15-way-access-filter.patch 26320-IOMMU-domctl-assign-seg.patch 26332-x86-compat-show-guest-stack-mfn.patch 26333-x86-get_page_type-assert.patch - bnc#794316 - VUL-0: CVE-2012-5634: xen: VT-d interrupt remapping source validation flaw (XSA-33) CVE-2012-5634-xsa33.patch - Update to Xen 4.2.1 c/s 25952 - Upstream patches from Jan 26195-x86-compat-atp-gmfn-range-cont.patch 26196-ACPI-set-PDC-bits-rc.patch 26200-IOMMU-debug-verbose.patch 26203-x86-HAP-dirty-vram-leak.patch 26229-gnttab-version-switch.patch (Replaces CVE-2012-5510-xsa26.patch) 26230-x86-HVM-limit-batches.patch (Replaces CVE-2012-5511-xsa27.patch) OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=220
141 lines
6.3 KiB
Diff
141 lines
6.3 KiB
Diff
Index: xen-4.2.0-testing/tools/python/xen/xm/create.py
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/python/xen/xm/create.py
|
|
+++ xen-4.2.0-testing/tools/python/xen/xm/create.py
|
|
@@ -535,6 +535,21 @@ gopts.var('usbdevice', val='NAME',
|
|
fn=set_value, default='',
|
|
use="Name of USB device to add?")
|
|
|
|
+gopts.var('watchdog', val='NAME',
|
|
+ fn=set_value, default='',
|
|
+ use="Watchdog device to use. May be ib700 or i6300esb")
|
|
+
|
|
+gopts.var('watchdog_action', val='reset|shutdown|poweroff|pause|none|dump',
|
|
+ fn=set_value, default="reset",
|
|
+ use="""Action when watchdog timer expires:
|
|
+ - reset: Default, forcefully reset the guest;
|
|
+ - shutdown: Gracefully shutdown the guest (not recommended);
|
|
+ - poweroff: Forcefully power off the guest;
|
|
+ - pause: Pause the guest;
|
|
+ - none: Do nothing;
|
|
+ - dump: Automatically dump the guest;
|
|
+ """)
|
|
+
|
|
gopts.var('description', val='NAME',
|
|
fn=set_value, default='',
|
|
use="Description of a domain")
|
|
@@ -1097,6 +1112,7 @@ def configure_hvm(config_image, vals):
|
|
'usb', 'usbdevice',
|
|
'vcpus', 'vnc', 'vncconsole', 'vncdisplay', 'vnclisten',
|
|
'vncunused', 'viridian', 'vpt_align',
|
|
+ 'watchdog', 'watchdog_action',
|
|
'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci',
|
|
'memory_sharing' ]
|
|
|
|
Index: xen-4.2.0-testing/tools/python/xen/xm/xenapi_create.py
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/python/xen/xm/xenapi_create.py
|
|
+++ xen-4.2.0-testing/tools/python/xen/xm/xenapi_create.py
|
|
@@ -1113,7 +1113,9 @@ class sxp2xml:
|
|
'xen_platform_pci',
|
|
'tsc_mode'
|
|
'description',
|
|
- 'nomigrate'
|
|
+ 'nomigrate',
|
|
+ 'watchdog',
|
|
+ 'watchdog_action'
|
|
]
|
|
|
|
platform_configs = []
|
|
Index: xen-4.2.0-testing/tools/python/xen/xend/image.py
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/python/xen/xend/image.py
|
|
+++ xen-4.2.0-testing/tools/python/xen/xend/image.py
|
|
@@ -855,7 +855,8 @@ class HVMImageHandler(ImageHandler):
|
|
|
|
dmargs = [ 'boot', 'fda', 'fdb', 'soundhw',
|
|
'localtime', 'serial', 'stdvga', 'isa',
|
|
- 'acpi', 'usb', 'usbdevice', 'gfx_passthru' ]
|
|
+ 'acpi', 'usb', 'usbdevice', 'gfx_passthru',
|
|
+ 'watchdog', 'watchdog_action' ]
|
|
|
|
for a in dmargs:
|
|
v = vmConfig['platform'].get(a)
|
|
@@ -863,6 +864,7 @@ class HVMImageHandler(ImageHandler):
|
|
# python doesn't allow '-' in variable names
|
|
if a == 'stdvga': a = 'std-vga'
|
|
if a == 'keymap': a = 'k'
|
|
+ if a == 'watchdog_action': a = 'watchdog-action'
|
|
|
|
# Handle booleans gracefully
|
|
if a in ['localtime', 'std-vga', 'isa', 'usb', 'acpi']:
|
|
Index: xen-4.2.0-testing/tools/python/xen/xend/XendConfig.py
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/python/xen/xend/XendConfig.py
|
|
+++ xen-4.2.0-testing/tools/python/xen/xend/XendConfig.py
|
|
@@ -192,6 +192,8 @@ XENAPI_PLATFORM_CFG_TYPES = {
|
|
'xen_platform_pci': int,
|
|
"gfx_passthru": int,
|
|
'oos' : int,
|
|
+ 'watchdog': str,
|
|
+ 'watchdog_action': str,
|
|
}
|
|
|
|
# Xen API console 'other_config' keys.
|
|
Index: xen-4.2.0-testing/tools/libxl/libxl_dm.c
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/libxl/libxl_dm.c
|
|
+++ xen-4.2.0-testing/tools/libxl/libxl_dm.c
|
|
@@ -196,6 +196,12 @@ static char ** libxl__build_device_model
|
|
"-usbdevice", b_info->u.hvm.usbdevice, NULL);
|
|
}
|
|
}
|
|
+ if (b_info->u.hvm.watchdog || b_info->u.hvm.watchdog_action) {
|
|
+ flexarray_append(dm_args, "-watchdog");
|
|
+ if (b_info->u.hvm.watchdog_action) {
|
|
+ flexarray_vappend(dm_args, "-watchdog-action", b_info->u.hvm.watchdog_action, NULL);
|
|
+ }
|
|
+ }
|
|
if (b_info->u.hvm.soundhw) {
|
|
flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, NULL);
|
|
}
|
|
@@ -449,6 +455,12 @@ static char ** libxl__build_device_model
|
|
"-usbdevice", b_info->u.hvm.usbdevice, NULL);
|
|
}
|
|
}
|
|
+ if (b_info->u.hvm.watchdog || b_info->u.hvm.watchdog_action) {
|
|
+ flexarray_append(dm_args, "-watchdog");
|
|
+ if (b_info->u.hvm.watchdog_action) {
|
|
+ flexarray_vappend(dm_args, "-watchdog-action", b_info->u.hvm.watchdog_action, NULL);
|
|
+ }
|
|
+ }
|
|
if (b_info->u.hvm.soundhw) {
|
|
flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, NULL);
|
|
}
|
|
Index: xen-4.2.0-testing/tools/libxl/libxl_types.idl
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/libxl/libxl_types.idl
|
|
+++ xen-4.2.0-testing/tools/libxl/libxl_types.idl
|
|
@@ -320,6 +320,8 @@ libxl_domain_build_info = Struct("domain
|
|
("usbdevice", string),
|
|
("soundhw", string),
|
|
("xen_platform_pci", libxl_defbool),
|
|
+ ("watchdog", string),
|
|
+ ("watchdog_action", string),
|
|
])),
|
|
("pv", Struct(None, [("kernel", string),
|
|
("slack_memkb", MemKB),
|
|
Index: xen-4.2.0-testing/tools/libxl/xl_cmdimpl.c
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/libxl/xl_cmdimpl.c
|
|
+++ xen-4.2.0-testing/tools/libxl/xl_cmdimpl.c
|
|
@@ -1412,6 +1412,8 @@ skip_vfb:
|
|
xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
|
|
xlu_cfg_get_defbool(config, "xen_platform_pci",
|
|
&b_info->u.hvm.xen_platform_pci, 0);
|
|
+ xlu_cfg_replace_string (config, "watchdog", &b_info->u.hvm.watchdog, 0);
|
|
+ xlu_cfg_replace_string (config, "watchdog_action", &b_info->u.hvm.watchdog_action, 0);
|
|
}
|
|
|
|
xlu_cfg_destroy(config);
|