Yet another snapshot.

This commit is contained in:
Adam Jackson 2008-03-11 01:18:22 +00:00
parent 00257b89c1
commit 35b909d528
5 changed files with 129 additions and 6 deletions

View File

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

View File

@ -1 +1 @@
ef702d586697c4ae9092ab0a412719c11973ec60
02feb14a678e3b8ad9acf0b6db8d159b4fd64147

View File

@ -1 +1 @@
04ea8f94db434f0629b8ce7ff68a1087 xorg-server-20080307.tar.bz2
5d8257eb3d8f466e7c48540cb3740a19 xorg-server-20080310.tar.bz2

View File

@ -15,12 +15,12 @@
# RHEL5 bugfix sync
%define pkgname xorg-server
%define gitdate 20080307
%define gitdate 20080310
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.4.99.901
Release: 1.%{gitdate}%{?dist}
Release: 2.%{gitdate}%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -60,6 +60,8 @@ Patch5001: xserver-1.4.99-alloca-poison.patch
# This really could be done prettier.
Patch5002: xserver-1.4.99-ssh-isnt-local.patch
Patch5003: xserver-1.5.0-x86emu.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
%define sdkdir %{_includedir}/xorg
@ -268,7 +270,8 @@ Xserver source code needed to build VNC server (Xvnc)
%setup -q -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%if 0%{gitdate}
git checkout -b fedora
# XXX hack
git checkout -b fedora 921cbc58036491eab491b4c7b07111f04aa58d40
# make it something you can push to.
sed -i 's/git/&+ssh/' .git/config
%else

120
xserver-1.5.0-x86emu.patch Normal file
View File

@ -0,0 +1,120 @@
From 3820624b395ce6073bc86fcc93d4dd44c2cb07e4 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 | 55 ++++++++++++++++++++++++++++++++++-----
1 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c
index de6fde5..da7a38a 100644
--- a/hw/xfree86/int10/helper_exec.c
+++ b/hw/xfree86/int10/helper_exec.c
@@ -459,7 +459,42 @@ 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 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
+ };
+
+ 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 +504,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 +523,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 +543,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 +568,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 +588,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 +613,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.3.8