summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2020-09-17 07:33:29 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-09-18 22:23:58 +0200
commit52a8481827511a0837b4944d1184214ac924a123 (patch)
treee7ef6e75c4ffcbb5dbef9d6ddc164f1afb93453f /lib
parent18161a8a4eb622eae367f688058007d6a565b210 (diff)
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')
-rw-r--r--lib/efi_selftest/efi_selftest_fdt.c15
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 52a963084e..eae98208f6 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;
}