Today's snapshot. mergey-merge-merge.

This commit is contained in:
Adam Jackson 2008-03-14 19:50:58 +00:00
parent cae9d22d3e
commit 633248141c
7 changed files with 9 additions and 367 deletions

View File

@ -1 +1 @@
xorg-server-20080310.tar.bz2 xorg-server-20080314.tar.bz2

View File

@ -1 +1 @@
02feb14a678e3b8ad9acf0b6db8d159b4fd64147 4a61cf3b08942895868e18bff11e0e4e12f69a7e

View File

@ -1 +1 @@
5d8257eb3d8f466e7c48540cb3740a19 xorg-server-20080310.tar.bz2 455e0406e3b9f7a22d33f596284f9cd0 xorg-server-20080314.tar.bz2

View File

@ -15,12 +15,12 @@
# RHEL5 bugfix sync # RHEL5 bugfix sync
%define pkgname xorg-server %define pkgname xorg-server
%define gitdate 20080310 %define gitdate 20080314
Summary: X.Org X11 X server Summary: X.Org X11 X server
Name: xorg-x11-server Name: xorg-x11-server
Version: 1.4.99.901 Version: 1.4.99.901
Release: 8.%{gitdate}%{?dist} Release: 9.%{gitdate}%{?dist}
URL: http://www.x.org URL: http://www.x.org
License: MIT License: MIT
Group: User Interface/X Group: User Interface/X
@ -60,13 +60,10 @@ Patch5001: xserver-1.4.99-alloca-poison.patch
# This really could be done prettier. # This really could be done prettier.
Patch5002: xserver-1.4.99-ssh-isnt-local.patch Patch5002: xserver-1.4.99-ssh-isnt-local.patch
Patch5003: xserver-1.5.0-x86emu.patch
Patch5004: xserver-1.5.0-wfs.patch Patch5004: xserver-1.5.0-wfs.patch
Patch5005: xserver-1.5.0-unselinux.patch Patch5005: xserver-1.5.0-unselinux.patch
Patch5006: xserver-1.5.0-ia64.patch
Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch
Patch5008: xserver-1.5.0-xaa-sucks.patch Patch5008: xserver-1.5.0-xaa-sucks.patch
Patch5009: xserver-1.5.0-aspect-match.patch
%define moduledir %{_libdir}/xorg/modules %define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri %define drimoduledir %{_libdir}/dri
@ -124,7 +121,7 @@ BuildRequires: libdrm-devel >= 2.4.0
Requires: libdrm >= 2.4.0 Requires: libdrm >= 2.4.0
%endif %endif
BuildRequires: libselinux-devel audit-libs-devel BuildRequires: audit-libs-devel libselinux-devel >= 2.0.59-1
BuildRequires: hal-devel dbus-devel BuildRequires: hal-devel dbus-devel
# Make sure libXfont has the catalogue FPE # Make sure libXfont has the catalogue FPE
@ -515,6 +512,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Fri Mar 14 2008 Adam Jackson <ajax@redhat.com> 1.4.99.901-9.20080314
- Today's snapshot. Mostly just patch merge with rawhide.
* Thu Mar 13 2008 Adam Jackson <ajax@redhat.com> 1.4.99.901-8.20080310 * Thu Mar 13 2008 Adam Jackson <ajax@redhat.com> 1.4.99.901-8.20080310
- xserver-1.5.0-aspect-match.patch: Fix the RANDR 1.2 initial configuration - xserver-1.5.0-aspect-match.patch: Fix the RANDR 1.2 initial configuration
heuristic for the case where the best possible mode is the first one in heuristic for the case where the best possible mode is the first one in

View File

@ -1,92 +0,0 @@
From ee98a88b16133b1e2b8532678ea9e06868db7407 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 13 Mar 2008 14:06:18 -0400
Subject: [PATCH] Fix xf86TargetAspect() to, er, work.
nextAspectMode() was always skipping the first mode in the mode list, which
was problematic if that was the best possible mode...
---
hw/xfree86/modes/xf86Crtc.c | 51 ++++++++++++++++++++++--------------------
1 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 0bef5b4..2b07421 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -1674,14 +1674,19 @@ aspectMatch(float a, float b)
}
static DisplayModePtr
-nextAspectMode(DisplayModePtr start, float aspect)
+nextAspectMode(xf86OutputPtr o, DisplayModePtr last, float aspect)
{
- DisplayModePtr m = start;
+ DisplayModePtr m = NULL;
- if (!m)
+ if (!o)
return NULL;
- for (m = m->next; m; m = m->next)
+ if (!last)
+ m = o->probed_modes;
+ else
+ m = last->next;
+
+ for (; m; m = m->next)
if (aspectMatch(aspect, (float)m->HDisplay / (float)m->VDisplay))
return m;
@@ -1691,31 +1696,29 @@ nextAspectMode(DisplayModePtr start, float aspect)
static DisplayModePtr
bestModeForAspect(xf86CrtcConfigPtr config, Bool *enabled, float aspect)
{
- int o, p;
- DisplayModePtr mode, test = NULL, match = NULL;
+ int o = -1, p;
+ DisplayModePtr mode = NULL, test = NULL, match = NULL;
- for (o = -1; nextEnabledOutput(config, enabled, &o); ) {
- mode = config->output[o]->probed_modes;
- while ((mode = nextAspectMode(mode, aspect))) {
- for (p = o; nextEnabledOutput(config, enabled, &p); ) {
- test = xf86OutputFindClosestMode(config->output[p], mode);
- if (!test)
- break;
- if (test->HDisplay != mode->HDisplay ||
+ nextEnabledOutput(config, enabled, &o);
+ while ((mode = nextAspectMode(config->output[o], mode, aspect))) {
+ for (p = o; nextEnabledOutput(config, enabled, &p); ) {
+ test = xf86OutputFindClosestMode(config->output[p], mode);
+ if (!test)
+ break;
+ if (test->HDisplay != mode->HDisplay ||
test->VDisplay != mode->VDisplay) {
- test = NULL;
- break;
- }
+ test = NULL;
+ break;
}
+ }
- /* if we didn't match it on all outputs, try the next one */
- if (!test)
- continue;
+ /* if we didn't match it on all outputs, try the next one */
+ if (!test)
+ continue;
- /* if it's bigger than the last one, save it */
- if (!match || (test->HDisplay > match->HDisplay))
- match = test;
- }
+ /* if it's bigger than the last one, save it */
+ if (!match || (test->HDisplay > match->HDisplay))
+ match = test;
}
/* return the biggest one found */
--
1.5.4.3

View File

@ -1,137 +0,0 @@
From 9053cba9d766be78d150226aa4adf61e5a6717d2 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@benzedrine.nwnk.net>
Date: Wed, 12 Mar 2008 19:52:50 -0400
Subject: [PATCH] Fix ia64 PCI support.
---
hw/xfree86/os-support/bus/Makefile.am | 12 -------
hw/xfree86/os-support/bus/Pci.h | 3 +-
hw/xfree86/os-support/linux/Makefile.am | 2 +-
hw/xfree86/os-support/shared/ia64Pci.c | 55 -------------------------------
4 files changed, 2 insertions(+), 70 deletions(-)
diff --git a/hw/xfree86/os-support/bus/Makefile.am b/hw/xfree86/os-support/bus/Makefile.am
index 381b992..5a15430 100644
--- a/hw/xfree86/os-support/bus/Makefile.am
+++ b/hw/xfree86/os-support/bus/Makefile.am
@@ -27,18 +27,6 @@ if LINUX_ALPHA
PCI_SOURCES += axpPci.c
endif
-if LINUX_IA64
-PLATFORM_PCI_SOURCES = \
- 460gxPCI.c \
- 460gxPCI.h \
- altixPCI.c \
- altixPCI.h \
- e8870PCI.c \
- e8870PCI.h \
- zx1PCI.c \
- zx1PCI.h
-endif
-
if XORG_BUS_SPARC
PLATFORM_SOURCES = Sbus.c
sdk_HEADERS += xf86Sbus.h
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 0abb34f..ebac090 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -207,9 +207,8 @@
# endif
#elif defined(__ia64__)
# if defined(linux)
-# define ARCH_PCI_INIT ia64linuxPciInit
+# define ARCH_PCI_INIT linuxPciInit
# endif
-# define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper
#elif defined(__i386__) || defined(__i386)
# if defined(linux)
# define ARCH_PCI_INIT linuxPciInit
diff --git a/hw/xfree86/os-support/linux/Makefile.am b/hw/xfree86/os-support/linux/Makefile.am
index 5a52ffd..beaae3d 100644
--- a/hw/xfree86/os-support/linux/Makefile.am
+++ b/hw/xfree86/os-support/linux/Makefile.am
@@ -1,7 +1,7 @@
noinst_LTLIBRARIES = liblinux.la
if LINUX_IA64
-PLATFORM_PCI_SUPPORT = $(srcdir)/lnx_ia64.c $(srcdir)/../shared/ia64Pci.c
+PLATFORM_PCI_SUPPORT = $(srcdir)/../shared/ia64Pci.c
PLATFORM_DEFINES = -DOS_PROBE_PCI_CHIPSET=lnxProbePciChipset
PLATFORM_INCLUDES = -I$(srcdir)/../shared
endif
diff --git a/hw/xfree86/os-support/shared/ia64Pci.c b/hw/xfree86/os-support/shared/ia64Pci.c
index 45522e9..6f6924b 100644
--- a/hw/xfree86/os-support/shared/ia64Pci.c
+++ b/hw/xfree86/os-support/shared/ia64Pci.c
@@ -42,12 +42,7 @@
#include <linux/pci.h>
#include "compiler.h"
-#include "460gxPCI.h"
-#include "e8870PCI.h"
-#include "zx1PCI.h"
-#include "altixPCI.h"
#include "Pci.h"
-#include "ia64Pci.h"
/*
* We use special in/out routines here since Altix platforms require the
@@ -191,53 +186,3 @@ _X_EXPORT unsigned int inl(unsigned long port)
return val;
}
-void
-ia64ScanPCIWrapper(scanpciWrapperOpt flags)
-{
- static IA64Chipset chipset = NONE_CHIPSET;
-
- if (flags == SCANPCI_INIT) {
-
- /* PCI configuration space probes should be done first */
- if (xorgProbe460GX(flags)) {
- chipset = I460GX_CHIPSET;
- xf86PreScan460GX();
- return;
- } else if (xorgProbeE8870(flags)) {
- chipset = E8870_CHIPSET;
- xf86PreScanE8870();
- return;
- }
-#ifdef OS_PROBE_PCI_CHIPSET
- chipset = OS_PROBE_PCI_CHIPSET(flags);
- switch (chipset) {
- case ZX1_CHIPSET:
- xf86PreScanZX1();
- return;
- case ALTIX_CHIPSET:
- xf86PreScanAltix();
- return;
- default:
- return;
- }
-#endif
- } else /* if (flags == SCANPCI_TERM) */ {
-
- switch (chipset) {
- case I460GX_CHIPSET:
- xf86PostScan460GX();
- return;
- case E8870_CHIPSET:
- xf86PostScanE8870();
- return;
- case ZX1_CHIPSET:
- xf86PostScanZX1();
- return;
- case ALTIX_CHIPSET:
- xf86PostScanAltix();
- return;
- default:
- return;
- }
- }
-}
--
1.5.4.3

View File

@ -1,129 +0,0 @@
From 332b9c7d0f499360f7750e6e85cc905703b6ad4a Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Mon, 10 Mar 2008 19:39:21 -0400
Subject: [PATCH] test x86emu fix
---
hw/xfree86/int10/helper_exec.c | 57 +++++++++++++++++++++++++++++++++++-----
1 files changed, 50 insertions(+), 7 deletions(-)
diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c
index de6fde5..9daff22 100644
--- a/hw/xfree86/int10/helper_exec.c
+++ b/hw/xfree86/int10/helper_exec.c
@@ -33,6 +33,7 @@
#ifdef _X86EMU
#include "x86emu/x86emui.h"
#endif
+#include <pciaccess.h>
static int pciCfg1in(CARD16 addr, CARD32 *val);
static int pciCfg1out(CARD16 addr, CARD32 val);
@@ -459,7 +460,43 @@ Mem_wl(CARD32 addr, CARD32 val)
static CARD32 PciCfg1Addr = 0;
-#define OFFSET(Cfg1Addr) (Cfg1Addr & 0xff)
+#define PCI_OFFSET(x) ((x) & 0x000000ff)
+#define PCI_TAG(x) ((x) & 0xffffff00)
+
+static struct pci_device*
+pci_device_for_cfg_address (CARD32 addr)
+{
+ struct pci_device *dev = NULL;
+ PCITAG tag = PCI_TAG(addr);
+ struct pci_slot_match slot_match = {
+ .domain = PCI_DOM_FROM_TAG(tag),
+ .bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(tag)),
+ .dev = PCI_DEV_FROM_TAG(tag),
+ .func = PCI_FUNC_FROM_TAG(tag),
+ .match_data = 0
+ };
+
+ struct pci_device_iterator *iter =
+ pci_slot_match_iterator_create (&slot_match);
+ if (iter)
+ dev = pci_device_next(iter);
+ if (!dev) {
+ char buf[128]; /* enough to store "%u@%u" */
+ xf86FormatPciBusNumber(tag >> 16, buf);
+ ErrorF("Failed to find device matching %s:%u:%u\n",
+ buf, slot_match.dev, slot_match.func);
+ return NULL;
+ }
+
+ if (pci_device_next(iter)) {
+ char buf[128]; /* enough to store "%u@%u" */
+ xf86FormatPciBusNumber(tag >> 16, buf);
+ ErrorF("Multiple devices matching %s:%u:%u\n",
+ buf, slot_match.dev, slot_match.func);
+ }
+
+ return dev;
+}
static int
pciCfg1in(CARD16 addr, CARD32 *val)
@@ -469,7 +506,8 @@ pciCfg1in(CARD16 addr, CARD32 *val)
return 1;
}
if (addr == 0xCFC) {
- pci_device_cfg_read_u32(Int10Current->dev, val, OFFSET(PciCfg1Addr));
+ pci_device_cfg_read_u32(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr));
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inl(%#x) = %8.8x\n", PciCfg1Addr, *val);
return 1;
@@ -487,7 +525,8 @@ pciCfg1out(CARD16 addr, CARD32 val)
if (addr == 0xCFC) {
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outl(%#x, %8.8x)\n", PciCfg1Addr, val);
- pci_device_cfg_write_u32(Int10Current->dev, val, OFFSET(PciCfg1Addr));
+ pci_device_cfg_write_u32(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr));
return 1;
}
return 0;
@@ -506,7 +545,8 @@ pciCfg1inw(CARD16 addr, CARD16 *val)
if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
const unsigned offset = addr - 0xCFC;
- pci_device_cfg_read_u16(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_read_u16(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inw(%#x) = %4.4x\n", PciCfg1Addr + offset, *val);
return 1;
@@ -530,7 +570,8 @@ pciCfg1outw(CARD16 addr, CARD16 val)
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outw(%#x, %4.4x)\n", PciCfg1Addr + offset, val);
- pci_device_cfg_write_u16(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_write_u16(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
return 1;
}
return 0;
@@ -549,7 +590,8 @@ pciCfg1inb(CARD16 addr, CARD8 *val)
if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
const unsigned offset = addr - 0xCFC;
- pci_device_cfg_read_u8(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_read_u8(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inb(%#x) = %2.2x\n", PciCfg1Addr + offset, *val);
return 1;
@@ -573,7 +615,8 @@ pciCfg1outb(CARD16 addr, CARD8 val)
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outb(%#x, %2.2x)\n", PciCfg1Addr + offset, val);
- pci_device_cfg_write_u8(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_write_u8(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
return 1;
}
return 0;
--
1.5.4.3