summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_ecall.c
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-11-24 11:50:19 +0300
committerAnup Patel <anup@brainfault.org>2020-12-01 14:41:11 +0300
commit548d03e577490f74af8b57706655e5d81c9b94a1 (patch)
treef8854349e7f544d05886c38c18c320d0dafbc0da /lib/sbi/sbi_ecall.c
parent5c429ae2133e1a82b81403146a3e38e2b4b8350e (diff)
downloadopensbi-548d03e577490f74af8b57706655e5d81c9b94a1.tar.xz
lib: sbi: Implement System Reset (SRST) SBI extension
The SBI SRST extension has been accepted and merged in the latest SBI v0.3-draft specification. (Refer, https://github.com/riscv/riscv-sbi-doc) It allows to S-mode software to request system shutdown, cold reboot, and warm reboot. This patch implements SBI SRST extension as a replacement of the legacy sbi_shutdown() call of SBI v0.1 specification. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'lib/sbi/sbi_ecall.c')
-rw-r--r--lib/sbi/sbi_ecall.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/sbi/sbi_ecall.c b/lib/sbi/sbi_ecall.c
index 64c9933..6d41cff 100644
--- a/lib/sbi/sbi_ecall.c
+++ b/lib/sbi/sbi_ecall.c
@@ -169,6 +169,9 @@ int sbi_ecall_init(void)
ret = sbi_ecall_register_extension(&ecall_hsm);
if (ret)
return ret;
+ ret = sbi_ecall_register_extension(&ecall_srst);
+ if (ret)
+ return ret;
ret = sbi_ecall_register_extension(&ecall_legacy);
if (ret)
return ret;