Hello community, here is the log from the commit of package xf86-video-qxl for openSUSE:Factory checked in at 2016-05-03 09:33:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-video-qxl (Old) and /work/SRC/openSUSE:Factory/.xf86-video-qxl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "xf86-video-qxl" Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-video-qxl/xf86-video-qxl.changes 2015-11-17 14:20:14.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.xf86-video-qxl.new/xf86-video-qxl.changes 2016-05-03 09:33:18.000000000 +0200 @@ -1,0 +2,7 @@ +Wed Apr 20 09:36:05 UTC 2016 - sndirsch@suse.com + +- U_qxl-use-pci-io.patch + * Fix build on AArch64 by backporting upstream patch to use + pci_io_write8 instead of outb + +------------------------------------------------------------------- New: ---- U_qxl-use-pci-io.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-video-qxl.spec ++++++ --- /var/tmp/diff_new_pack.YAdSGS/_old 2016-05-03 09:33:19.000000000 +0200 +++ /var/tmp/diff_new_pack.YAdSGS/_new 2016-05-03 09:33:19.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package xf86-video-qxl # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -37,6 +37,7 @@ Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2 Patch0: n_hardcode_libdrm_cflags.patch Patch1: n_disable-surfaces-on-kms.patch +Patch2: U_qxl-use-pci-io.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool @@ -81,6 +82,7 @@ %setup -q %patch0 -p0 %patch1 -p1 +%patch2 -p1 %build autoreconf -fi ++++++ U_qxl-use-pci-io.patch ++++++
From c1e88427d1763bf9bbf9f2dd738980cee644443f Mon Sep 17 00:00:00 2001 From: Adam Jackson <ajax@redhat.com> Date: Thu, 30 Apr 2015 14:32:16 +0200 Subject: Use pci_io_write8 instead of outb Patch-Mainline: Upstream Git-commit: c1e88427d1763bf9bbf9f2dd738980cee644443f
This ensures better portability as some arches (eg aarch64) don't have outb. On linux pci_io_* try to open the sysfs map file corresponding to the I/O port range, which the kernel translates arch-appropriately. If there is no such file then it'll try to use port instructions if that's a thing the architecture has. So you only need one path, pciaccess exists to get the portability right for you. https://bugzilla.redhat.com/show_bug.cgi?id=1201877 Signed-off-by: Alexander Graf <agraf@suse.de> Index: xf86-video-qxl-0.1.4/src/qxl.h =================================================================== --- xf86-video-qxl-0.1.4.orig/src/qxl.h +++ xf86-video-qxl-0.1.4/src/qxl.h @@ -276,6 +276,7 @@ struct _qxl_screen_t #ifdef XSERVER_LIBPCIACCESS struct pci_device * pci; + struct pci_io_handle * io; #else pciVideoPtr pci; PCITAG pci_tag; @@ -634,7 +635,7 @@ void ioport_write(qxl_screen_t *qxl, uin #else static inline void ioport_write(qxl_screen_t *qxl, int port, int val) { - outb(qxl->io_base + port, val); + pci_io_write8(qxl->io, port, val); } #endif Index: xf86-video-qxl-0.1.4/src/qxl_driver.c =================================================================== --- xf86-video-qxl-0.1.4.orig/src/qxl_driver.c +++ xf86-video-qxl-0.1.4/src/qxl_driver.c @@ -220,6 +220,8 @@ unmap_memory_helper (qxl_screen_t *qxl) pci_device_unmap_range (qxl->pci, qxl->vram, qxl->pci->regions[1].size); if (qxl->rom) pci_device_unmap_range (qxl->pci, qxl->rom, qxl->pci->regions[2].size); + if (qxl->io) + pci_device_close_io (qxl->pci, qxl->io); #else if (qxl->ram) xf86UnMapVidMem (scrnIndex, qxl->ram, (1 << qxl->pci->size[0])); @@ -252,6 +254,9 @@ map_memory_helper (qxl_screen_t *qxl) qxl->pci->regions[2].size, 0, (void **)&qxl->rom); + qxl->io = pci_device_open_io(qxl->pci, + qxl->pci->regions[3].base_addr, + qxl->pci->regions[3].size); qxl->io_base = qxl->pci->regions[3].base_addr; #else qxl->ram = xf86MapPciMem (scrnIndex, VIDMEM_FRAMEBUFFER,