riscv-non-isa / riscv-brs

The Boot and Runtime Services (BRS) specification provides the software requirements for system vendors and Operating System Vendors (OSVs) to interoperate with one another by providing expectations for the Operating System (OS) to utilize in acts of device discovery, system management, and other rich operations provided in this specification.
https://jira.riscv.org/browse/RVG-48
Creative Commons Attribution 4.0 International
42 stars 13 forks source link

Resolve https://github.com/riscv-non-isa/riscv-brs/issues/118 #141

Closed andreiw closed 7 months ago

andreiw commented 7 months ago

We can remove the SRST requirement. It doesn't matter how SystemReset is implemented, we're only concerned with it being the only mechanism used by a BRS-I OS.

What about BRS-B? Well it can choose to do whatever, which (most likely) will mean using SRST. A particular BRS-B implementation may impose any number of additional requirements not actually present in the BRS spec.

If we can do this for SRST, why can't we do this for HSM? Because the SBI requirements are effectively the common requirements for BRS-B and BRS-I, and we don't /have/ (or want) another mechanism for hart manipulation.

andreiw commented 7 months ago

@atishp04 and @vlsunil, does this sound reasonable to you?

vlsunil commented 7 months ago

I think it makes sense to remove SRST requirement. But for HSM, atleast linux directly uses HSM today. I don't think we can mandate MP_SERVICES_PROTOOL which is defined in PI spec. So, IMO, we should keep HSM as mandatory.