diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2020-09-17 07:33:29 +0200 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2020-09-18 22:23:58 +0200 |
commit | 52a8481827511a0837b4944d1184214ac924a123 (patch) | |
tree | e7ef6e75c4ffcbb5dbef9d6ddc164f1afb93453f /lib/efi_selftest | |
parent | 18161a8a4eb622eae367f688058007d6a565b210 (diff) | |
download | u-boot-52a8481827511a0837b4944d1184214ac924a123.zip u-boot-52a8481827511a0837b4944d1184214ac924a123.tar.gz u-boot-52a8481827511a0837b4944d1184214ac924a123.tar.bz2 |
efi_selftest: check for RISC-V boot-hartid in FDT
On RISC-V check that the /chosen node has a boot-hartid property.
To run the test configure with CONFIG_CMD_BOOTEFI_SELFTEST=y and issue
setenv efi_selftest device tree
setenv serial# myserial
bootefi selftest
If the test succeeds, it reports the boot-hartid, e.g.
boot-hartid: 1
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib/efi_selftest')
-rw-r--r-- | lib/efi_selftest/efi_selftest_fdt.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/efi_selftest/efi_selftest_fdt.c b/lib/efi_selftest/efi_selftest_fdt.c index 52a9630..eae9820 100644 --- a/lib/efi_selftest/efi_selftest_fdt.c +++ b/lib/efi_selftest/efi_selftest_fdt.c @@ -219,6 +219,21 @@ static int execute(void) return EFI_ST_FAILURE; } } + str = get_property(L"boot-hartid", L"chosen"); + if (IS_ENABLED(CONFIG_RISCV)) { + if (str) { + efi_st_printf("boot-hartid: %u\n", + f2h(*(fdt32_t *)str)); + ret = boottime->free_pool(str); + if (ret != EFI_SUCCESS) { + efi_st_error("FreePool failed\n"); + return EFI_ST_FAILURE; + } + } else { + efi_st_error("boot-hartid not found\n"); + return EFI_ST_FAILURE; + } + } return EFI_ST_SUCCESS; } |