fdt: Show a message when the working FDT changes
The working FDT is the one which comes from the OS and is fixed up by U-Boot. When the bootm command runs, it sets up the working FDT to be the one it is about to pass to the OS, so that fixups can happen. This seems like an important step, so add a message indicating that the working FDT has changed. This is shown during the running of the bootm command. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -55,6 +55,7 @@ static int fdt_test_addr(struct unit_test_state *uts)
|
||||
|
||||
/* The working fdt is not set, so this should fail */
|
||||
set_working_fdt_addr(0);
|
||||
ut_assert_nextline("Working FDT set to 0");
|
||||
ut_asserteq(CMD_RET_FAILURE, run_command("fdt addr", 0));
|
||||
ut_assert_nextline("libfdt fdt_check_header(): FDT_ERR_BADMAGIC");
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
@@ -63,18 +64,22 @@ static int fdt_test_addr(struct unit_test_state *uts)
|
||||
ut_assertok(make_test_fdt(uts, fdt, sizeof(fdt)));
|
||||
addr = map_to_sysmem(fdt);
|
||||
set_working_fdt_addr(addr);
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_assertok(run_command("fdt addr", 0));
|
||||
ut_assert_nextline("Working fdt: %08lx", (ulong)map_to_sysmem(fdt));
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
|
||||
/* Set the working FDT */
|
||||
set_working_fdt_addr(0);
|
||||
ut_assert_nextline("Working FDT set to 0");
|
||||
ut_assertok(run_commandf("fdt addr %08x", addr));
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_asserteq(addr, map_to_sysmem(working_fdt));
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
set_working_fdt_addr(0);
|
||||
ut_assert_nextline("Working FDT set to 0");
|
||||
|
||||
/* Set the working FDT */
|
||||
/* Set the control FDT */
|
||||
fdt_blob = gd->fdt_blob;
|
||||
gd->fdt_blob = NULL;
|
||||
ret = run_commandf("fdt addr -c %08x", addr);
|
||||
@@ -93,6 +98,7 @@ static int fdt_test_addr(struct unit_test_state *uts)
|
||||
/* Test detecting an invalid FDT */
|
||||
fdt[0] = 123;
|
||||
set_working_fdt_addr(addr);
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_asserteq(1, run_commandf("fdt addr"));
|
||||
ut_assert_nextline("libfdt fdt_check_header(): FDT_ERR_BADMAGIC");
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
@@ -115,16 +121,19 @@ static int fdt_test_resize(struct unit_test_state *uts)
|
||||
/* Test setting and resizing the working FDT to a larger size */
|
||||
ut_assertok(console_record_reset_enable());
|
||||
ut_assertok(run_commandf("fdt addr %08x %x", addr, newsize));
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
|
||||
/* Try shrinking it */
|
||||
ut_assertok(run_commandf("fdt addr %08x %x", addr, sizeof(fdt) / 4));
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_assert_nextline("New length %d < existing length %d, ignoring",
|
||||
(int)sizeof(fdt) / 4, newsize);
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
|
||||
/* ...quietly */
|
||||
ut_assertok(run_commandf("fdt addr -q %08x %x", addr, sizeof(fdt) / 4));
|
||||
ut_assert_nextline("Working FDT set to %lx", addr);
|
||||
ut_assertok(ut_check_console_end(uts));
|
||||
|
||||
/* We cannot easily provoke errors in fdt_open_into(), so ignore that */
|
||||
|
||||
Reference in New Issue
Block a user