Mailing List Archive

[Fwd: [Bug 3914] ATI Mach64 locks up sparc post 6.8.99.3]
Is anyone in a position to verify this? It's basically a proposed
one-line fix for the sparc/mach64 lockup problem with xorg-x11-7.1, and
if it works, it's better than remove-altix.

The actual proposed patch looks like
========================
--- hw/xfree86/os-support/bus/linuxPci.c- 2006-08-24
18:32:52.000000000 +0000
+++ hw/xfree86/os-support/bus/linuxPci.c 2006-08-24
18:37:10.000000000 +0000
@@ -84,7 +84,11 @@
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr,
#else
/* pciAddrHostToBus */ pciAddrNOOP,
+#ifdef __ia64__
/* pciAddrBusToHost */ linuxTransAddrBusToHost,
+#else
+/* pciAddrBusToHost */ pciAddrNOOP,
+#endif
#endif

/* pciControlBridge */ NULL,
===========================
I have attached it as jparnes.patch, as well. I have verified that the
patch installs, and that linuxPci.c compiles with it applied, but I do
not have a mach64 system on which to test it.


-------- Forwarded Message --------
From: bugzilla-daemon@annarchy.freedesktop.org
To: fmccor@gentoo.org
Subject: [Bug 3914] ATI Mach64 locks up sparc post 6.8.99.3
Date: Wed, 23 Aug 2006 09:20:20 -0700 (PDT)

Please do not reply to this email: if you want to comment on the bug, go to

the URL shown below and enter yourcomments there.

https://bugs.freedesktop.org/show_bug.cgi?id=3914





------- Additional Comments From jbarnes@virtuousgeek.org 2006-08-23 09:20 -------
The snippet below (from the revert patch) removes the new
linuxTransAddrBusToHost routine from the PCI mapping function table. This
routine is *supposed* to be generic, but it may well be broken on some sparc64
configurations. Can you try building a tree without the revert patch but with
that line protected #if defined(__ia64__) ... #endif instead of removed
entirely? That would tell us for sure if the xf86GetOSOffsetFromPCI routine
was the culprit (it probably is, it has quite a few shortcomings).

If that works, simply protecting that line with an #ifdef __ia64__ might be a
good short term fix...

Thanks,
Jesse

--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -63,7 +63,6 @@ #include "Pci.h"
static CARD32 linuxPciCfgRead(PCITAG tag, int off);
static void linuxPciCfgWrite(PCITAG, int off, CARD32 val);
static void linuxPciCfgSetBits(PCITAG tag, int off, CARD32 mask, CARD32 bits);
-static ADDRESS linuxTransAddrBusToHost(PCITAG tag, PciAddrType type, ADDRESS
addr);
#if defined(__powerpc__)
static ADDRESS linuxPpcBusAddrToHostAddr(PCITAG, PciAddrType, ADDRESS);
static ADDRESS linuxPpcHostAddrToBusAddr(PCITAG, PciAddrType, ADDRESS);
@@ -84,7 +83,7 @@ #if defined(__powerpc__)
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr,
#else
/* pciAddrHostToBus */ pciAddrNOOP,
-/* pciAddrBusToHost */ linuxTransAddrBusToHost,
+/* pciAddrBusToHost */ pciAddrNOOP,
#endif

/* pciControlBridge */ NULL,


--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

=================================================

Thanks,
Ferris
--
Ferris McCormick (P44646, MI) <fmccor@gentoo.org>
Developer, Gentoo Linux (Devrel, Sparc)