]> git.pld-linux.org Git - packages/xen.git/commitdiff
- started update to 4.5.1 (note: new sonames, xend is gone) xen-4.5
authorJakub Bogusz <qboosh@pld-linux.org>
Sat, 3 Oct 2015 19:37:43 +0000 (21:37 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Sat, 3 Oct 2015 19:37:43 +0000 (21:37 +0200)
- 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)

15 files changed:
xen-configure-xend.patch [deleted file]
xen-dumpdir.patch
xen-make.patch
xen-net-disable-iptables-on-bridge.patch
xen-paths.patch
xen-python_scripts.patch
xen-symbols.patch
xen-ulong.patch [deleted file]
xen.spec
xend-pci-loop.patch [deleted file]
xend.catchbt.patch [deleted file]
xend.init [deleted file]
xend.service [deleted file]
xend.tmpfiles [deleted file]
xsa99.patch [deleted file]

diff --git a/xen-configure-xend.patch b/xen-configure-xend.patch
deleted file mode 100644 (file)
index 0bdc932..0000000
+++ /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.
index c0e7186f3a75ec0469055a9e59c164017bfc0547..771dec07a2430a7b79aa4ac492216828e5f85d55 100644 (file)
@@ -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
index 077b0cb19bbb29ce82cdb7de42557203e7e6e65e..cf57b89344ba7634c566af7b9cbbc955a5b185af 100644 (file)
@@ -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)
index 8908041c37346463f86164d34274141cae890947..2f33eb4fcd19d32159c4a000f0c69c1f50e7b7c7 100644 (file)
@@ -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
  
index 662488bc16c3cea55e1d8ef5ceb0ad25f8906a7c..c2a05b2fec9e105a0bfe34ff43fb81ec50ce793e 100644 (file)
@@ -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 \
index 74f7483efbc372d48eb1a03b1a69e8745d4e1656..417a9cc6b6f078a8863ce82ddc6a2db373bd2651 100644 (file)
@@ -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
index dbf17720b1f4f4edf4830f3a3e77cf0f0491015f..db30fd821b57a4bbfae4e7774eae36511fbef9eb 100644 (file)
@@ -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 (file)
index 9842e65..0000000
+++ /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);
index 950dddc9c05dd4d0f7972ebf2c139700b0f34381..2b7a6b71a7e6a122731f808674361e359dd39913 100644 (file)
--- 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
 #  - 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
 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/xend-pci-loop.patch b/xend-pci-loop.patch
deleted file mode 100644 (file)
index 5c4118a..0000000
+++ /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 (file)
index 95eac54..0000000
+++ /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 (file)
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 (file)
index 0830bc4..0000000
+++ /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 (file)
index 84048e6..0000000
+++ /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 (file)
index 14e58f4..0000000
+++ /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 )
This page took 0.081684 seconds and 4 git commands to generate.