summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2013-07-09 10:46:52 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-12-12 22:03:42 +0100
commit7ed39767048c535217bb741e1d0f0f365f598f10 (patch)
tree9a2fdef9a6ef631294aae1fad20541882964ae03 /src/device
parent768903eac919f66362354f8141ca9a37b8ceb79f (diff)
downloadcoreboot-7ed39767048c535217bb741e1d0f0f365f598f10.tar.xz
Log device path during resource allocation
Systems are hanging in dev_configure() without a log to indicate which device is being processed. Add some logging points to save the device path before talking to the device so we can narrow in on which device is the problem. Change-Id: I3751c19a1ea68cdccbc33e4f6b2eeddd1bd9f2e4 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/61296 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/4349 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/device')
-rw-r--r--src/device/device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/device/device.c b/src/device/device.c
index 8bde663076..9e068107d8 100644
--- a/src/device/device.c
+++ b/src/device/device.c
@@ -215,12 +215,14 @@ static void read_resources(struct bus *bus)
dev_path(curdev));
continue;
}
+ post_log_path(curdev);
curdev->ops->read_resources(curdev);
/* Read in the resources behind the current device's links. */
for (link = curdev->link_list; link; link = link->next)
read_resources(link);
}
+ post_log_clear();
printk(BIOS_SPEW, "%s read_resources bus %d link: %d done\n",
dev_path(bus->dev), bus->secondary, bus->link_num);
}
@@ -1027,6 +1029,7 @@ void dev_configure(void)
for (child = root->link_list->children; child; child = child->sibling) {
if (!(child->path.type == DEVICE_PATH_DOMAIN))
continue;
+ post_log_path(child);
for (res = child->resource_list; res; res = res->next) {
if (res->flags & IORESOURCE_FIXED)
continue;
@@ -1073,6 +1076,7 @@ void dev_configure(void)
for (child = root->link_list->children; child; child = child->sibling) {
if (!(child->path.type == DEVICE_PATH_DOMAIN))
continue;
+ post_log_path(child);
for (res = child->resource_list; res; res = res->next) {
if (res->flags & IORESOURCE_FIXED)
continue;