bdinfo: Show the RAM top and approximate stack pointer

These are useful pieces of information when debugging. The RAM top shows
where U-Boot started allocating memory from, before it relocated. The
stack pointer can be checked to ensure it is in the correct region.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Nikhil M Jain <n-jain1@ti.com>
This commit is contained in:
Simon Glass 2023-07-15 21:38:46 -06:00 committed by Bin Meng
parent 297184143a
commit b279f5170a
3 changed files with 20 additions and 0 deletions

View file

@ -135,6 +135,14 @@ config CMD_BDI
help
Print board info
config CMD_BDINFO_EXTRA
bool "bdinfo extra features"
default y if SANDBOX || X86
help
Show additional information about the board. This uses a little more
code space but provides more options, particularly those useful for
bringup, development and debugging.
config CMD_CONFIG
bool "config"
default SANDBOX

View file

@ -173,6 +173,11 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
}
print_serial(gd->cur_serial_dev);
if (IS_ENABLED(CONFIG_CMD_BDINFO_EXTRA)) {
bdinfo_print_num_ll("stack ptr", (ulong)&bd);
bdinfo_print_num_ll("ram_top ptr", (ulong)gd->ram_top);
}
arch_print_bdinfo();
return 0;

View file

@ -205,6 +205,13 @@ static int bdinfo_test_move(struct unit_test_state *uts)
ut_assertok(test_num_l(uts, " clock", info.clock));
}
if (IS_ENABLED(CONFIG_CMD_BDINFO_EXTRA)) {
ut_assert_nextlinen("stack ptr");
ut_assertok(test_num_ll(uts, "ram_top ptr",
(unsigned long long)gd->ram_top));
ut_assertok(test_num_l(uts, "malloc base", gd_malloc_start()));
}
ut_assertok(ut_check_console_end(uts));
return 0;