diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-01-03 08:47:44 +0300 |
---|---|---|
committer | Anup Patel <anup.patel@wdc.com> | 2020-01-07 09:41:36 +0300 |
commit | 15ed1e74526d85f94c2cda338c572e36e249c803 (patch) | |
tree | e132b968b341b7324ebfc8e51c0cc366d25ba739 /include/sbi/sbi_system.h | |
parent | b0c9787435e56550aea4d110dc503ac23f9801a6 (diff) | |
download | opensbi-15ed1e74526d85f94c2cda338c572e36e249c803.tar.xz |
lib: improve system reboot and shutdown implementation
We improve sbi_system_reboot() an sbi_system_shutdown() by:
1. Calling halt IPI to all harts (except current HART) before
calling platform reboot/shutdown hook.
2. Calling sbi_exit() instead of sbi_hang() in-case platform
reboot/shutdown hook failed.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'include/sbi/sbi_system.h')
-rw-r--r-- | include/sbi/sbi_system.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h index c1ef374..3ad8348 100644 --- a/include/sbi/sbi_system.h +++ b/include/sbi/sbi_system.h @@ -22,10 +22,8 @@ void sbi_system_early_exit(struct sbi_scratch *scratch); void sbi_system_final_exit(struct sbi_scratch *scratch); -void __attribute__((noreturn)) -sbi_system_reboot(struct sbi_scratch *scratch, u32 type); +void __noreturn sbi_system_reboot(struct sbi_scratch *scratch, u32 type); -void __attribute__((noreturn)) -sbi_system_shutdown(struct sbi_scratch *scratch, u32 type); +void __noreturn sbi_system_shutdown(struct sbi_scratch *scratch, u32 type); #endif |