summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2022-08-14 22:57:14 +0300
committerLeo Yu-Chi Liang <ycliang@andestech.com>2022-09-06 08:00:58 +0300
commitaa8aa48b4c32fafaf2c393b4a937b0b35668943e (patch)
treea5710ac6e891815908b6f309acb8c68e99ed82b2 /cmd
parentac48fc3deb3708fec4bfd49dc878b67b57a8ebfb (diff)
downloadu-boot-aa8aa48b4c32fafaf2c393b4a937b0b35668943e.tar.xz
cmd/sbi: format KVM version
Format the KVM implementation number in a human readable form. With the patch output of the sbi command for Linux 5.19.1 looks like: => sbi SBI 0.3 KVM 5.19.1 Machine: Vendor ID 0 Architecture ID 7005c Implementation ID 7005c Extensions: SBI Base Functionality Timer Extension IPI Extension RFENCE Extension Hart State Management Extension System Reset Extension Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/riscv/sbi.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/cmd/riscv/sbi.c b/cmd/riscv/sbi.c
index ee11e0f88e..522f502435 100644
--- a/cmd/riscv/sbi.c
+++ b/cmd/riscv/sbi.c
@@ -68,11 +68,21 @@ static int do_sbi(struct cmd_tbl *cmdtp, int flag, int argc,
ret = sbi_get_impl_version(&vers);
if (ret < 0)
break;
- if (impl_id == 1)
+ switch (impl_id) {
+ case 1: /* OpenSBI */
printf("%ld.%ld",
vers >> 16, vers & 0xffff);
- else
+ break;
+ case 3: /* KVM */
+ printf("%ld.%ld.%ld",
+ vers >> 16,
+ (vers >> 8) & 0xff,
+ vers & 0xff);
+ break;
+ default:
printf("0x%lx", vers);
+ break;
+ }
break;
}
}