diff --git a/Kernel/Arch/riscv64/PowerState.cpp b/Kernel/Arch/riscv64/PowerState.cpp index 153a9367a1..e7c339cc1f 100644 --- a/Kernel/Arch/riscv64/PowerState.cpp +++ b/Kernel/Arch/riscv64/PowerState.cpp @@ -5,17 +5,24 @@ */ #include +#include namespace Kernel { void arch_specific_reboot() { - TODO_RISCV64(); + auto ret = SBI::SystemReset::system_reset(SBI::SystemReset::ResetType::ColdReboot, SBI::SystemReset::ResetReason::NoReason); + dbgln("SBI: Failed to reboot: {}", ret); + dbgln("SBI: Attempting to shut down using the legacy extension..."); + SBI::Legacy::shutdown(); } void arch_specific_poweroff() { - TODO_RISCV64(); + auto ret = SBI::SystemReset::system_reset(SBI::SystemReset::ResetType::Shutdown, SBI::SystemReset::ResetReason::NoReason); + dbgln("SBI: Failed to shut down: {}", ret); + dbgln("SBI: Attempting to shut down using the legacy extension..."); + SBI::Legacy::shutdown(); } }