diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-09-19 14:53:46 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-10-20 11:33:40 +0300 |
commit | 3e200370eeda75917a0711d8995391bbbaf58b97 (patch) | |
tree | 5812e41d7a62b94db7836b607e90fa1d91de738e | |
parent | 530e95bd63f60337140ffa55de335e9acc3811b4 (diff) | |
download | opensbi-3e200370eeda75917a0711d8995391bbbaf58b97.tar.xz |
lib: sbi: Extend sbi_system_reset() for domains
The sbi_system_reset() should issue platform system reset only if
domain of current HART is allowed to do system reset.
This patch extends sbi_system_reset() as-per above.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
-rw-r--r-- | lib/sbi/sbi_system.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c index a938003..96290b3 100644 --- a/lib/sbi/sbi_system.c +++ b/lib/sbi/sbi_system.c @@ -37,9 +37,10 @@ void __noreturn sbi_system_reset(u32 platform_reset_type) /* Stop current HART */ sbi_hsm_hart_stop(scratch, FALSE); - /* Platform specific reset */ - sbi_platform_system_reset(sbi_platform_ptr(scratch), - platform_reset_type); + /* Platform specific reset if domain allowed system reset */ + if (dom->system_reset_allowed) + sbi_platform_system_reset(sbi_platform_ptr(scratch), + platform_reset_type); /* If platform specific reset did not work then do sbi_exit() */ sbi_exit(scratch); |