Fetch the repository succeeded.
|docs: Add platform requirements document 2020-05-05||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
OpenSBI Platform Requirements=============================The RISC-V platform requirements for OpenSBI can change over timewith advances in RISC-V specifications and ecosystem.To handle this, we have two types of RISC-V platform requirements:1. **Base platform requirements** which apply to all OpenSBI releases2. **Release specific platform requirements** which apply to a OpenSBI release and later releasesCurrently, we don't have any **Release specific platform requirements**but such platform requirements will be added in future.Base Platform Requirements--------------------------The base RISC-V platform requirements for OpenSBI are as follows:1. At least rv32ima or rv64ima required on all HARTs2. At least one HART should have S-mode support because: * SBI calls are meant for RISC-V S-mode (Supervisor mode) * OpenSBI implements SBI calls for S-mode software3. The MTVEC CSR on all HARTs must support direct mode4. The PMP CSRs are optional. If PMP CSRs are not implemented then OpenSBI cannot protect M-mode firmware and secured memory regions5. The TIME CSR is optional. If TIME CSR is not implemented in hardware then a 64-bit MMIO counter is required to track time and emulate TIME CSR6. Hardware support for injecting M-mode software interrupts on a multi-HART platformThe RISC-V extensions not covered by rv32ima or rv64ima are optionalfor OpenSBI. Although, OpenSBI will detect and handle some of theseoptional RISC-V extensions at runtime.The optional RISC-V extensions handled by OpenSBI at runtime are:* D-extension: Double precision floating point* F-extension: Single precision floating point* H-extension: Hypervisor