The Client
The client was a RISC-V Architecture based server grade platform building company.
Challenges
The client had the following challenges that required resolution:
- Implementation of IPI, AIA functionalities within the latest Linux kernel and bring-up RISC-V Architecture in the QEMU virtual environment.
- Activating the anticipated boot sequence involving the following steps: OpenSBI -> UEFI -> RISC-V, to facilitate the utilization of the QEMU platform.
- Enablement of the FDT, IPI, AIA features and functionalities within the UEFI Firmware.
- Customization, development of RISC-V BSP which includes adding support for the peripherals and interfaces.
- Execution of the above mentioned functionalities and test the features in the QEMU environment.
MulticoreWare’s Advantage and Approach
MulticoreWare was able to execute validation in the QEMU Platform (Quick Emulator Platform), a free and open-source emulator, which emulates a computer’s processor through dynamic binary translation.
Validation Flow with QEMU Platform
- OPEN-SBI, or the Open Source Supervisor Binary Interface is the default BIOS for RISC-V platforms.
- It performs platform level initializations on FDT, GPIO, I2C, IPI, IRQ, Serial Ports, Timers, and many more.
- UEFI (Unified Extensible Firmware Interface) is a specification for a software program that connects a computer’s firmware to its Operating System.
- It defines the architecture of the platform hardware and its interface for interaction with the Operating System.
Outcome
With our capabilities & expertise in the domain, we were able to bring-up the latest UEFI Framework and Linux kernel atop the QEMU Virtual Platform. Most of the validation was done on the QEMU virtual platform, where we also played a pivotal role in supporting and validating IPI & AIA features. The architectures, technologies and tools used in this project were RISC-V over QEMU, GitHub, Eclipse IDE, and a RISC-V GNU Toolchain.
MulticoreWare was also involved in:
- Implementation of FDT, IPI, AIA functionalities within UEFI
- Implementation of IPI, AIA functionalities within the Linux kernel
- BSP development that includes the support for interfaces and peripherals present in the RISC-V SoC based platform
- Development of interrupt emulation & testing application to test the basic functionalities and features
The emergence of RISC-V as an architecture, combined with the expertise of MulticoreWare in this project, enabled the customer to expedite further development activities around their BSP.
Conclusion
This case study highlights MulticoreWare’s expertise in the RISC-V domain. For a more comprehensive understanding of our solutions and services, please contact us at info@multicorewareinc.com