Re: SBI v0.3-rc1 released
We had quite a bit of discussion about SBI versioning in past when we were drafting SBI v0.2 specification. The conclusion of those discussions was:
- We certainly needed a version for SBI implementation hence the sbi_get_impl_version() call
- We certainly needed a version for SBI specification itself hence the sbi_get_spec_version() call
- Most of us were not sure whether we really needed a separate version for each SBI extension. May be FIRMWARE and EXPERIMENTAL extensions might need their own version but still not sure. To tackle this, SBI v0.2 defined sbi_probe_extension() as “Returns 0 if the given SBI extension is not available or an extension-specific non-zero value if it is available”.
We have still not come across any SBI extension where the extension will keep growing over time and we will need a separate version for such SBI extension. Also, SBI extension can always use the SBI specification version to distinguish changes over time. For example, SBI HSM suspend call is only available in HSM extension for SBI v0.3 (or higher) but it is not available for SBI v0.2 (or lower).
Regards,
Anup
Sent: 09 June 2021 19:35
To: Atish Patra <Atish.Patra@...>
Cc: tech-unixplatformspec@...; palmer@...; ksankaran@...; Anup Patel <Anup.Patel@...>
Subject: Re: [RISC-V] [tech-unixplatformspec] SBI v0.3-rc1 released
One thing that I'd like to see resolved for the 0.3 release is a precise specification for what sbi_probe_extension does. Right now the description says "Returns 0 if the given SBI extension ID (EID) is not available, or an extension-specific non-zero value if it is available." However, every other extension listed in the spec fails to say what value should be returned if it is available.
I'd suggest that this function should indicate some sort of version number for each of the extensions, either just 1 to say that there haven't been multiple versions of any of the standard extensions or perhaps a value formatted like sbi_get_spec_version to encode more detailed information.
Jonathan
On Wed, Jun 9, 2021 at 2:40 AM Atish Patra via lists.riscv.org <atish.patra=wdc.com@...> wrote:
We have tagged the current SBI specification as a release candidate for
v0.3[1]. It is tagged as v0.3-rc1 which includes few new extensions and
cosmetic changes of the entire specification.
Here is a detailed change log:
- New extensions:
- SBI PMU extension
- SBI System reset extension
- Updated extensions:
- Hart Suspend function added to HSM extension
- Overall specification reorganization and style update
- Additional clarifications for HSM extension and introduction section
- Makefile support to build html & pdf versions of the specification
We don't expect any significant functional changes. We will wait for
any further feedback and release the official v0.3 in a month or so.
Thank you for your contributions!
[1] https://github.com/riscv/riscv-sbi-doc/releases/tag/v0.3.0-rc1
--
Regards,
Atish