1 |
Is anyone in a position to verify this? It's basically a proposed |
2 |
one-line fix for the sparc/mach64 lockup problem with xorg-x11-7.1, and |
3 |
if it works, it's better than remove-altix. |
4 |
|
5 |
The actual proposed patch looks like |
6 |
======================== |
7 |
--- hw/xfree86/os-support/bus/linuxPci.c- 2006-08-24 |
8 |
18:32:52.000000000 +0000 |
9 |
+++ hw/xfree86/os-support/bus/linuxPci.c 2006-08-24 |
10 |
18:37:10.000000000 +0000 |
11 |
@@ -84,7 +84,11 @@ |
12 |
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr, |
13 |
#else |
14 |
/* pciAddrHostToBus */ pciAddrNOOP, |
15 |
+#ifdef __ia64__ |
16 |
/* pciAddrBusToHost */ linuxTransAddrBusToHost, |
17 |
+#else |
18 |
+/* pciAddrBusToHost */ pciAddrNOOP, |
19 |
+#endif |
20 |
#endif |
21 |
|
22 |
/* pciControlBridge */ NULL, |
23 |
=========================== |
24 |
I have attached it as jparnes.patch, as well. I have verified that the |
25 |
patch installs, and that linuxPci.c compiles with it applied, but I do |
26 |
not have a mach64 system on which to test it. |
27 |
|
28 |
|
29 |
-------- Forwarded Message -------- |
30 |
From: bugzilla-daemon@××××××××××××××××××××.org |
31 |
To: fmccor@g.o |
32 |
Subject: [Bug 3914] ATI Mach64 locks up sparc post 6.8.99.3 |
33 |
Date: Wed, 23 Aug 2006 09:20:20 -0700 (PDT) |
34 |
|
35 |
Please do not reply to this email: if you want to comment on the bug, go to |
36 |
|
37 |
the URL shown below and enter yourcomments there. |
38 |
|
39 |
https://bugs.freedesktop.org/show_bug.cgi?id=3914 |
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
------- Additional Comments From jbarnes@××××××××××××.org 2006-08-23 09:20 ------- |
46 |
The snippet below (from the revert patch) removes the new |
47 |
linuxTransAddrBusToHost routine from the PCI mapping function table. This |
48 |
routine is *supposed* to be generic, but it may well be broken on some sparc64 |
49 |
configurations. Can you try building a tree without the revert patch but with |
50 |
that line protected #if defined(__ia64__) ... #endif instead of removed |
51 |
entirely? That would tell us for sure if the xf86GetOSOffsetFromPCI routine |
52 |
was the culprit (it probably is, it has quite a few shortcomings). |
53 |
|
54 |
If that works, simply protecting that line with an #ifdef __ia64__ might be a |
55 |
good short term fix... |
56 |
|
57 |
Thanks, |
58 |
Jesse |
59 |
|
60 |
--- a/hw/xfree86/os-support/bus/linuxPci.c |
61 |
+++ b/hw/xfree86/os-support/bus/linuxPci.c |
62 |
@@ -63,7 +63,6 @@ #include "Pci.h" |
63 |
static CARD32 linuxPciCfgRead(PCITAG tag, int off); |
64 |
static void linuxPciCfgWrite(PCITAG, int off, CARD32 val); |
65 |
static void linuxPciCfgSetBits(PCITAG tag, int off, CARD32 mask, CARD32 bits); |
66 |
-static ADDRESS linuxTransAddrBusToHost(PCITAG tag, PciAddrType type, ADDRESS |
67 |
addr); |
68 |
#if defined(__powerpc__) |
69 |
static ADDRESS linuxPpcBusAddrToHostAddr(PCITAG, PciAddrType, ADDRESS); |
70 |
static ADDRESS linuxPpcHostAddrToBusAddr(PCITAG, PciAddrType, ADDRESS); |
71 |
@@ -84,7 +83,7 @@ #if defined(__powerpc__) |
72 |
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr, |
73 |
#else |
74 |
/* pciAddrHostToBus */ pciAddrNOOP, |
75 |
-/* pciAddrBusToHost */ linuxTransAddrBusToHost, |
76 |
+/* pciAddrBusToHost */ pciAddrNOOP, |
77 |
#endif |
78 |
|
79 |
/* pciControlBridge */ NULL, |
80 |
|
81 |
|
82 |
-- |
83 |
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email |
84 |
|
85 |
------- You are receiving this mail because: ------- |
86 |
You are on the CC list for the bug, or are watching someone who is. |
87 |
|
88 |
================================================= |
89 |
|
90 |
Thanks, |
91 |
Ferris |
92 |
-- |
93 |
Ferris McCormick (P44646, MI) <fmccor@g.o> |
94 |
Developer, Gentoo Linux (Devrel, Sparc) |