[PATCH v5 0/4] riscv: enable SBI system reset

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Fri Sep 10 16:15:25 CEST 2021


With SBI v0.3 a system reset extension is available. This allows to
implement reboot and poweroff in U-Boot in a system independent way.

* Provide missing constants
* Provide a system reset driver using the system reset extension.

v5:
	* add a configuration actually using the driver
	* don't add __efi_runtime in arch/riscv/lib/sbi.c
	* use '=' not ':' in array initialization with enum indices
v4:
	* remove the UEFI SystemReset() implementation
	* simplify the code using an array to translate reset types
	* remove a superfluos check to determine if the device was probed
v3:
	add SBI_HSM_HART_STATUS_SUSPENDED,
	    SBI_HSM_HART_STATUS_SUSPEND_PENDING,
	    SBI_HSM_HART_STATUS_RESUME_PENDING
v2:
	correct constants that were blindly copied from Linux

Heinrich Schuchardt (4):
  riscv: add missing SBI extension definitions
  cmd/sbi: use constants instead of numerical values
  sysreset: provide SBI based sysreset driver
  configs: enable SYSRESET_SBI on qemu-riscvXX_smode_defconfig

 MAINTAINERS                          |  1 +
 arch/riscv/cpu/cpu.c                 | 13 ++++++-
 arch/riscv/include/asm/sbi.h         | 40 ++++++++++++++++++++--
 arch/riscv/lib/sbi.c                 | 12 +++++++
 cmd/riscv/sbi.c                      | 30 ++++++++--------
 configs/qemu-riscv32_smode_defconfig |  1 +
 configs/qemu-riscv64_smode_defconfig |  1 +
 drivers/sysreset/Kconfig             | 12 +++++++
 drivers/sysreset/Makefile            |  1 +
 drivers/sysreset/sysreset_sbi.c      | 51 ++++++++++++++++++++++++++++
 10 files changed, 144 insertions(+), 18 deletions(-)
 create mode 100644 drivers/sysreset/sysreset_sbi.c

-- 
2.30.2



More information about the U-Boot mailing list