On Sat, Jan 01, 2011 at 10:12:44PM -0500, P. J. McDermott wrote: > On 01/01/2011 06:57 PM, Colin Watson wrote: > > One effect of these changes was to load the video_cirrus and video_bochs > > modules by default (you can test whether this is the culprit by > > commenting them out in grub.cfg). I've seen a handful of systems that > > hang while trying to enumerate the PCI bus in GRUB; it so happens that > > those are the only modules that usually trigger GRUB's PCI bus > > enumeration in normal circumstances ... > > > > You can also verify this at a lower level by trying 'lspci' at a GRUB > > prompt. If it's the same problem, this will hang. > > I noticed the new bochs and cirrus files, but I didn't think they would > affect a Poulsbo system. You're right though; I commented out those > lines, and I'm now looking at a graphical menu for "GNU GRUB version > 1.98+20100804-11" (as installed by Squeeze beta1's debian-installer) on > an AO751h. I suppose the problem then is in either grub_pci_iterate() or > the hook functions passed to it by the cirrus and bochs modules?
grub_pci_iterate itself, IIRC. On the system I briefly had access to, it hung when it tried to read from a particular address in PCI memory (when it got to some high-numbered bus - 171 or something like that, I forget the exact number). GRUB just reads through PCI busses sequentially from 0 to 255. Linux does something much more complicated. In the time I had available I couldn't figure out how to reproduce it in GRUB, or whether it was necessary - it seemed to be stopping well before bus 255 though. I think it was getting the limit from PCI configuration space, but there seemed to be some kind of multi-level scheme going on. -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org