aboutsummaryrefslogtreecommitdiff
path: root/board/sandbox
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-04-24 12:27:29 -0400
committerTom Rini <trini@konsulko.com>2019-04-24 12:27:29 -0400
commit7d994067424776b6184872b82fcaf4c0b95528f9 (patch)
treef8aaab8764ad4bc88c6389f8ee6b1ee75360b7a6 /board/sandbox
parent180e38ad2dbb3340cc71fb4fa335a68f2a4122ef (diff)
parent8781d04f422e110fef864dd849085054fe5b0e65 (diff)
downloadu-boot-7d994067424776b6184872b82fcaf4c0b95528f9.zip
u-boot-7d994067424776b6184872b82fcaf4c0b95528f9.tar.gz
u-boot-7d994067424776b6184872b82fcaf4c0b95528f9.tar.bz2
Merge tag 'pull-24apr19' of git://git.denx.de/u-boot-dm
Various minor sandbox iumprovements Fixes for tracing with sandbox Refactoring for boot_get_fdt()
Diffstat (limited to 'board/sandbox')
-rw-r--r--board/sandbox/README.sandbox46
1 files changed, 46 insertions, 0 deletions
diff --git a/board/sandbox/README.sandbox b/board/sandbox/README.sandbox
index 9b09404..48c1e2b 100644
--- a/board/sandbox/README.sandbox
+++ b/board/sandbox/README.sandbox
@@ -392,6 +392,49 @@ state_setprop() which does this automatically and avoids running out of
space. See existing code for examples.
+Debugging the init sequence
+---------------------------
+
+If you get a failure in the initcall sequence, like this:
+
+ initcall sequence 0000560775957c80 failed at call 0000000000048134 (err=-96)
+
+Then you use can use grep to see which init call failed, e.g.:
+
+ $ grep 0000000000048134 u-boot.map
+ stdio_add_devices
+
+Of course another option is to run it with a debugger such as gdb:
+
+ $ gdb u-boot
+ ...
+ (gdb) br initcall.h:41
+ Breakpoint 1 at 0x4db9d: initcall.h:41. (2 locations)
+
+Note that two locations are reported, since this function is used in both
+board_init_f() and board_init_r().
+
+ (gdb) r
+ Starting program: /tmp/b/sandbox/u-boot
+ [Thread debugging using libthread_db enabled]
+ Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
+
+ U-Boot 2018.09-00264-ge0c2ba9814-dirty (Sep 22 2018 - 12:21:46 -0600)
+
+ DRAM: 128 MiB
+ MMC:
+
+ Breakpoint 1, initcall_run_list (init_sequence=0x5555559619e0 <init_sequence_f>)
+ at /scratch/sglass/cosarm/src/third_party/u-boot/files/include/initcall.h:41
+ 41 printf("initcall sequence %p failed at call %p (err=%d)\n",
+ (gdb) print *init_fnc_ptr
+ $1 = (const init_fnc_t) 0x55555559c114 <stdio_add_devices>
+ (gdb)
+
+
+This approach can be used on normal boards as well as sandbox.
+
+
Testing
-------
@@ -434,6 +477,9 @@ that are mapped into that memory:
0 CONFIG_SYS_FDT_LOAD_ADDR Device tree
e000 CONFIG_BLOBLIST_ADDR Blob list
10000 CONFIG_MALLOC_F_ADDR Early memory allocation
+ f0000 CONFIG_PRE_CON_BUF_ADDR Pre-console buffer
+ 100000 CONFIG_TRACE_EARLY_ADDR Early trace buffer (if enabled)
+=
--