HomeFreeBSD

riscv: make use of SBI legacy replacement extensions

Description

riscv: make use of SBI legacy replacement extensions

Version 0.2 of the SBI specification [1] marked the existing SBI
functions as "legacy" in order to move to a newer calling convention. It
also introduced a set of replacement extensions for some of the legacy
functionality. In particular, the TIME, IPI, and RFENCE extensions
implement and extend the semantics of their legacy counterparts, while
conforming to the newer version of the spec.

Update our SBI code to use the new replacement extensions when
available, and fall back to the legacy ones. These will eventually be
dropped, when support for version 0.2 is ubiquitous.

[1] https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc

Submitted by: Danjel Q. <danq1222@gmail.com>
Reviewed by: kp
Differential Revision: https://reviews.freebsd.org/D26953

Details

Provenance
mhorneAuthored on
Reviewer
kp
Differential Revision
D26953: riscv: add support for SBI legacy replacement functions
Parents
rS367067: riscv: remove sbi_clear_ipi()
Branches
Unknown
Tags
Unknown