diff --git a/xen.changes b/xen.changes index be31ee1..0df9445 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 9 11:44:11 MST 2014 - carnold@suse.com + +- Restore 32bit ix86 support in spec file for kmps and domU tools + ------------------------------------------------------------------- Tue Jan 2 11:52:11 MST 2014 - carnold@suse.com diff --git a/xen.spec b/xen.spec index 54c0515..8a353f8 100644 --- a/xen.spec +++ b/xen.spec @@ -17,7 +17,7 @@ Name: xen -ExclusiveArch: x86_64 %arm aarch64 +ExclusiveArch: %ix86 x86_64 %arm aarch64 %define xvers 4.4 %define xvermaj 4 %define changeset 28233 @@ -27,12 +27,21 @@ ExclusiveArch: x86_64 %arm aarch64 %define with_debug 0 %define with_stubdom 0 %define with_xend 0 +%define with_dom0_support 1 %else %define with_kmp 1 %define with_debug 1 %define with_stubdom 1 %define with_qemu_traditional 1 %define with_xend 0 +%ifarch x86_64 +%define with_dom0_support 1 +%else +%define with_dom0_support 0 +%define with_stubdom 0 +%define with_qemu_traditional 0 +%define with_xend 0 +%endif %endif # EFI requires gcc46 or newer # its available in 12.1 or >= sles11sp2 @@ -234,34 +243,37 @@ Patch403: xen.migrate.tools_set_number_of_dirty_pages_during_migration.pat Patch404: xend-config.patch Patch405: xend-max-free-mem.patch Patch406: xend-hvm-default-pae.patch -Patch407: xend-xenapi-console-protocol.patch -Patch408: xend-core-dump-loc.patch -Patch409: xend-xen-api-auth.patch -Patch410: xend-checkpoint-rename.patch -Patch411: xend-xm-save-check-file.patch -Patch412: xend-xm-create-xflag.patch -Patch413: xend-domu-usb-controller.patch -Patch414: xend-devid-or-name.patch -Patch415: xend-migration-domname-fix.patch -Patch416: xend-del_usb_xend_entry.patch -Patch417: xend-xen-domUloader.patch -Patch418: xend-multi-xvdp.patch -Patch419: xend-check_device_status.patch -Patch420: xend-change_home_server.patch -Patch421: xend-minimum-restart-time.patch -Patch422: xend-disable-internal-logrotate.patch -Patch423: xend-console-port-restore.patch -Patch424: xend-vcpu-affinity-fix.patch -Patch425: xend-migration-bridge-check.patch -Patch426: xend-managed-pci-device.patch -Patch427: xend-hvm-firmware-passthrough.patch -Patch428: xend-cpuinfo-model-name.patch -Patch429: xend-xm-reboot-fix.patch -Patch430: xend-domain-lock.patch -Patch431: xend-domain-lock-sfex.patch -Patch432: xend-32on64-extra-mem.patch -Patch433: xend-hv_extid_compatibility.patch -Patch434: xend-xenpaging.autostart.patch +Patch407: xend-vif-route-ifup.patch +Patch408: xend-xenapi-console-protocol.patch +Patch409: xend-core-dump-loc.patch +Patch410: xend-xen-api-auth.patch +Patch411: xend-checkpoint-rename.patch +Patch412: xend-xm-save-check-file.patch +Patch413: xend-xm-create-xflag.patch +Patch414: xend-domu-usb-controller.patch +Patch415: xend-devid-or-name.patch +Patch416: xend-migration-domname-fix.patch +Patch417: xend-del_usb_xend_entry.patch +Patch418: xend-xen-domUloader.patch +Patch419: xend-multi-xvdp.patch +Patch420: xend-check_device_status.patch +Patch421: xend-change_home_server.patch +Patch422: xend-minimum-restart-time.patch +Patch423: xend-disable-internal-logrotate.patch +Patch424: xend-config-enable-dump-comment.patch +Patch425: xend-tools-watchdog-support.patch +Patch426: xend-console-port-restore.patch +Patch427: xend-vcpu-affinity-fix.patch +Patch428: xend-migration-bridge-check.patch +Patch429: xend-managed-pci-device.patch +Patch430: xend-hvm-firmware-passthrough.patch +Patch431: xend-cpuinfo-model-name.patch +Patch432: xend-xm-reboot-fix.patch +Patch433: xend-domain-lock.patch +Patch434: xend-domain-lock-sfex.patch +Patch435: xend-32on64-extra-mem.patch +Patch436: xend-hv_extid_compatibility.patch +Patch437: xend-xenpaging.autostart.patch # Other bug fixes or features Patch450: libxen_permissive.patch Patch451: xenconsole-no-multiple-connections.patch @@ -342,6 +354,8 @@ Authors: Ewan Mellor ... +%if %{?with_dom0_support}0 + %package libs Summary: Xen Virtualization: Libraries Group: System/Kernel @@ -422,6 +436,7 @@ migrate, and manage virtual machines using the legacy xend/xm toolstack. In addition to this package you need to install kernel-xen, xen and xen-libs to use Xen. %endif +%endif %package tools-domU Summary: Xen Virtualization: Control tools for domain U @@ -479,6 +494,8 @@ virtualized guests. %endif +%if %{?with_dom0_support}0 + %package doc-html Summary: Xen Virtualization: HTML documentation Group: Documentation/HTML @@ -496,7 +513,7 @@ your browser at file:/usr/share/doc/packages/xen/html/ Authors: -------- Ian Pratt - +%endif %prep %setup -q -n %xen_build_dir -a 1 -a 2 -a 3 -a 4 -a 5 -a 57 -a 20000 @@ -598,6 +615,9 @@ Authors: %patch432 -p1 %patch433 -p1 %patch434 -p1 +%patch435 -p1 +%patch436 -p1 +%patch437 -p1 %endif # Other bug fixes or features %patch450 -p1 @@ -661,6 +681,7 @@ configure_flags="${configure_flags} --disable-xend" --libdir=%{_libdir} \ --datadir=%{_datadir} \ --enable-blktap1 ${configure_flags} +%if %{?with_dom0_support}0 CFLAGS_SAVE=$CFLAGS %ifnarch %arm aarch64 make -C xenalyze.hg CC="gcc -I../xen/include -DMAX_CPUS=%{max_cpus} ${RPM_OPT_FLAGS}" %{?_smp_mflags} -k @@ -671,6 +692,10 @@ make -C tools/debugger/gdbsx %if %{?with_xend}0 make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes XEN_ROOT=$PWD %endif +%else +make -C tools/include/xen-foreign %{?_smp_mflags} +make tools docs %{?_smp_mflags} +%endif %if %{?with_kmp}0 # PV driver modules export XL=/usr/src/linux @@ -760,6 +785,7 @@ done %endif # Stubdom +%if %{?with_dom0_support}0 %if %{?with_stubdom}0 # remove -fstack-protector flag for stubdom build section export EXTRA_CFLAGS_XEN_TOOLS=$(echo $RPM_OPT_FLAGS |sed -e 's/-fstack-protector//g') @@ -932,6 +958,34 @@ rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xen-list.1.gz # Create symlinks for keymaps %fdupes -s $RPM_BUILD_ROOT/%{_datadir} +%else +# !with_dom0_support + +# 32 bit hypervisor no longer supported. Remove dom0 tools. +rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc +rm -rf $RPM_BUILD_ROOT/%{_datadir}/man +rm -rf $RPM_BUILD_ROOT/%{_libdir}/fs +rm -rf $RPM_BUILD_ROOT/%{_libdir}/xen +rm -rf $RPM_BUILD_ROOT/%{_libdir}/python* +rm -rf $RPM_BUILD_ROOT/usr/sbin +rm -rf $RPM_BUILD_ROOT/etc/xen +rm -rf $RPM_BUILD_ROOT/%{_datadir}/qemu-xen +rm -rf $RPM_BUILD_ROOT/var +rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/xl.sh +rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/xen* +rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/xen* +rm -f $RPM_BUILD_ROOT/%{_bindir}/*store* +rm -f $RPM_BUILD_ROOT/%{_bindir}/*trace* +rm -f $RPM_BUILD_ROOT/%{_bindir}/xenco* +rm -f $RPM_BUILD_ROOT/%{_bindir}/pygrub +rm -f $RPM_BUILD_ROOT/%{_bindir}/remus +rm -f $RPM_BUILD_ROOT/usr/etc/qemu/target-x86_64.conf +rm -f $RPM_BUILD_ROOT/usr/libexec/qemu-bridge-helper +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.so.* +%endif + +%if %{?with_dom0_support}0 + %files -f xen.files.txt %defattr(-,root,root) /boot/xen-%{version}-%{release}.gz @@ -1167,7 +1221,6 @@ rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xen-list.1.gz /etc/xen/scripts/vm-monitor /etc/xen/scripts/set-lock %{_libdir}/python%{pyver}/site-packages/xen/remus/* -#%{_libdir}/python%{pyver}/site-packages/xen/sv/* %{_libdir}/python%{pyver}/site-packages/xen/util/* %{_libdir}/python%{pyver}/site-packages/xen/xend/* %{_libdir}/python%{pyver}/site-packages/xen/xm/* @@ -1179,6 +1232,8 @@ rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xen-list.1.gz %{_mandir}/man1/xen-list.1.gz %endif %endif +# with_dom0_support +%endif %files tools-domU %defattr(-,root,root) @@ -1194,6 +1249,8 @@ rm -f $RPM_BUILD_ROOT/usr/share/man/man1/xen-list.1.gz %{_libdir}/*.so /usr/include/* +%if %{?with_dom0_support}0 + %files doc-html %defattr(-,root,root) %{_defaultdocdir}/xen/html @@ -1288,4 +1345,7 @@ fi %postun libs -p /sbin/ldconfig +# with_dom0_support +%endif + %changelog diff --git a/xend-config-enable-dump-comment.patch b/xend-config-enable-dump-comment.patch new file mode 100644 index 0000000..24e243a --- /dev/null +++ b/xend-config-enable-dump-comment.patch @@ -0,0 +1,20 @@ +bnc#684305 + +--- + tools/examples/xend-config.sxp | 3 +++ + 1 file changed, 3 insertions(+) + +Index: xen-4.2.0-testing/tools/examples/xend-config.sxp +=================================================================== +--- xen-4.2.0-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.2.0-testing/tools/examples/xend-config.sxp +@@ -250,6 +250,9 @@ + (dom0-cpus 0) + + # Whether to enable core-dumps when domains crash. ++# This setting overrides the per-domain dump value 'on_crash' and causes a ++# core dump on all crashed domains. For finer grain control, it is best to ++# disable this setting (which is default) and use the per-domain controls. + #(enable-dump no) + + # The tool used for initiating virtual TPM migration diff --git a/xend-domain-lock-sfex.patch b/xend-domain-lock-sfex.patch index 9ae376c..3cc93c6 100644 --- a/xend-domain-lock-sfex.patch +++ b/xend-domain-lock-sfex.patch @@ -2,7 +2,7 @@ Index: xen-4.4.0-testing/tools/examples/xend-config.sxp =================================================================== --- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp +++ xen-4.4.0-testing/tools/examples/xend-config.sxp -@@ -334,7 +334,7 @@ +@@ -354,7 +354,7 @@ # path // # Return 0 on success, non-zero on error. # @@ -11,7 +11,7 @@ Index: xen-4.4.0-testing/tools/examples/xend-config.sxp # -s Lock status. If lock is acquired, print any contents # on stdout and return 0. Return non-zero if lock is # available. -@@ -360,6 +360,11 @@ +@@ -380,6 +380,11 @@ # #(xend-domain-lock-utility domain-lock) diff --git a/xend-domain-lock.patch b/xend-domain-lock.patch index dff7c5e..9e4f612 100644 --- a/xend-domain-lock.patch +++ b/xend-domain-lock.patch @@ -12,7 +12,7 @@ Index: xen-4.4.0-testing/tools/examples/xend-config.sxp =================================================================== --- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp +++ xen-4.4.0-testing/tools/examples/xend-config.sxp -@@ -301,6 +301,65 @@ +@@ -321,6 +321,65 @@ # device assignment could really work properly even after we do this. #(pci-passthrough-strict-check yes) diff --git a/xend-hv_extid_compatibility.patch b/xend-hv_extid_compatibility.patch index 520e060..5feed11 100644 --- a/xend-hv_extid_compatibility.patch +++ b/xend-hv_extid_compatibility.patch @@ -10,7 +10,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/XendConfig.py 'rtc_timeoffset': int, 'parallel': str, 'serial': str, -@@ -520,6 +521,8 @@ class XendConfig(dict): +@@ -522,6 +523,8 @@ class XendConfig(dict): self['platform']['acpi_firmware'] = "" if 'timer_mode' not in self['platform']: self['platform']['timer_mode'] = 1 @@ -46,16 +46,16 @@ Index: xen-4.4.0-testing/tools/python/xen/xm/create.py gopts.var('acpi', val='ACPI', fn=set_int, default=1, use="Disable or enable ACPI of HVM domain.") -@@ -1056,7 +1060,7 @@ def configure_hvm(config_image, vals): +@@ -1071,7 +1075,7 @@ def configure_hvm(config_image, vals): 'timer_mode', 'usb', 'usbdevice', 'vcpus', 'vnc', 'vncconsole', 'vncdisplay', 'vnclisten', - 'vncunused', 'viridian', 'vpt_align', + 'vncunused', 'vpt_align', + 'watchdog', 'watchdog_action', 'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci', 'memory_sharing' ] - -@@ -1065,6 +1069,10 @@ def configure_hvm(config_image, vals): +@@ -1081,6 +1085,10 @@ def configure_hvm(config_image, vals): config_image.append([a, vals.__dict__[a]]) if vals.vncpasswd is not None: config_image.append(['vncpasswd', vals.vncpasswd]) diff --git a/xend-hvm-firmware-passthrough.patch b/xend-hvm-firmware-passthrough.patch index 64e3cb3..ee0b598 100644 --- a/xend-hvm-firmware-passthrough.patch +++ b/xend-hvm-firmware-passthrough.patch @@ -19,7 +19,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xm/create.py gopts.var('device_model', val='FILE', fn=set_value, default=None, use="Path to device model program.") -@@ -1033,6 +1041,7 @@ def configure_hvm(config_image, vals): +@@ -1048,6 +1056,7 @@ def configure_hvm(config_image, vals): 'boot', 'cpuid', 'cpuid_check', 'device_model', 'display', @@ -62,7 +62,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/image.py self.display = vmConfig['platform'].get('display') self.xauthority = vmConfig['platform'].get('xauthority') self.vncconsole = int(vmConfig['platform'].get('vncconsole', 0)) -@@ -943,6 +945,38 @@ class HVMImageHandler(ImageHandler): +@@ -945,6 +947,38 @@ class HVMImageHandler(ImageHandler): self.vm.getDomid() ]) return args @@ -101,7 +101,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/image.py def buildDomain(self): store_evtchn = self.vm.getStorePort() -@@ -958,6 +992,8 @@ class HVMImageHandler(ImageHandler): +@@ -960,6 +994,8 @@ class HVMImageHandler(ImageHandler): log.debug("vcpu_avail = %li", self.vm.getVCpuAvail()) log.debug("acpi = %d", self.acpi) log.debug("apic = %d", self.apic) @@ -110,7 +110,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/image.py rc = xc.hvm_build(domid = self.vm.getDomid(), image = self.loader, -@@ -966,7 +1002,9 @@ class HVMImageHandler(ImageHandler): +@@ -968,7 +1004,9 @@ class HVMImageHandler(ImageHandler): vcpus = self.vm.getVCpuCount(), vcpu_avail = self.vm.getVCpuAvail(), acpi = self.acpi, @@ -134,7 +134,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/XendConfig.py 'loader': str, 'display' : str, 'fda': str, -@@ -512,6 +514,10 @@ class XendConfig(dict): +@@ -514,6 +516,10 @@ class XendConfig(dict): self['platform']['nomigrate'] = 0 if self.is_hvm(): diff --git a/xend-tools-watchdog-support.patch b/xend-tools-watchdog-support.patch new file mode 100644 index 0000000..f29bc90 --- /dev/null +++ b/xend-tools-watchdog-support.patch @@ -0,0 +1,140 @@ +Index: xen-4.4.0-testing/tools/python/xen/xm/create.py +=================================================================== +--- xen-4.4.0-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.4.0-testing/tools/python/xen/xm/create.py +@@ -517,6 +517,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") +@@ -1048,6 +1063,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.4.0-testing/tools/python/xen/xm/xenapi_create.py +=================================================================== +--- xen-4.4.0-testing.orig/tools/python/xen/xm/xenapi_create.py ++++ xen-4.4.0-testing/tools/python/xen/xm/xenapi_create.py +@@ -1074,7 +1074,9 @@ class sxp2xml: + 'xen_platform_pci', + 'tsc_mode' + 'description', +- 'nomigrate' ++ 'nomigrate', ++ 'watchdog', ++ 'watchdog_action' + ] + + platform_configs = [] +Index: xen-4.4.0-testing/tools/python/xen/xend/image.py +=================================================================== +--- xen-4.4.0-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.4.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.4.0-testing/tools/python/xen/xend/XendConfig.py +=================================================================== +--- xen-4.4.0-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.4.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.4.0-testing/tools/libxl/libxl_dm.c +=================================================================== +--- xen-4.4.0-testing.orig/tools/libxl/libxl_dm.c ++++ xen-4.4.0-testing/tools/libxl/libxl_dm.c +@@ -246,6 +246,12 @@ static char ** libxl__build_device_model + } + } + } ++ 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); + } +@@ -581,6 +587,12 @@ static char ** libxl__build_device_model + return 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.4.0-testing/tools/libxl/libxl_types.idl +=================================================================== +--- xen-4.4.0-testing.orig/tools/libxl/libxl_types.idl ++++ xen-4.4.0-testing/tools/libxl/libxl_types.idl +@@ -372,6 +372,8 @@ libxl_domain_build_info = Struct("domain + ("xen_platform_pci", libxl_defbool), + ("usbdevice_list", libxl_string_list), + ("vendor_device", libxl_vendor_device), ++ ("watchdog", string), ++ ("watchdog_action", string), + ])), + ("pv", Struct(None, [("kernel", string), + ("slack_memkb", MemKB), +Index: xen-4.4.0-testing/tools/libxl/xl_cmdimpl.c +=================================================================== +--- xen-4.4.0-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.4.0-testing/tools/libxl/xl_cmdimpl.c +@@ -1694,6 +1694,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); + + if(b_info->u.hvm.vnc.listen + && b_info->u.hvm.vnc.display diff --git a/xend-vif-route-ifup.patch b/xend-vif-route-ifup.patch new file mode 100644 index 0000000..4d9d8ec --- /dev/null +++ b/xend-vif-route-ifup.patch @@ -0,0 +1,89 @@ +--- + tools/examples/xend-config.sxp | 20 ++++++++++++++++++++ + tools/hotplug/Linux/Makefile | 2 +- + tools/hotplug/Linux/vif-route-ifup | 34 ++++++++++++++++++++++++++++++++++ + 3 files changed, 55 insertions(+), 1 deletion(-) + +Index: xen-4.4.0-testing/tools/examples/xend-config.sxp +=================================================================== +--- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.4.0-testing/tools/examples/xend-config.sxp +@@ -200,6 +200,26 @@ + #(network-script network-route) + #(vif-script vif-route) + ++# SuSE users note: ++# If using a routed network configuration it is advised to NOT use ++# network-route and vif-route scripts but instead use sysconfig scripts ++# in dom0 and vif-route-ifup script to "connect" the domU vif to dom0. ++# Since this configuration requires a vif sysconfig script in dom0, a static ++# vif name must be used. E.g. in dom0 the vif sysconfig script ++# (/etc/sysconfig/network/ifcfg-xen1.0) may contain ++# ++# NAME='XEN vm 1 virtual interface 0' ++# BOOTPROTO='static' ++# STARTMODE='hotplug' ++# ... ++# ++# The corresponding domain vif configuration would contain e.g. ++# vif=[ 'mac=00:16:3e:aa:bb:cc,script=vif-route-ifup,vifname=xen1.0', ] ++# ++# If the vif-route-ifup script will be used for all domains, it can be ++# set here as the default vif script, alleviating the need for ++# 'script=' in domain vif configuration. ++#(vif-script vif-route-ifup) + + ## Use the following if network traffic is routed with NAT, as an alternative + # to the settings for bridged networking given above. +Index: xen-4.4.0-testing/tools/hotplug/Linux/Makefile +=================================================================== +--- xen-4.4.0-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.4.0-testing/tools/hotplug/Linux/Makefile +@@ -11,7 +11,7 @@ XENCOMMONS_SYSCONFIG = init.d/sysconfig. + + # Xen script dir and scripts to go there. + XEN_SCRIPTS = network-bridge vif-bridge +-XEN_SCRIPTS += network-route vif-route ++XEN_SCRIPTS += network-route vif-route vif-route-ifup + XEN_SCRIPTS += network-nat vif-nat + XEN_SCRIPTS += vif-openvswitch + XEN_SCRIPTS += vif2 +Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-route-ifup +=================================================================== +--- /dev/null ++++ xen-4.4.0-testing/tools/hotplug/Linux/vif-route-ifup +@@ -0,0 +1,34 @@ ++#!/bin/bash ++#============================================================================ ++# /etc/xen/vif-route-ifup ++# ++# Script for configuring a vif in routed mode. ++# The hotplugging system will call this script if it is specified either in ++# the device configuration given to Xend, or the default Xend configuration ++# in /etc/xen/xend-config.sxp. If the script is specified in neither of those ++# places, then vif-bridge is the default. ++# ++# Usage: ++# vif-route-ifup (add|remove|online|offline) ++# ++# Environment vars: ++# dev vif interface name (required). ++#============================================================================ ++ ++dir=$(dirname "$0") ++. "$dir/vif-common.sh" ++ ++case "$command" in ++ online) ++ ifup ${dev} ++ ;; ++ offline) ++ do_without_error ifdown ${dev} ++ ;; ++esac ++ ++log debug "Successful vif-route-ifup $command for ${dev}." ++if [ "$command" = "online" ] ++then ++ success ++fi diff --git a/xend-xenpaging.autostart.patch b/xend-xenpaging.autostart.patch index 31ebae4..a0908a3 100644 --- a/xend-xenpaging.autostart.patch +++ b/xend-xenpaging.autostart.patch @@ -107,7 +107,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xend/XendConfig.py 'smbios_firmware': str, 'acpi_firmware': str, 'loader': str, -@@ -515,6 +518,12 @@ class XendConfig(dict): +@@ -517,6 +520,12 @@ class XendConfig(dict): self['platform']['nomigrate'] = 0 if self.is_hvm(): @@ -348,7 +348,7 @@ Index: xen-4.4.0-testing/tools/python/xen/xm/create.py gopts.var('device_model', val='FILE', fn=set_value, default=None, use="Path to device model program.") -@@ -1044,6 +1056,9 @@ def configure_hvm(config_image, vals): +@@ -1059,6 +1071,9 @@ def configure_hvm(config_image, vals): args = [ 'acpi', 'apic', 'boot', 'cpuid', 'cpuid_check',