We observed initialization failures on Xorg 6.9 and on closer inspection of the log file it looked like PCI scanning was getting confused and mixing up IO address ranges with a disabled ROM BAR on a SATA device. I tracked the problems down to xf86GetOSOffsetFromPCI. I'm about to attach a patch that fixes our issues. See the comments in the code for details. The patch is against Xorg 6.9, but I believe it should still apply to CVS HEAD. ATI Technologies Inc.
Created attachment 5044 [details] [review] Fix various issues in xf86GetOSOffsetFromPCI This fixes matching of IO BARs with less than 16-byte alignment. It also ignores disabled BARS. These two problems together lead to problems where the start and end address of the same IO BAR were matched by different BARS and translated differently. The change of <= to < fixes a potential problem when two BARS are immediately adjacent in address space. The base address of one BAR may have been matched by a BAR immediately preceeding it.
Tentatively block Xorg 7.1 release tracker. I'd like my patch reviewed by someone more competent than me (PCI spec, different platforms, especially Altix that introduced the problem) before committing it.
Ping. Is anyone going to look at this before the Xorg 7.1 release?
This looks correct to me, I think. I'm doing a final round of testing today with this included, so if it smokechecks I think it's good to include.
(In reply to comment #4) > This looks correct to me, I think. I'm doing a final round of testing today > with this included, so if it smokechecks I think it's good to include. Thank you! I had already given up hope of seeing this in 7.1. :-)
works on everything i could test on. applied, thanks!
*** Bug 7799 has been marked as a duplicate of this bug. ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.