diff --git a/bsp/qemu-virt64-riscv/driver/board.c b/bsp/qemu-virt64-riscv/driver/board.c index 802b96ab772a6f36c61da6f7bf5b64b86bff3a8d..798e2f1bc85c09005b966eefc1c4f44ad09c47a6 100644 --- a/bsp/qemu-virt64-riscv/driver/board.c +++ b/bsp/qemu-virt64-riscv/driver/board.c @@ -18,12 +18,14 @@ #include "drv_uart.h" #include "encoding.h" #include "stack.h" -#include "sbi.h" #include "riscv.h" #include "stack.h" #include "riscv_io.h" #include "plic.h" #include "interrupt.h" +#ifdef CONFIG_RISCV_S_MODE +#include "sbi.h" +#endif void primary_cpu_entry(void) { @@ -62,9 +64,11 @@ void rt_hw_board_init(void) #endif } -void rt_hw_cpu_reset(void) +#ifdef CONFIG_RISCV_S_MODE +static void cmd_shutdown(void) { sbi_shutdown(); while(1); } -MSH_CMD_EXPORT_ALIAS(rt_hw_cpu_reset, reboot, reset machine); +MSH_CMD_EXPORT_ALIAS(cmd_shutdown, shutdown, shutdown qemu-virt64); +#endif