Attached is a patch that contains the extra debug statements I added.
Below is the new output:
before scan bus of PCI: 00:18.0
In scan bus of PCI: 00:18.0
--
Hugh Greenberg
Myles Watson wrote:
On Wed, Oct 21, 2009 at 9:31 AM, Hugh Greenberg <[email protected]
<mailto:[email protected]>> wrote:
PCI: 00:1f.0, bad id 0xffffffff
POST: 0x25
scan bus of PCI: 00:18.0
While we're doing this part only the last few lines (or the new lines
since the last time) really matter.
It looks like it gets stuck in scan_bus. Try adding print statements
1. after scan_bus just in case.
2. inside scan_bus in src/devices/device.c
Print out which functions are being called and we'll narrow this down.
When I get back to the lab I can start comparing to SimNOW again.
Thanks,
Myles
diff -urN -x .svn coreboot-v2.orig/src/devices/device.c coreboot-v2/src/devices/device.c
--- coreboot-v2.orig/src/devices/device.c 2009-10-21 10:14:54.000000000 -0600
+++ coreboot-v2/src/devices/device.c 2009-10-21 10:13:29.000000000 -0600
@@ -847,14 +847,20 @@
do_scan_bus = 1;
while (do_scan_bus) {
int link;
+ printk_debug("In scan bus of %s\n", dev_path(busdev));
new_max = busdev->ops->scan_bus(busdev, max);
do_scan_bus = 0;
for (link = 0; link < busdev->links; link++) {
if (busdev->link[link].reset_needed) {
+ printk_debug("Reset needed for link device: %s\n",
+ dev_path(busdev->link[link].dev));
+
if (reset_bus(&busdev->link[link])) {
do_scan_bus = 1;
} else {
busdev->bus->reset_needed = 1;
+ printk_debug("Setting reset_needed for %s to 1\n",
+ dev_path(busdev));
}
}
}
diff -urN -x .svn coreboot-v2.orig/src/devices/pci_device.c coreboot-v2/src/devices/pci_device.c
--- coreboot-v2.orig/src/devices/pci_device.c 2009-10-21 10:14:54.000000000 -0600
+++ coreboot-v2/src/devices/pci_device.c 2009-10-21 10:10:22.000000000 -0600
@@ -1081,7 +1081,9 @@
* scan the bus behind that child.
*/
for (child = bus->children; child; child = child->sibling) {
+ printk_debug("before scan bus of %s\n", dev_path(child));
max = scan_bus(child, max);
+ printk_debug("after scan bus of %s\n", dev_path(child));
}
/* We've scanned the bus and so we know all about what's on the other
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot