summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2021-04-22 12:19:44 +0300
committerAnup Patel <anup@brainfault.org>2021-04-28 15:03:37 +0300
commite9a27ab8eab4a30490ff1d7470cd57cbbe4c11c8 (patch)
tree169caed62614bc6f7b3c8b60f92e6b885fe93d50
parenta84a1ddbbabb2389b5af91473250d0aff90e40d7 (diff)
downloadopensbi-e9a27ab8eab4a30490ff1d7470cd57cbbe4c11c8.tar.xz
lib: sbi: Show devices provided by platform in boot prints
We extend the boot-time prints to show various devices provided (or registered) by the platform support. This will help users verify hardware devices available for OpenSBI firmwares. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
-rw-r--r--lib/sbi/sbi_init.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c
index 7380d01..3f44a2b 100644
--- a/lib/sbi/sbi_init.c
+++ b/lib/sbi/sbi_init.c
@@ -53,6 +53,11 @@ static void sbi_boot_print_banner(struct sbi_scratch *scratch)
static void sbi_boot_print_general(struct sbi_scratch *scratch)
{
char str[128];
+ const struct sbi_hsm_device *hdev;
+ const struct sbi_ipi_device *idev;
+ const struct sbi_timer_device *tdev;
+ const struct sbi_console_device *cdev;
+ const struct sbi_system_reset_device *srdev;
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
if (scratch->options & SBI_SCRATCH_NO_BOOT_PRINTS)
@@ -65,6 +70,21 @@ static void sbi_boot_print_general(struct sbi_scratch *scratch)
sbi_printf("Platform Features : %s\n", str);
sbi_printf("Platform HART Count : %u\n",
sbi_platform_hart_count(plat));
+ idev = sbi_ipi_get_device();
+ sbi_printf("Platform IPI Device : %s\n",
+ (idev) ? idev->name : "---");
+ tdev = sbi_timer_get_device();
+ sbi_printf("Platform Timer Device : %s\n",
+ (tdev) ? tdev->name : "---");
+ cdev = sbi_console_get_device();
+ sbi_printf("Platform Console Device : %s\n",
+ (cdev) ? cdev->name : "---");
+ hdev = sbi_hsm_get_device();
+ sbi_printf("Platform HSM Device : %s\n",
+ (hdev) ? hdev->name : "---");
+ srdev = sbi_system_reset_get_device();
+ sbi_printf("Platform SysReset Device : %s\n",
+ (srdev) ? srdev->name : "---");
/* Firmware details */
sbi_printf("Firmware Base : 0x%lx\n", scratch->fw_start);