[packages/xen/DEVEL] - started update to 4.5.1 (note: new sonames, xend is gone) - updated dumpdir,make,net-disable-iptab
qboosh
qboosh at pld-linux.org
Sat Oct 3 21:36:59 CEST 2015
commit 32d7e1602231dde347380e21cd147cc36aefe22b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Oct 3 21:37:43 2015 +0200
- started update to 4.5.1 (note: new sonames, xend is gone)
- updated dumpdir,make,net-disable-iptables-on-bridge,paths,python_scripts,symbols patches
- removed ulong,xsa99 patches
- removed xend patches and init/configuration files (no longer applicable)
xen-configure-xend.patch | 37 -----
xen-dumpdir.patch | 57 ++++---
xen-make.patch | 11 --
xen-net-disable-iptables-on-bridge.patch | 11 +-
xen-paths.patch | 14 +-
xen-python_scripts.patch | 36 -----
xen-symbols.patch | 14 --
xen-ulong.patch | 20 ---
xen.spec | 235 ++++++++++------------------
xend-pci-loop.patch | 19 ---
xend.catchbt.patch | 30 ----
xend.init | 86 -----------
xend.service | 17 --
xend.tmpfiles | 2 -
xsa99.patch | 257 -------------------------------
15 files changed, 128 insertions(+), 718 deletions(-)
---
diff --git a/xen.spec b/xen.spec
index 950dddc..2b7a6b7 100644
--- a/xen.spec
+++ b/xen.spec
@@ -1,5 +1,7 @@
#
# TODO:
+# - verify upstream systemd .services vs SOURCES
+# at least patch to use PLD-specific
# - check if other tools/libs are not usable in domU, move them to -guest
# packages if so
# - pass bconds to qemu configure script (tricky, as the script is called from
@@ -9,18 +11,17 @@
# - mini-os objects are relinked on install (because of .PHONY rules used to make them)
#
# Conditional build:
-%bcond_without qemu_traditional # without qemu-xen-traditional
-%bcond_without opengl # OpenGL support in Xen qemu
-%bcond_without sdl # SDL support in Xen qemu
-%bcond_without bluetooth # bluetooth support in Xen qemu
-%bcond_without brlapi # brlapi support in Xen qemu
-%bcond_without ocaml # Ocaml libraries for Xen tools
-%bcond_without efi # EFI hypervisor
-%bcond_without hypervisor # Xen hypervisor build
-%bcond_without stubdom # stubdom build
-%bcond_without xsm # XSM security module (by default, Flask)
-%bcond_without blktap1 # blktap1 support
-%bcond_without xend # include the obsolete xend & xm
+%bcond_without qemu_traditional # without qemu-xen-traditional
+%bcond_without opengl # OpenGL support in Xen qemu
+%bcond_without sdl # SDL support in Xen qemu
+%bcond_without bluetooth # bluetooth support in Xen qemu
+%bcond_without brlapi # brlapi support in Xen qemu
+%bcond_without ocaml # Ocaml libraries for Xen tools
+%bcond_without efi # EFI hypervisor
+%bcond_without hypervisor # Xen hypervisor build
+%bcond_without stubdom # stubdom build
+%bcond_without xsm # XSM security module (by default, Flask)
+%bcond_without blktap1 # blktap1 support
%ifnarch %{x8664} arm
%undefine with_hypervisor
@@ -41,12 +42,12 @@
Summary: Xen - a virtual machine monitor
Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej
Name: xen
-Version: 4.4.3
-Release: 1
+Version: 4.5.1
+Release: 0.1
License: GPL v2, interface parts on BSD-like
Group: Applications/System
Source0: http://bits.xensource.com/oss-xen/release/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: fae37c3afc92e7d5d3e93fbe9b81ec2c
+# Source0-md5: d12dc9e5e8bd22a68b5c7f53119221f1
# used by stubdoms
Source10: %{xen_extfiles_url}/lwip-1.3.0.tar.gz
# Source10-md5: 36cc57650cffda9a0269493be2a169bb
@@ -66,25 +67,24 @@ Source18: http://xenbits.xen.org/xen-extfiles/tpm_emulator-%{tpm_emulator_versio
# Source18-md5: e26becb8a6a2b6695f6b3e8097593db8
Source19: ftp://ftp.gmplib.org/pub/gmp-%{gmp_version}/gmp-%{gmp_version}.tar.bz2
# Source19-md5: dd60683d7057917e34630b4a787932e8
-Source30: proc-xen.mount
-Source31: var-lib-xenstored.mount
+#Source30: proc-xen.mount
+#Source31: var-lib-xenstored.mount
Source32: blktapctrl.service
Source33: blktapctrl.sysconfig
-Source34: xenconsoled.service
+#Source34: xenconsoled.service
+# XXX: upstream xenconsoled expects xencommons
Source35: xenconsoled.sysconfig
-Source36: xenstored.service
+#Source36: xenstored.service
+# XXX: upstream xenstored expects xencommons
Source37: xenstored.sysconfig
Source38: xenstored.tmpfiles
-Source39: xend.service
-Source40: xend.tmpfiles
-Source41: xen-watchdog.service
-Source42: xen-dom0-modules-load.conf
+#Source41: xen-watchdog.service
+#Source42: xen-dom0-modules-load.conf
Source43: xendomains.sh
-Source44: xendomains.service
-Source45: xen-qemu-dom0-disk-backend.service
+#Source44: xendomains.service
+#Source45: xen-qemu-dom0-disk-backend.service
Source46: xen-qemu-dom0-disk-backend.init
# sysvinit scripts
-Source50: xend.init
Source51: xenconsoled.init
Source52: xenstored.init
Source53: xen-watchdog.init
@@ -100,48 +100,34 @@ Patch0: %{name}-python_scripts.patch
Patch1: %{name}-symbols.patch
Patch2: %{name}-curses.patch
Patch3: pygrubfix.patch
-Patch4: xend.catchbt.patch
-Patch5: xend-pci-loop.patch
Patch6: %{name}-dumpdir.patch
# Warning: this disables ingress filtering implemented in xen scripts!
Patch7: %{name}-net-disable-iptables-on-bridge.patch
-Patch8: %{name}-configure-xend.patch
Patch9: %{name}-gawk.patch
Patch10: %{name}-qemu.patch
-Patch11: %{name}-ulong.patch
Patch12: %{name}-doc.patch
Patch13: %{name}-paths.patch
Patch14: %{name}-no_fetcher.patch
Patch15: odd-glib2-fix.patch
Patch16: %{name}-gmp-abi.patch
-# based on: http://xenbits.xen.org/xsa/xsa99.patch
-Patch17: xsa99.patch
Patch18: %{name}-make.patch
Patch19: %{name}-no_Werror.patch
# http://git.alpinelinux.org/cgit/aports/plain/main/xen/gnutls-3.4.0.patch
Patch20: %{name}-gnutls-3.4.patch
URL: http://www.xen.org/products/xenhyp.html
-%if %{with qemu_traditional}
-%{?with_opengl:BuildRequires: OpenGL-devel}
-%{?with_sdl:BuildRequires: SDL-devel >= 1.2.1}
-%endif
+BuildRequires: autoconf >= 2.67
%ifarch %{ix86} %{x8664}
BuildRequires: acpica
-BuildRequires: autoconf
BuildRequires: bcc
BuildRequires: bin86
%endif
-%if %{with qemu_traditional}
-%{?with_bluetooth:BuildRequires: bluez-libs-devel}
-%{?with_brlapi:BuildRequires: brlapi-devel}
-%endif
%{?with_efi:BuildRequires: binutils >= 3:2.23.51.0.3-2}
BuildRequires: bzip2-devel
-BuildRequires: curl-devel
-BuildRequires: cyrus-sasl-devel >= 2
%if %{with xsm}
BuildRequires: checkpolicy
%endif
+BuildRequires: curl-devel
+BuildRequires: cyrus-sasl-devel >= 2
BuildRequires: e2fsprogs-devel
BuildRequires: gcc >= 6:4.1
%ifarch %{x8664}
@@ -150,17 +136,21 @@ BuildRequires: gcc-multilib-32 >= 6:4.1
BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 1:2.12
BuildRequires: gnutls-devel
-BuildRequires: keyutils-devel
+BuildRequires: keyutils-devel
BuildRequires: latex2html >= 2008
BuildRequires: libaio-devel
BuildRequires: libcap-devel
+%ifarch arm aarch64
+BuildRequires: libfdt-devel
+%endif
BuildRequires: libjpeg-devel
+BuildRequires: libnl-devel >= 3.2.8
BuildRequires: libpng-devel
BuildRequires: libuuid-devel
BuildRequires: lzo-devel >= 2
BuildRequires: ncurses-devel
%if %{with ocaml}
-BuildRequires: ocaml >= 3.04-7
+BuildRequires: ocaml >= 3.11.0
BuildRequires: ocaml-findlib
%endif
BuildRequires: nss-devel >= 3.12.8
@@ -178,17 +168,21 @@ BuildRequires: texlive-dvips
BuildRequires: texlive-latex-psnfss
BuildRequires: texlive-xetex
BuildRequires: transfig
-%{?with_qemu_traditional:BuildRequires: vde2-devel}
BuildRequires: which
# for xfsctl (<xfs/xfs.h>)
BuildRequires: xfsprogs-devel
+BuildRequires: xz-devel
+BuildRequires: yajl-devel
+BuildRequires: zlib-devel
%if %{with qemu_traditional}
+%{?with_opengl:BuildRequires: OpenGL-devel}
+%{?with_sdl:BuildRequires: SDL-devel >= 1.2.1}
+%{?with_bluetooth:BuildRequires: bluez-libs-devel}
+%{?with_brlapi:BuildRequires: brlapi-devel}
+BuildRequires: vde2-devel
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
%endif
-BuildRequires: xz-devel
-BuildRequires: yajl-devel
-BuildRequires: zlib-devel
%if %{with qemu_traditional}
# FIXME: see qemu configure comments on top of spec
%{!?with_opengl:BuildConflicts: OpenGL-devel}
@@ -217,6 +211,7 @@ Requires: which
Requires: %{name}-guest = %{version}-%{release}
Obsoletes: xen-doc
Obsoletes: xen-udev
+Obsoletes: xen-xend
ExclusiveArch: %{ix86} %{x8664} arm
%ifarch %{ix86} %{x8664}
# for HVM
@@ -225,7 +220,7 @@ Suggests: qemu-system-x86
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# some PPC/SPARC boot images in ELF format
-%define _noautostrip .*%{_datadir}/\\(xen\\|qemu-xen\\)/qemu/\\(openbios-.*\\|palcode-clipper\\|s390-ccw.img\\)
+%define _noautostrip .*%{_datadir}/\\(xen\\|qemu-xen\\)/qemu/\\(openbios-.*\\|palcode-clipper\\|s390-ccw.img\\)
%description
This package contains the Xen hypervisor and Xen tools, needed to run
@@ -312,19 +307,6 @@ Static Xen libraries.
%description static -l pl.UTF-8
Statyczne biblioteki Xena.
-%package xend
-Summary: xend daemon
-Summary(pl.UTF-8): Demon xend
-Group: Daemons
-Requires(post,preun,postun): systemd-units >= 38
-Requires: systemd-units >= 38
-
-%description xend
-xend daemon.
-
-%description xend -l pl.UTF-8
-Demon xend.
-
%package -n ocaml-xen
Summary: OCaml bindings for Xen
Summary(pl.UTF-8): Wiązania OCamla dla Xena
@@ -384,11 +366,11 @@ Xen Python modules for both dom0 and domU virtual machines.
Moduły Pythona dla maszyn wirtualnych dom0 i domU.
%package -n bash-completion-%{name}
-Summary: bash-completion for Xen (xl)
+Summary: bash-completion for Xen (xl)
Summary(pl.UTF-8): Bashowe dopełnianie poleceń dla Xena (xl)
-Group: Applications/Shells
-Requires: %{name} = %{version}-%{release}
-Requires: bash-completion
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: bash-completion
%description -n bash-completion-%{name}
This package provides bash-completion for Xen (xl).
@@ -416,20 +398,15 @@ Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
-%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
@@ -462,24 +439,23 @@ export PATH=$(pwd)/our-ld:$PATH
export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
export CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses"
-# NOTE:
-# - there is a quoting bug (in tools/driver/Makefile) that causes
-# openssl is used instead of gcrypt; that's OK, openssl is obligatory
-# anyway (see configure), gcrypt is optional
+# NOTE on ac_cv_*:
+# - use openssl (libcrypto) instead of libgcrypt as openssl is obligatory anyway
# - prevent libiconv from being detected (not needed with glibc)
%configure \
CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
+ ac_cv_lib_gcrypt_gcry_md_hash_buffer=no \
ac_cv_lib_iconv_libiconv_open=no \
- %{__enable_disable qemu_traditional qemu-traditional} \
%{__enable_disable blktap1 blktap1} \
- %{__enable_disable xend xend} \
+ --disable-debug \
+ %{__enable_disable qemu_traditional qemu-traditional} \
--with-system-seabios=/usr/share/seabios/bios.bin \
%ifarch %{x8664}
--with-system-qemu=/usr/bin/qemu-system-x86_64 \
%else
--with-system-qemu=/usr/bin/qemu-system-i386 \
%endif
- --disable-debug
+ --with-systemd=%{systemdunitdir}
%{__make} -j1 dist-xen dist-tools dist-docs \
%{!?with_ocaml:OCAML_TOOLS=n} \
@@ -521,32 +497,24 @@ ln -s %{_prefix}/lib/%{name}/bin/qemu-dm $RPM_BUILD_ROOT%{_libdir}/%{name}/bin/q
%endif
%endif
-install %{SOURCE30} $RPM_BUILD_ROOT%{systemdunitdir}/proc-xen.mount
-install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-xenstored.mount
+#install %{SOURCE30} $RPM_BUILD_ROOT%{systemdunitdir}/proc-xen.mount
+#install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-xenstored.mount
%if %{with blktap1}
install %{SOURCE32} $RPM_BUILD_ROOT%{systemdunitdir}/blktapctrl.service
install %{SOURCE33} $RPM_BUILD_ROOT/etc/sysconfig/blktapctrl
%endif
-install %{SOURCE34} $RPM_BUILD_ROOT%{systemdunitdir}/xenconsoled.service
+#install %{SOURCE34} $RPM_BUILD_ROOT%{systemdunitdir}/xenconsoled.service
install %{SOURCE35} $RPM_BUILD_ROOT/etc/sysconfig/xenconsoled
-install %{SOURCE36} $RPM_BUILD_ROOT%{systemdunitdir}/xenstored.service
+#install %{SOURCE36} $RPM_BUILD_ROOT%{systemdunitdir}/xenstored.service
install %{SOURCE37} $RPM_BUILD_ROOT/etc/sysconfig/xenstored
-install %{SOURCE38} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xenstored.conf
-%if %{with xend}
-install %{SOURCE39} $RPM_BUILD_ROOT%{systemdunitdir}/xend.service
-install %{SOURCE40} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xend.conf
-%endif
-install %{SOURCE41} $RPM_BUILD_ROOT%{systemdunitdir}/xen-watchdog.service
-install %{SOURCE42} $RPM_BUILD_ROOT/etc/modules-load.d/xen-dom0.conf
+#install %{SOURCE41} $RPM_BUILD_ROOT%{systemdunitdir}/xen-watchdog.service
+#install %{SOURCE42} $RPM_BUILD_ROOT/etc/modules-load.d/xen-dom0.conf
install %{SOURCE43} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xendomains.sh
-install %{SOURCE44} $RPM_BUILD_ROOT%{systemdunitdir}/xendomains.service
-install %{SOURCE45} $RPM_BUILD_ROOT%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
+#install %{SOURCE44} $RPM_BUILD_ROOT%{systemdunitdir}/xendomains.service
+#install %{SOURCE45} $RPM_BUILD_ROOT%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
# sysvinit scripts
%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
%{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
-%if %{with xend}
-install %{SOURCE50} $RPM_BUILD_ROOT/etc/rc.d/init.d/xend
-%endif
install %{SOURCE51} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenconsoled
install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
@@ -554,6 +522,8 @@ install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
install %{SOURCE46} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-qemu-dom0-disk-backend
install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
+install -d $RPM_BUILD_ROOT/var/run/xenstored
+install %{SOURCE38} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xenstored.conf
install %{SOURCE60} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xen-init-list
install %{SOURCE61} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xen-toolstack
@@ -587,10 +557,6 @@ done
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
%{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
-%if %{without xend}
-%{__rm} -r $RPM_BUILD_ROOT/var/run/xend
-%endif
-
%clean
rm -rf $RPM_BUILD_ROOT
@@ -625,20 +591,6 @@ fi
%postun
%systemd_reload
-%post xend
-/sbin/chkconfig --add xend
-%systemd_post xend.service
-
-%preun xend
-if [ "$1" = "0" ]; then
- %service xend stop
- /sbin/chkconfig --del xend
-fi
-%systemd_preun xend.service
-
-%postun xend
-%systemd_reload
-
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
@@ -657,7 +609,7 @@ fi
/boot/%{name}.gz
%endif
%if %{with xsm}
-/boot/xenpolicy.24
+/boot/xenpolicy-%{version}
%endif
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenconsoled
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenstored
@@ -668,14 +620,21 @@ fi
%attr(754,root,root) /etc/rc.d/init.d/xenstored
%attr(754,root,root) /etc/rc.d/init.d/xendomains
%attr(754,root,root) /etc/rc.d/init.d/xen-qemu-dom0-disk-backend
-%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/xen-dom0.conf
+%{_prefix}/lib/modules-load.d/xen.conf
%{systemdunitdir}/proc-xen.mount
%{systemdunitdir}/var-lib-xenstored.mount
+%{systemdunitdir}/xen-init-dom0.service
%{systemdunitdir}/xen-watchdog.service
%{systemdunitdir}/xenconsoled.service
%{systemdunitdir}/xenstored.service
+%{systemdunitdir}/xenstored.socket
+%{systemdunitdir}/xenstored_ro.socket
%{systemdunitdir}/xendomains.service
%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
+%if %{with blktap1}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/blktapctrl
+%{systemdunitdir}/blktapctrl.service
+%endif
%dir %{_sysconfdir}/xen
%dir %{_sysconfdir}/xen/auto
%dir %{_sysconfdir}/xen/examples
@@ -691,7 +650,6 @@ fi
%attr(755,root,root) %{_bindir}/qemu-img-xen
%attr(755,root,root) %{_bindir}/qemu-nbd-xen
%endif
-%attr(755,root,root) %{_bindir}/remus
%attr(755,root,root) %{_bindir}/xencons
%attr(755,root,root) %{_bindir}/xencov_split
%attr(755,root,root) %{_bindir}/xentrace*
@@ -756,20 +714,15 @@ fi
%{_mandir}/man1/xentop.1*
%{_mandir}/man1/xentrace_format.1*
%{_mandir}/man1/xl.1*
-%if %{with xend}
-%{_mandir}/man1/xm.1*
-%{_mandir}/man5/xend-config.sxp.5*
-%endif
%{_mandir}/man5/xl.cfg.5*
%{_mandir}/man5/xl.conf.5*
%{_mandir}/man5/xlcpupool.cfg.5*
-%{_mandir}/man5/xmdomain.cfg.5*
%{_mandir}/man8/xentrace.8*
%{_sharedstatedir}/xen
%{_sharedstatedir}/xenstored
%dir /var/run/xenstored
-%{systemdtmpfilesdir}/xenstored.conf
%{systemdtmpfilesdir}/xen.conf
+%{systemdtmpfilesdir}/xenstored.conf
%dir %attr(0700,root,root) /var/log/xen
%dir %attr(0700,root,root) /var/log/xen/console
%if %{with qemu_traditional}
@@ -794,11 +747,11 @@ fi
%attr(755,root,root) %{_libdir}/libvhd.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvhd.so.1.0
%attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.4
+%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.5
%attr(755,root,root) %{_libdir}/libxenguest.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.4
+%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.5
%attr(755,root,root) %{_libdir}/libxenlight.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.4
+%attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.5
%attr(755,root,root) %{_libdir}/libxenstat.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libxenstat.so.0
%attr(755,root,root) %{_libdir}/libxenvchan.so.*.*.*
@@ -864,24 +817,6 @@ fi
%{_libdir}/libxenstore.a
%{_libdir}/libxlutil.a
-%if %{with xend}
-%files xend
-%defattr(644,root,root,755)
-%if %{with blktap1}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/blktapctrl
-%{systemdunitdir}/blktapctrl.service
-%endif
-%{systemdunitdir}/xend.service
-%attr(754,root,root) %{_sysconfdir}/rc.d/init.d/xend
-%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/xend.rules
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xm*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xend*
-%attr(755,root,root) %{_sbindir}/xend
-%attr(755,root,root) %{_sbindir}/xm
-%dir %attr(700,root,root) /var/run/xend
-%{systemdtmpfilesdir}/xend.conf
-%endif
-
%if %{with ocaml}
%files -n ocaml-xen
%defattr(644,root,root,755)
@@ -936,19 +871,9 @@ fi
%files -n python-xen
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/fsimage.so
-%{py_sitedir}/grub
-%attr(755,root,root) %{py_sitedir}/xen/lowlevel/checkpoint.so
-%attr(755,root,root) %{py_sitedir}/xen/lowlevel/flask.so
-%attr(755,root,root) %{py_sitedir}/xen/lowlevel/netlink.so
-%attr(755,root,root) %{py_sitedir}/xen/lowlevel/ptsname.so
+%dir %{py_sitedir}/xen/lowlevel
%attr(755,root,root) %{py_sitedir}/xen/lowlevel/xc.so
-%if %{with xend}
-%{py_sitedir}/xen/remus
-%{py_sitedir}/xen/util
-%{py_sitedir}/xen/web
-%{py_sitedir}/xen/xend
-%{py_sitedir}/xen/xm
-%endif
+%{py_sitedir}/grub
%if "%{py_ver}" > "2.4"
%{py_sitedir}/pygrub-0.3-py*.egg-info
%{py_sitedir}/xen-3.0-py*.egg-info
diff --git a/xen-configure-xend.patch b/xen-configure-xend.patch
deleted file mode 100644
index 0bdc932..0000000
--- a/xen-configure-xend.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -up xen-3.4.0/tools/examples/xend-config.sxp.config xen-3.4.0/tools/examples/xend-config.sxp
---- xen-3.4.0/tools/examples/xend-config.sxp.config 2009-05-20 17:12:50.000000000 +0200
-+++ xen-3.4.0/tools/examples/xend-config.sxp 2009-05-20 17:15:35.000000000 +0200
-@@ -58,11 +58,11 @@
-
-
- #(xend-http-server no)
--#(xend-unix-server no)
-+(xend-unix-server yes)
- #(xend-tcp-xmlrpc-server no)
- #(xend-unix-xmlrpc-server yes)
--#(xend-relocation-server no)
--(xend-relocation-server yes)
-+(xend-relocation-server no)
-+#(xend-relocation-server yes)
- #(xend-relocation-ssl-server no)
- #(xend-udev-event-server no)
-
-@@ -154,7 +154,8 @@
- # two fake interfaces per guest domain. To do things like this, write
- # yourself a wrapper script, and call network-bridge from it, as appropriate.
- #
--(network-script network-bridge)
-+#(network-script network-bridge)
-+(network-script /bin/true)
-
- # The script used to control virtual interfaces. This can be overridden on a
- # per-vif basis when creating a domain or a configuring a new vif. The
-@@ -186,7 +187,7 @@
- # dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
- # This is a minimum both for auto-ballooning (as enabled by
- # enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
--(dom0-min-mem 196)
-+(dom0-min-mem 256)
-
- # Whether to enable auto-ballooning of dom0 to allow domUs to be created.
- # If enable-dom0-ballooning = no, dom0 will never balloon out.
diff --git a/xen-dumpdir.patch b/xen-dumpdir.patch
index c0e7186..771dec0 100644
--- a/xen-dumpdir.patch
+++ b/xen-dumpdir.patch
@@ -10,23 +10,40 @@ diff -up xen-3.4.0/tools/Makefile.dump xen-3.4.0/tools/Makefile
$(INSTALL_DIR) $(DESTDIR)/var/log/xen
$(INSTALL_DIR) $(DESTDIR)/var/lib/xen
$(INSTALL_DIR) $(DESTDIR)/var/lock/subsys
---- xen-4.0.0/tools/python/xen/xend/XendDomainInfo.py.orig 2010-02-02 20:43:01.000000000 +0000
-+++ xen-4.0.0/tools/python/xen/xend/XendDomainInfo.py 2010-02-02 21:36:57.000000000 +0000
-@@ -2287,7 +2287,7 @@
- # To prohibit directory traversal
- based_name = os.path.basename(self.info['name_label'])
-
-- coredir = "/var/xen/dump/%s" % (based_name)
-+ coredir = "/var/lib/xen/dump/%s" % (based_name)
- if not os.path.exists(coredir):
- try:
- mkdir.parents(coredir, stat.S_IRWXU)
-@@ -2296,7 +2296,7 @@
-
- if not os.path.isdir(coredir):
- # Use former directory to dump core
-- coredir = '/var/xen/dump'
-+ coredir = '/var/lib/xen/dump'
-
- this_time = time.strftime("%Y-%m%d-%H%M.%S", time.localtime())
- corefile = "%s/%s-%s.%s.core" % (coredir, this_time,
+--- xen-4.5.1/tools/libxl/xl_cmdimpl.c.orig 2015-06-22 15:41:35.000000000 +0200
++++ xen-4.5.1/tools/libxl/xl_cmdimpl.c 2015-10-01 17:45:14.267331067 +0200
+@@ -2092,7 +2092,7 @@
+ char *corefile;
+ int rc;
+
+- if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 0) {
++ if (asprintf(&corefile, "/var/lib/xen/dump/%s", d_config->c_info.name) < 0) {
+ LOG("failed to construct core dump path");
+ } else {
+ LOG("dumping core to %s", corefile);
+--- xen-4.5.1/docs/man/xl.cfg.pod.5.orig 2015-06-22 15:41:35.000000000 +0200
++++ xen-4.5.1/docs/man/xl.cfg.pod.5 2015-10-01 17:46:38.750661228 +0200
+@@ -298,12 +298,12 @@
+
+ =item B<coredump-destroy>
+
+-write a "coredump" of the domain to F</var/xen/dump/NAME> and then
++write a "coredump" of the domain to F</var/lib/xen/dump/NAME> and then
+ destroy the domain.
+
+ =item B<coredump-restart>
+
+-write a "coredump" of the domain to F</var/xen/dump/NAME> and then
++write a "coredump" of the domain to F</var/lib/xen/dump/NAME> and then
+ restart the domain.
+
+ =back
+@@ -1605,7 +1605,7 @@
+ =head1 FILES
+
+ F</etc/xen/NAME.cfg>
+-F</var/xen/dump/NAME>
++F</var/lib/xen/dump/NAME>
+
+ =head1 BUGS
+
diff --git a/xen-make.patch b/xen-make.patch
index 077b0cb..cf57b89 100644
--- a/xen-make.patch
+++ b/xen-make.patch
@@ -9,14 +9,3 @@
$(LIBS_DEPENDS):subdirs-all
vhd-util: vhd-util.o $(LIBS_DEPENDS)
---- xen-4.4.1/tools/python/Makefile.orig 2014-09-02 08:20:19.000000000 +0200
-+++ xen-4.4.1/tools/python/Makefile 2014-10-25 23:17:56.515472047 +0200
-@@ -21,7 +21,7 @@
- .PHONY: install
- install: install-dtd
- CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-- $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force --xend=$(CONFIG_XEND)
-+ $(PYTHON_PREFIX_ARG) --skip-build --root="$(DESTDIR)" --force --xend=$(CONFIG_XEND)
-
- $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
- ifeq ($(CONFIG_XEND),y)
diff --git a/xen-net-disable-iptables-on-bridge.patch b/xen-net-disable-iptables-on-bridge.patch
index 8908041..2f33eb4 100644
--- a/xen-net-disable-iptables-on-bridge.patch
+++ b/xen-net-disable-iptables-on-bridge.patch
@@ -1,13 +1,10 @@
-diff -dur -x '*.orig' -x '*.rej' -x '*~' xen-4.2.0.orig/tools/hotplug/Linux/vif-bridge xen-4.2.0/tools/hotplug/Linux/vif-bridge
---- xen-4.2.0.orig/tools/hotplug/Linux/vif-bridge 2012-09-17 12:21:18.000000000 +0200
-+++ xen-4.2.0/tools/hotplug/Linux/vif-bridge 2012-10-22 13:05:43.000000000 +0200
-@@ -101,10 +101,6 @@
+--- xen-4.5.1/tools/hotplug/Linux/vif-bridge.orig 2015-10-01 17:51:47.613981230 +0200
++++ xen-4.5.1/tools/hotplug/Linux/vif-bridge 2015-10-01 17:51:51.330647734 +0200
+@@ -93,8 +93,6 @@
;;
esac
--if [ "$type_if" = vif ]; then
-- handle_iptable
--fi
+-handle_iptable
-
call_hooks vif post
diff --git a/xen-paths.patch b/xen-paths.patch
index 662488b..c2a05b2 100644
--- a/xen-paths.patch
+++ b/xen-paths.patch
@@ -1,11 +1,11 @@
---- xen-4.4.0/tools/Makefile~ 2014-03-12 14:39:28.000000000 +0000
-+++ xen-4.4.0/tools/Makefile 2014-03-12 14:41:53.427783318 +0000
-@@ -188,7 +188,7 @@
- cd qemu-xen-dir; \
+--- xen-4.5.1/tools/Makefile.orig 2015-10-03 17:22:11.716804023 +0200
++++ xen-4.5.1/tools/Makefile 2015-10-03 19:37:54.219795649 +0200
+@@ -207,7 +207,7 @@
$$source/configure --enable-xen --target-list=i386-softmmu \
$(QEMU_XEN_ENABLE_DEBUG) \
-- --prefix=$(PREFIX) \
-+ --prefix=$(PREFIX) --libexecdir=$(LIBEXEC) \
+ --prefix=$(LIBEXEC) \
+- --libdir=$(LIBEXEC_LIB) \
++ --libdir=$(LIBEXEC_LIB) --libexecdir=$(LIBEXEC_LIB) \
+ --includedir=$(LIBEXEC_INC) \
--source-path=$$source \
--extra-cflags="-I$(XEN_ROOT)/tools/include \
- -I$(XEN_ROOT)/tools/libxc \
diff --git a/xen-python_scripts.patch b/xen-python_scripts.patch
index 74f7483..417a9cc 100644
--- a/xen-python_scripts.patch
+++ b/xen-python_scripts.patch
@@ -7,33 +7,6 @@ diff -dur xen-4.2.0.orig/tools/misc/xenpvnetboot xen-4.2.0/tools/misc/xenpvnetbo
#
# Copyright (C) 2010 Oracle. All rights reserved.
#
-diff -dur xen-4.2.0.orig/tools/python/xen/remus/save.py xen-4.2.0/tools/python/xen/remus/save.py
---- xen-4.2.0.orig/tools/python/xen/remus/save.py 2012-09-17 12:21:18.000000000 +0200
-+++ xen-4.2.0/tools/python/xen/remus/save.py 2012-10-22 10:46:30.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python
-
- import os, select, socket, threading, time, signal, xmlrpclib
-
-diff -dur xen-4.2.0.orig/tools/python/xen/remus/vm.py xen-4.2.0/tools/python/xen/remus/vm.py
---- xen-4.2.0.orig/tools/python/xen/remus/vm.py 2012-09-17 12:21:18.000000000 +0200
-+++ xen-4.2.0/tools/python/xen/remus/vm.py 2012-10-22 10:46:30.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python
-
- import xmlrpclib
-
-diff -dur xen-4.2.0.orig/tools/python/xen/xend/XendSXPDev.py xen-4.2.0/tools/python/xen/xend/XendSXPDev.py
---- xen-4.2.0.orig/tools/python/xen/xend/XendSXPDev.py 2012-09-17 12:21:19.000000000 +0200
-+++ xen-4.2.0/tools/python/xen/xend/XendSXPDev.py 2012-10-22 10:46:30.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python
- #
- # Helper functions for dealing with the sxp representation of devices
-
diff -dur xen-4.2.0.orig/tools/qemu-xen/scripts/analyse-9p-simpletrace.py xen-4.2.0/tools/qemu-xen/scripts/analyse-9p-simpletrace.py
--- xen-4.2.0.orig/tools/qemu-xen/scripts/analyse-9p-simpletrace.py 2012-09-10 20:10:52.000000000 +0200
+++ xen-4.2.0/tools/qemu-xen/scripts/analyse-9p-simpletrace.py 2012-10-22 10:46:30.000000000 +0200
@@ -52,12 +25,3 @@ diff -dur xen-4.2.0.orig/tools/qemu-xen/scripts/simpletrace.py xen-4.2.0/tools/q
#
# Pretty-printer for simple trace backend binary trace files
#
-diff -dur xen-4.2.0.orig/tools/remus/remus xen-4.2.0/tools/remus/remus
---- xen-4.2.0.orig/tools/remus/remus 2012-09-17 12:21:19.000000000 +0200
-+++ xen-4.2.0/tools/remus/remus 2012-10-22 10:46:30.000000000 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python
- #
- # This is a save process which also buffers outgoing I/O between
- # rounds, so that external viewers never see anything that hasn't
diff --git a/xen-symbols.patch b/xen-symbols.patch
index dbf1772..db30fd8 100644
--- a/xen-symbols.patch
+++ b/xen-symbols.patch
@@ -10,17 +10,3 @@ diff -dur xen-4.2.0.orig/tools/libfsimage/common/Makefile xen-4.2.0/tools/libfsi
LDFLAGS = $(LDFLAGS-y)
CFLAGS += $(PTHREAD_CFLAGS)
-diff -dur xen-4.2.0.orig/tools/libxl/Makefile xen-4.2.0/tools/libxl/Makefile
---- xen-4.2.0.orig/tools/libxl/Makefile 2012-09-17 12:21:18.000000000 +0200
-+++ xen-4.2.0/tools/libxl/Makefile 2012-10-23 09:24:52.000000000 +0200
-@@ -173,8 +173,8 @@
- libxlutil.so.$(XLUMAJOR): libxlutil.so.$(XLUMAJOR).$(XLUMINOR)
- ln -sf $< $@
-
--libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS)
-- $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXLU_LIBS) $(APPEND_LDFLAGS)
-+libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS) libxenlight.so
-+ $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXLU_LIBS) -L. -lxenlight $(APPEND_LDFLAGS)
-
- libxlutil.a: $(LIBXLU_OBJS)
- $(AR) rcs libxlutil.a $^
diff --git a/xen-ulong.patch b/xen-ulong.patch
deleted file mode 100644
index 9842e65..0000000
--- a/xen-ulong.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- xen-4.2.1/tools/debugger/gdbsx/xg/xg_main.c.orig 2012-12-17 16:00:22.000000000 +0100
-+++ xen-4.2.1/tools/debugger/gdbsx/xg/xg_main.c 2013-01-13 08:38:22.865825568 +0100
-@@ -178,7 +178,7 @@
- hypercall.op = __HYPERVISOR_domctl;
- hypercall.arg[0] = (unsigned long)&domctl;
-
-- rc = ioctl(_dom0_fd, IOCTL_PRIVCMD_HYPERCALL, (ulong)&hypercall);
-+ rc = ioctl(_dom0_fd, IOCTL_PRIVCMD_HYPERCALL, (unsigned long)&hypercall);
- if (domctlarg && sz)
- munlock(domctlarg, sz);
- return rc;
-@@ -218,7 +218,7 @@
- hypercall.arg[0] = (unsigned long)XENVER_capabilities;
- hypercall.arg[1] = (unsigned long)&xen_caps;
-
-- rc = ioctl(_dom0_fd, IOCTL_PRIVCMD_HYPERCALL, (ulong)&hypercall);
-+ rc = ioctl(_dom0_fd, IOCTL_PRIVCMD_HYPERCALL, (unsigned long)&hypercall);
- munlock(&xen_caps, sizeof(xen_caps));
- XGTRC("XENCAPS:%s\n", xen_caps);
-
diff --git a/xend-pci-loop.patch b/xend-pci-loop.patch
deleted file mode 100644
index 5c4118a..0000000
--- a/xend-pci-loop.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# Don't crash due to weird PCI cards (Bug 767742)
-
-diff -r fb8dd4c67778 tools/python/xen/util/pci.py
---- a/tools/python/xen/util/pci.py Tue Dec 13 14:16:20 2011 -0500
-+++ b/tools/python/xen/util/pci.py Wed Dec 14 15:46:56 2011 -0500
-@@ -1268,7 +1268,12 @@ class PciDevice:
- pass
-
- def get_info_from_sysfs(self):
-- self.find_capability(0x11)
-+ try:
-+ self.find_capability(0x11)
-+ except PciDeviceParseError, err:
-+ log.error("Caught '%s'" % err)
-+ return False
-+
- sysfs_mnt = find_sysfs_mnt()
- if sysfs_mnt == None:
- return False
diff --git a/xend.catchbt.patch b/xend.catchbt.patch
deleted file mode 100644
index 95eac54..0000000
--- a/xend.catchbt.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- xen-4.1.2/tools/python/xen/xend/image.py.orig 2011-10-20 18:05:44.000000000 +0100
-+++ xen-4.1.2/tools/python/xen/xend/image.py 2011-11-20 20:41:10.730905790 +0000
-@@ -43,7 +43,11 @@
- from xen.util import utils
- from xen.xend import osdep
-
--xc = xen.lowlevel.xc.xc()
-+try:
-+ xc = xen.lowlevel.xc.xc()
-+except Exception:
-+ print >>sys.stderr, ('xend/image.py: Error connecting to hypervisor')
-+ os._exit(1)
-
- MAX_GUEST_CMDLINE = 1024
-
---- xen-4.1.2/tools/python/xen/xend/XendLogging.py.orig 2011-10-20 18:05:44.000000000 +0100
-+++ xen-4.1.2/tools/python/xen/xend/XendLogging.py 2012-01-10 21:27:57.304916048 +0000
-@@ -132,7 +132,11 @@
- fileHandler = openFileHandler(filename)
- logfilename = filename
- except IOError:
-- logfilename = tempfile.mkstemp("-xend.log")[1]
-+ try:
-+ logfilename = tempfile.mkstemp("-xend.log")[1]
-+ except IOError:
-+ print >>sys.stderr, ('xend/XendLogging.py: Unable to open standard or temporary log file for xend')
-+ os._exit(1)
- fileHandler = openFileHandler(logfilename)
-
- fileHandler.setFormatter(logging.Formatter(LOGFILE_FORMAT, DATE_FORMAT))
diff --git a/xend.init b/xend.init
deleted file mode 100644
index 2b2b199..0000000
--- a/xend.init
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-#
-# xend Script to start and stop the Xen control daemon.
-#
-# chkconfig: 2345 95 05
-# description: Starts and stops the Xen control daemon.
-#
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-
-start() {
- if [ -f /var/lock/subsys/xend ]; then
- msg_already_running "Xen control daemon"
- return
- fi
- if [ ! -f /var/lock/subsys/xenconsoled -o ! -f /var/lock/subsys/xenstored ]; then
- echo "xenconsoled and xenstored must be started first"
- return
- fi
- msg_starting "Starting Xen control daemon"
- daemon /usr/sbin/xend
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xend
-}
-
-stop() {
- if [ ! -f /var/lock/subsys/xend ]; then
- msg_not_running "Xen control daemon"
- return
- fi
- msg_stopping "Stopping Xen control daemon"
- killproc xend
- rm -f /var/lock/subsys/xend
-}
-
-reload() {
- if [ ! -f /var/lock/subsys/xend ]; then
- msg_not_running "Xen control daemon"
- RETVAL=7
- else
- msg_reloading "Reloading Xen control daemon"
- killproc /usr/sbin/xend -HUP
- RETVAL=$?
- fi
-}
-
-condrestart() {
- if [ ! -f /var/lock/subsys/xend ]; then
- msg_not_running "Xen control daemon"
- RETVAL=$1
- else
- stop
- start
- fi
-}
-
-RETVAL=0
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- try-restart)
- condrestart 0
- ;;
- reload|force-reload)
- reload
- ;;
- status)
- status xend
- exit $?
- ;;
- *)
- msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
- exit 3
-esac
-
-exit $RETVAL
diff --git a/xend.service b/xend.service
deleted file mode 100644
index 0830bc4..0000000
--- a/xend.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Xend - interface between hypervisor and some applications
-Requires=proc-xen.mount
-After=proc-xen.mount
-Before=libvirtd.service libvirt-guests.service
-ConditionPathExists=/proc/xen
-
-[Service]
-Type=forking
-PIDFile=/var/run/xend.pid
-ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
-ExecStart=/usr/sbin/xend start
-ExecStop=/usr/sbin/xend stop
-ExecReload=/usr/sbin/xend reload
-
-[Install]
-WantedBy=multi-user.target
diff --git a/xend.tmpfiles b/xend.tmpfiles
deleted file mode 100644
index 84048e6..0000000
--- a/xend.tmpfiles
+++ /dev/null
@@ -1,2 +0,0 @@
-d /var/run/xend 0700 root root -
-d /var/run/xend/boot 0700 root root -
diff --git a/xsa99.patch b/xsa99.patch
deleted file mode 100644
index 14e58f4..0000000
--- a/xsa99.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-diff -durN -x '*~' -x '*.orig' -x '*.rej' xen-4.4.0.orig/tools/libxc/xc_mem_access.c xen-4.4.0/tools/libxc/xc_mem_access.c
---- xen-4.4.0.orig/tools/libxc/xc_mem_access.c 2014-03-10 11:43:57.000000000 +0100
-+++ xen-4.4.0/tools/libxc/xc_mem_access.c 2014-06-18 10:19:54.000000000 +0200
-@@ -24,19 +24,9 @@
- #include "xc_private.h"
-
-
--int xc_mem_access_enable(xc_interface *xch, domid_t domain_id,
-- uint32_t *port)
-+void *xc_mem_access_enable(xc_interface *xch, domid_t domain_id, uint32_t *port)
- {
-- if ( !port )
-- {
-- errno = EINVAL;
-- return -1;
-- }
--
-- return xc_mem_event_control(xch, domain_id,
-- XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE,
-- XEN_DOMCTL_MEM_EVENT_OP_ACCESS,
-- port);
-+ return xc_mem_event_enable(xch, domain_id, HVM_PARAM_ACCESS_RING_PFN, port);
- }
-
- int xc_mem_access_disable(xc_interface *xch, domid_t domain_id)
-diff -durN -x '*~' -x '*.orig' -x '*.rej' xen-4.4.0.orig/tools/libxc/xc_mem_event.c xen-4.4.0/tools/libxc/xc_mem_event.c
---- xen-4.4.0.orig/tools/libxc/xc_mem_event.c 2014-03-10 11:43:57.000000000 +0100
-+++ xen-4.4.0/tools/libxc/xc_mem_event.c 2014-06-18 10:19:54.000000000 +0200
-@@ -56,3 +56,118 @@
- return do_memory_op(xch, mode, &meo, sizeof(meo));
- }
-
-+void *xc_mem_event_enable(xc_interface *xch, domid_t domain_id, int param,
-+ uint32_t *port)
-+{
-+ void *ring_page = NULL;
-+ unsigned long ring_pfn, mmap_pfn;
-+ unsigned int op, mode;
-+ int rc1, rc2, saved_errno;
-+
-+ if ( !port )
-+ {
-+ errno = EINVAL;
-+ return NULL;
-+ }
-+
-+ /* Pause the domain for ring page setup */
-+ rc1 = xc_domain_pause(xch, domain_id);
-+ if ( rc1 != 0 )
-+ {
-+ PERROR("Unable to pause domain\n");
-+ return NULL;
-+ }
-+
-+ /* Get the pfn of the ring page */
-+ rc1 = xc_get_hvm_param(xch, domain_id, param, &ring_pfn);
-+ if ( rc1 != 0 )
-+ {
-+ PERROR("Failed to get pfn of ring page\n");
-+ goto out;
-+ }
-+
-+ mmap_pfn = ring_pfn;
-+ ring_page = xc_map_foreign_batch(xch, domain_id, PROT_READ | PROT_WRITE,
-+ &mmap_pfn, 1);
-+ if ( mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
-+ {
-+ /* Map failed, populate ring page */
-+ rc1 = xc_domain_populate_physmap_exact(xch, domain_id, 1, 0, 0,
-+ &ring_pfn);
-+ if ( rc1 != 0 )
-+ {
-+ PERROR("Failed to populate ring pfn\n");
-+ goto out;
-+ }
-+
-+ mmap_pfn = ring_pfn;
-+ ring_page = xc_map_foreign_batch(xch, domain_id, PROT_READ | PROT_WRITE,
-+ &mmap_pfn, 1);
-+ if ( mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
-+ {
-+ PERROR("Could not map the ring page\n");
-+ goto out;
-+ }
-+ }
-+
-+ switch ( param )
-+ {
-+ case HVM_PARAM_PAGING_RING_PFN:
-+ op = XEN_DOMCTL_MEM_EVENT_OP_PAGING_ENABLE;
-+ mode = XEN_DOMCTL_MEM_EVENT_OP_PAGING;
-+ break;
-+
-+ case HVM_PARAM_ACCESS_RING_PFN:
-+ op = XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE;
-+ mode = XEN_DOMCTL_MEM_EVENT_OP_ACCESS;
-+ break;
-+
-+ case HVM_PARAM_SHARING_RING_PFN:
-+ op = XEN_DOMCTL_MEM_EVENT_OP_SHARING_ENABLE;
-+ mode = XEN_DOMCTL_MEM_EVENT_OP_SHARING;
-+ break;
-+
-+ /*
-+ * This is for the outside chance that the HVM_PARAM is valid but is invalid
-+ * as far as mem_event goes.
-+ */
-+ default:
-+ errno = EINVAL;
-+ rc1 = -1;
-+ goto out;
-+ }
-+
-+ rc1 = xc_mem_event_control(xch, domain_id, op, mode, port);
-+ if ( rc1 != 0 )
-+ {
-+ PERROR("Failed to enable mem_event\n");
-+ goto out;
-+ }
-+
-+ /* Remove the ring_pfn from the guest's physmap */
-+ rc1 = xc_domain_decrease_reservation_exact(xch, domain_id, 1, 0, &ring_pfn);
-+ if ( rc1 != 0 )
-+ PERROR("Failed to remove ring page from guest physmap");
-+
-+ out:
-+ saved_errno = errno;
-+
-+ rc2 = xc_domain_unpause(xch, domain_id);
-+ if ( rc1 != 0 || rc2 != 0 )
-+ {
-+ if ( rc2 != 0 )
-+ {
-+ if ( rc1 == 0 )
-+ saved_errno = errno;
-+ PERROR("Unable to unpause domain");
-+ }
-+
-+ if ( ring_page )
-+ munmap(ring_page, XC_PAGE_SIZE);
-+ ring_page = NULL;
-+
-+ errno = saved_errno;
-+ }
-+
-+ return ring_page;
-+}
-diff -durN -x '*~' -x '*.orig' -x '*.rej' xen-4.4.0.orig/tools/libxc/xenctrl.h xen-4.4.0/tools/libxc/xenctrl.h
---- xen-4.4.0.orig/tools/libxc/xenctrl.h 2014-03-10 11:43:57.000000000 +0100
-+++ xen-4.4.0/tools/libxc/xenctrl.h 2014-06-18 10:19:54.000000000 +0200
-@@ -2040,6 +2040,12 @@
- int xc_mem_event_memop(xc_interface *xch, domid_t domain_id,
- unsigned int op, unsigned int mode,
- uint64_t gfn, void *buffer);
-+/*
-+ * Enables mem_event and returns the mapped ring page indicated by param.
-+ * param can be HVM_PARAM_PAGING/ACCESS/SHARING_RING_PFN
-+ */
-+void *xc_mem_event_enable(xc_interface *xch, domid_t domain_id, int param,
-+ uint32_t *port);
-
- /**
- * Mem paging operations.
-@@ -2060,7 +2066,13 @@
- * Access tracking operations.
- * Supported only on Intel EPT 64 bit processors.
- */
--int xc_mem_access_enable(xc_interface *xch, domid_t domain_id, uint32_t *port);
-+
-+/*
-+ * Enables mem_access and returns the mapped ring page.
-+ * Will return NULL on error.
-+ * Caller has to unmap this page when done.
-+ */
-+void *xc_mem_access_enable(xc_interface *xch, domid_t domain_id, uint32_t *port);
- int xc_mem_access_disable(xc_interface *xch, domid_t domain_id);
- int xc_mem_access_resume(xc_interface *xch, domid_t domain_id,
- unsigned long gfn);
-diff -durN -x '*~' -x '*.orig' -x '*.rej' xen-4.4.0.orig/tools/tests/xen-access/xen-access.c xen-4.4.0/tools/tests/xen-access/xen-access.c
---- xen-4.4.0.orig/tools/tests/xen-access/xen-access.c 2014-03-10 11:43:57.000000000 +0100
-+++ xen-4.4.0/tools/tests/xen-access/xen-access.c 2014-06-18 10:20:55.000000000 +0200
-@@ -231,7 +231,6 @@
- xenaccess_t *xenaccess = 0;
- xc_interface *xch;
- int rc;
-- unsigned long ring_pfn, mmap_pfn;
-
- xch = xc_interface_open(NULL, NULL, 0);
- if ( !xch )
-@@ -253,40 +252,12 @@
- /* Initialise lock */
- mem_event_ring_lock_init(&xenaccess->mem_event);
-
-- /* Map the ring page */
-- xc_get_hvm_param(xch, xenaccess->mem_event.domain_id,
-- HVM_PARAM_ACCESS_RING_PFN, &ring_pfn);
-- mmap_pfn = ring_pfn;
-- xenaccess->mem_event.ring_page =
-- xc_map_foreign_batch(xch, xenaccess->mem_event.domain_id,
-- PROT_READ | PROT_WRITE, &mmap_pfn, 1);
-- if ( mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
-- {
-- /* Map failed, populate ring page */
-- rc = xc_domain_populate_physmap_exact(xenaccess->xc_handle,
-- xenaccess->mem_event.domain_id,
-- 1, 0, 0, &ring_pfn);
-- if ( rc != 0 )
-- {
-- PERROR("Failed to populate ring gfn\n");
-- goto err;
-- }
--
-- mmap_pfn = ring_pfn;
-- xenaccess->mem_event.ring_page =
-- xc_map_foreign_batch(xch, xenaccess->mem_event.domain_id,
-- PROT_READ | PROT_WRITE, &mmap_pfn, 1);
-- if ( mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
-- {
-- PERROR("Could not map the ring page\n");
-- goto err;
-- }
-- }
--
-- /* Initialise Xen */
-- rc = xc_mem_access_enable(xenaccess->xc_handle, xenaccess->mem_event.domain_id,
-- &xenaccess->mem_event.evtchn_port);
-- if ( rc != 0 )
-+ /* Enable mem_access */
-+ xenaccess->mem_event.ring_page =
-+ xc_mem_access_enable(xenaccess->xc_handle,
-+ xenaccess->mem_event.domain_id,
-+ &xenaccess->mem_event.evtchn_port);
-+ if ( xenaccess->mem_event.ring_page == NULL )
- {
- switch ( errno ) {
- case EBUSY:
-@@ -296,7 +267,7 @@
- ERROR("EPT not supported for this guest");
- break;
- default:
-- perror("Error initialising shared page");
-+ perror("Error enabling mem_access");
- break;
- }
- goto err;
-@@ -330,11 +301,6 @@
- (mem_event_sring_t *)xenaccess->mem_event.ring_page,
- PAGE_SIZE);
-
-- /* Now that the ring is set, remove it from the guest's physmap */
-- if ( xc_domain_decrease_reservation_exact(xch,
-- xenaccess->mem_event.domain_id, 1, 0, &ring_pfn) )
-- PERROR("Failed to remove ring from guest physmap");
--
- /* Get platform info */
- xenaccess->platform_info = malloc(sizeof(xc_platform_info_t));
- if ( xenaccess->platform_info == NULL )
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xen.git/commitdiff/32d7e1602231dde347380e21cd147cc36aefe22b
More information about the pld-cvs-commit
mailing list