summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-10-20 09:11:08 -0400
committerTom Rini <trini@konsulko.com>2022-10-20 09:11:08 -0400
commitd843273a8022e70ccbdb6ad446b3335c3753e84f (patch)
tree278b373a66a03744305caddabb1056788cb981c7 /cmd
parentdc3cb0abf41191aad62a6537ce8734a4f5339888 (diff)
parentb3b44c674a473bdd3d53cf5196fae897107af619 (diff)
Merge https://source.denx.de/u-boot/custodians/u-boot-riscv
Diffstat (limited to 'cmd')
-rw-r--r--cmd/riscv/sbi.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/cmd/riscv/sbi.c b/cmd/riscv/sbi.c
index 522f502435b..6f2cad4e7ed 100644
--- a/cmd/riscv/sbi.c
+++ b/cmd/riscv/sbi.c
@@ -30,15 +30,15 @@ static struct sbi_imp implementations[] = {
};
static struct sbi_ext extensions[] = {
- { SBI_EXT_0_1_SET_TIMER, "sbi_set_timer" },
- { SBI_EXT_0_1_CONSOLE_PUTCHAR, "sbi_console_putchar" },
- { SBI_EXT_0_1_CONSOLE_GETCHAR, "sbi_console_getchar" },
- { SBI_EXT_0_1_CLEAR_IPI, "sbi_clear_ipi" },
- { SBI_EXT_0_1_SEND_IPI, "sbi_send_ipi" },
- { SBI_EXT_0_1_REMOTE_FENCE_I, "sbi_remote_fence_i" },
- { SBI_EXT_0_1_REMOTE_SFENCE_VMA, "sbi_remote_sfence_vma" },
- { SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID, "sbi_remote_sfence_vma_asid" },
- { SBI_EXT_0_1_SHUTDOWN, "sbi_shutdown" },
+ { SBI_EXT_0_1_SET_TIMER, "Set Timer" },
+ { SBI_EXT_0_1_CONSOLE_PUTCHAR, "Console Putchar" },
+ { SBI_EXT_0_1_CONSOLE_GETCHAR, "Console Getchar" },
+ { SBI_EXT_0_1_CLEAR_IPI, "Clear IPI" },
+ { SBI_EXT_0_1_SEND_IPI, "Send IPI" },
+ { SBI_EXT_0_1_REMOTE_FENCE_I, "Remote FENCE.I" },
+ { SBI_EXT_0_1_REMOTE_SFENCE_VMA, "Remote SFENCE.VMA" },
+ { SBI_EXT_0_1_REMOTE_SFENCE_VMA_ASID, "Remote SFENCE.VMA with ASID" },
+ { SBI_EXT_0_1_SHUTDOWN, "System Shutdown" },
{ SBI_EXT_BASE, "SBI Base Functionality" },
{ SBI_EXT_TIME, "Timer Extension" },
{ SBI_EXT_IPI, "IPI Extension" },
@@ -56,8 +56,11 @@ static int do_sbi(struct cmd_tbl *cmdtp, int flag, int argc,
long mvendorid, marchid, mimpid;
ret = sbi_get_spec_version();
- if (ret >= 0)
- printf("SBI %ld.%ld", ret >> 24, ret & 0xffffff);
+ if (ret < 0) {
+ printf("No SBI 0.2+\n");
+ return CMD_RET_FAILURE;
+ }
+ printf("SBI %ld.%ld", ret >> 24, ret & 0xffffff);
impl_id = sbi_get_impl_id();
if (impl_id >= 0) {
for (i = 0; i < ARRAY_SIZE(implementations); ++i) {
@@ -74,6 +77,7 @@ static int do_sbi(struct cmd_tbl *cmdtp, int flag, int argc,
vers >> 16, vers & 0xffff);
break;
case 3: /* KVM */
+ case 4: /* RustSBI */
printf("%ld.%ld.%ld",
vers >> 16,
(vers >> 8) & 0xff,