diff options
author | marcel <marcel@FreeBSD.org> | 2003-03-01 05:18:28 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-03-01 05:18:28 +0000 |
commit | b945595d09ddf57e3f0064d59e060af059b1824d (patch) | |
tree | 46c4fd2fe7b9ec9e2f1eca3a1535bfa2aa3c63f6 /sys/boot/efi/loader | |
parent | b6d91ca8936616a9e0a7d01f7a18d366d496902c (diff) | |
download | FreeBSD-src-b945595d09ddf57e3f0064d59e060af059b1824d.zip FreeBSD-src-b945595d09ddf57e3f0064d59e060af059b1824d.tar.gz |
Speed up debugging in the context of unexpected traps by printing
the address of the image base of the loader. Given cr.iip, we can
use the symbol table to figure out what function caused the trap.
Diffstat (limited to 'sys/boot/efi/loader')
-rw-r--r-- | sys/boot/efi/loader/main.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/boot/efi/loader/main.c b/sys/boot/efi/loader/main.c index 7d138a1..bc1c044 100644 --- a/sys/boot/efi/loader/main.c +++ b/sys/boot/efi/loader/main.c @@ -131,12 +131,15 @@ main(int argc, CHAR16 *argv[]) efinet_init_driver(); + + /* Get our loaded image protocol interface structure. */ + BS->HandleProtocol(IH, &imgid, (VOID**)&img); + + printf("Image base: 0x%016lx\n", (u_long)img->ImageBase); + printf("\n"); printf("%s, Revision %s\n", bootprog_name, bootprog_rev); printf("(%s, %s)\n", bootprog_maker, bootprog_date); -#if 0 - printf("Memory: %ld k\n", memsize() / 1024); -#endif /* * XXX quick and dirty check to see if we're loaded from the @@ -144,8 +147,6 @@ main(int argc, CHAR16 *argv[]) * other cases we set the default device to 'disk'. We presume * fixed positions in devsw for both net and disk. */ - BS->HandleProtocol(IH, &imgid, (VOID**)&img); - status = BS->HandleProtocol(img->DeviceHandle, &netid, (VOID**)&net); if (status == EFI_SUCCESS && net != NULL) { currdev.d_dev = devsw[1]; /* XXX net */ |