summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_init.c
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-01-16 09:08:49 +0300
committerAnup Patel <anup@brainfault.org>2020-01-22 09:43:34 +0300
commit37923c4a66180b2f7881d959cd631038e81dbfec (patch)
tree02b37146d8e63222ae2a7187405b2eb2bdb58c95 /lib/sbi/sbi_init.c
parent0a411bf717d20a212949af443b275fab9469992f (diff)
downloadopensbi-37923c4a66180b2f7881d959cd631038e81dbfec.tar.xz
lib: Add dynamic registration of SBI extensions
This patch extends our SBI ecall implementation to allow dynamic registration of various SBI extensions. Using this dynamic registration we can break-up SBI ecall implementation into multiple files and even register experimental/custom SBI extensions from platform code. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'lib/sbi/sbi_init.c')
-rw-r--r--lib/sbi/sbi_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c
index c5a899c..8baaed4 100644
--- a/lib/sbi/sbi_init.c
+++ b/lib/sbi/sbi_init.c
@@ -112,6 +112,10 @@ static void __noreturn init_coldboot(struct sbi_scratch *scratch, u32 hartid)
if (rc)
sbi_hart_hang();
+ rc = sbi_ecall_init();
+ if (rc)
+ sbi_hart_hang();
+
rc = sbi_system_final_init(scratch, TRUE);
if (rc)
sbi_hart_hang();