Releases: riscv-software-src/opensbi
OpenSBI Version 1.7
This release has:
- New parameter in top-level Makefile for reproducible builds
- Added MIPS P8700 platform support
- Allow arbitrary path in LLVM parameter of top-level Makefile
- Improved SBI v3.0 extensions to match frozen specification
- Emulate AMO instructions when Zaamo is not available
- Stop the harts waiting for HSM start from supervisor software
- Improved generic platform overrides to use common fdt_driver helpers
- Improved SBI MPXY framework to use per-domain data
- Added support for control transfer records (CTR) ISA extension
- Use LR and SC when Zaamo ISA extension is not available
- Added PXA UART support
- Added support for double-trap ISA extensions
- Optimized hartid and scratch lookup
- Added unit tests for bitwise operations
- Added unit tests for SBI ecall functionality
- Constify various FDT driver definitions
- Added MPXY RPMI mailbox driver for System MSI service group
- Improved RPMI drivers to match frozen specifications
- Initialize miscellaneous early drivers in one pass
- Use fdt_driver helpers for irqchip driver framework
- Allow adding SSE events dynamically at boot-time
- Simple singly linked list implementation
Overall, this release adds more ISA extensions and does many device driver improvements.
OpenSBI Version 1.6
This release has:
- Support for parsing riscv,isa-extensions DT property
- Setup serial console very early in cold boot path
- Support for multiple heaps and aligned memory allocation
- Support for shadow stacks (Zicfiss) ISA extension
- Support for landing pads (Zicfilp) ISA extension
- Support for per-domain data
- Support for double-trap (Smdbltrp/Ssdbltrp) ISA extensions
- DT-based configurable heap size
- Common fdt_driver and helpers for driver initialization
- Support for SBI PMU raw event v2 (Experimental)
- Simple FDT based mailbox driver framework
- RPMI shared memory transport driver (Experimental)
- RPMI system reset driver (Experimental)
- Simple FDT based system suspend driver framework
- RPMI system suspend driver (Experimental)
- Simple FDT based HSM driver framework
- RPMI HSM driver (Experimental)
- Simple FDT based CPPC driver framework
- RPMI CPPC driver (Experimental)
- SBI Message Proxy (MPXY) extension (Experimental)
- Simple FDT based MPXY driver framework
- Common RPMI client driver for MPXY (Experimental)
- Support for vector misaligned load/store
Overall, this release adds more ISA extensions, drivers, and other improvements.
OpenSBI Version 1.5.1
This intermediate release has following fixes:
- Save/restore menvcfg only when it exists
- Adjust Sscofpmf mhpmevent mask for upper 8 bits
- Fix potential NULL pointer dereferences in SBI DBTR
- Fix incorrect size passed to sbi_zalloc() in SBI FWFT
- Check result of pmp_get() in is_pmp_entry_mapped()
OpenSBI Version 1.5
This release has:
- SBI debug triggers (DBTR) extension (Experimental)
- Support to specify coldboot harts in DT
- Relocatable FW_JUMP_ADDR and FW_JUMP_FDT_ADDR
- Smcsrind and Smcdeleg extensions support
- SBIUnit testing framework
- Initial domain context management support
- Platform specific load/store emulation callbacks
- New trap context
- Improved sbi_trap_error() to dump state in a nested trap
- SBI supervisor software events (SSE) extension (Experimental)
- Simplified wait_for_coldboot() implementation
- Early wakeup of non-coldboot HART in the coldboot path
- Sophgo CV18XX/SG200X series support
- APLIC delegation DT property fix
- Svade and Svadu extensions support
- SBI firmware features (FWFT) extension (Experimental)
Overall, this release mainly adds more ISA extensions, SBI extensions and other improvements.
OpenSBI Version 1.4
This release has:
- Synopsys DesignWare APB GPIO driver
- Zicntr and Zihpm support
- Console print improvements
- Smepmp support
- Simple FDT based syscon regmap driver
- Syscon based reboot and poweroff driver
- Non-contiguous hpm counters
- Smcntrpmf support
- Full sparse hartid support
- IPI improvements
- RFENCE improvements
- Zkr support
- Andes custom PMU support
Overall, this release mainly adds more ISA extensions, drivers and other improvements.
OpenSBI Version 1.3.1
This intermediate release has:
- ACLINT driver fix for disabled CPUs
- SBI PMU fix for out-of-bound access
- Designware GPIO driver
Overall, this is our first intermediate release with a crucial
for ACLINT drivers.
OpenSBI Version 1.3
This release has:
- Allow platform to influence cold boot HART selection
- Starfive JH7110 platform support
- Split RX and RW firmware regions
- Advertise non-retentive suspend for allwinner D1 platform
- Byteorder/endianness conversion macros
- SBI debug console extension (Experimental)
- Configure the PMA regions for RZ/Five platform
- SBI system suspend extension (Experimental)
- SBI PMU platform firmware events (Experimental)
- SBI CPPC extension (Experimental)
- Optimized remote TLB flushes
- Simple heap for boot time memory allocations
- Bring back no-map DT property for reserved memory nodes
Overall, this release mainly adds new SBI extensions along with other improvements.
OpenSBI Version 1.2
This release has:
- Menuconfig support using Kconfiglib v14.1.0
- RISC-V AIA v1.0.0 support
- Cadence UART driver
- Platform specific PMU device operations
- Trap handling improvements for platforms with H-extension
- Semihosting support
- T-HEAD C9XX PMU and CLINT support
- FDT based drivers for Andes AE350 platform
- Andes AE350 platform improvements
- Allow enabling/disabling of SBI extensions via Kconfig
- Renesas SCIF serial driver
- Renesas RZ/Five platform support
Overall, this release mainly adds Kconfig support, new drivers and new platforms along with other improvements.
OpenSBI Version 1.1
This release has:
- SBI PMU improvements
- RISC-V AIA v0.3.0 draft support
- Simple external interrupt handling framework
- Xilinx UART-Lite driver
- RISC-V privilege specification v1.12 support
- RISC-V Svpbmt extension support
- RISC-V Smstateen extension support
- RISC-V Sstc extension support
- RISC-V privilege specification version detection
- Platform callback to populate HART extensions
- Compile time C arrays support
- Probing FDT based drivers using compile time C arrays
- SBI HSM improvements
- Allwinner D1 platform support
- Trap redirection improvements related to [m|h]tinst CSR
- SBI v1.0 specification support
Overall, this release mainly adds support for various RISC-V ISA extensions ratified in December 2021 along with other improvements.
OpenSBI Version 1.0
This release has:
- SBI HSM suspend defined by SBI v0.3 specification
- Position independent execution for firmware
- Ticket based spinlocks
- Simplified / reduced platform callbacks
- ACLINT MTIMER and MSWI support
- SBI PMU extension defined by SBI v0.3 specification
- Simple FDT based GPIO driver framework
- Improved reset driver framework along with various reset drivers
- Generic timer delay loop APIs
- RISC-V Sscofpmf extension support
- Simple FDT based I2C driver framework along with SiFive I2C driver
- UART drivers for Gaisler and LiteX platforms
Overall, this release completes a major milestone by implementing the SBI v0.3 specification along with various other improvements.