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

Reply via email to