From 52a8481827511a0837b4944d1184214ac924a123 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Thu, 17 Sep 2020 07:33:29 +0200 Subject: [PATCH] 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 --- lib/efi_selftest/efi_selftest_fdt.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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; } -- 2.7.4