RISC-V ACT Framework Enablement and M-Mode Firmware Validation on Hardware Board (RISC-V Mentorship)

  • Internship
  • Remote

Mentors: Owais Farooq and Faraz Ahmad

Company: 10xEngineers

The RISC-V ecosystem currently lacks a streamlined and reproducible workflow for executing Architecture Compliance Tests (ACT) on real hardware platforms such as the Vision five 2, Milk-V Jupiter board. While ACT frameworks are widely used in simulation environments, running these tests directly on hardware involves complex boot flows (SPL, OpenSBI, U-Boot), firmware configuration, and low-level debugging. This creates a barrier for developers and new contributors who aim to validate RISC-V implementations in practical environments.

This mentorship project aims to bridge that gap by developing a minimal and reusable M-mode firmware runner capable of loading and executing ACT ELF binaries on the hardware platform. The mentee will explore the board’s boot architecture, implement ELF loading mechanisms, handle trap/debug scenarios (e.g., illegal instructions, FPU enablement), and establish communication via UART for result reporting. A key focus will be enabling reliable PASS/FAIL detection using the standard tohost interface and ensuring execution correctness through memory and cache coherency handling.

The project will follow a structured implementation path: initial environment setup and ACT framework familiarization, followed by firmware development and debugging, and finally automation and documentation. The mentee will create scripts to run multiple ACT tests, capture logs, and generate validation reports. All deliverables will be open-sourced, including firmware, tooling, and step-by-step documentation, contributing a practical reference workflow for RISC-V hardware validation and supporting broader community adoption as per Company Policy.

Repository URL: riscv-arch-test – https://github.com/riscv/riscv-arch-test
RISCV – https://github.com/riscv

Learning Objectives:

The mentee will gain hands-on experience contributing to open source projects within the RISC-V ecosystem, including the use of GitHub workflows, issue tracking, code reviews, and collaboration with mentors and the broader community. The project will introduce best practices in open source development, including documentation, reproducibility, and licensing.

From a technical perspective, the mentee will develop strong skills in embedded systems and low-level software development using C/C++, Assembly. This includes understanding RISC-V architecture fundamentals, boot flows (SPL, OpenSBI, U-Boot), and M-mode firmware development. The mentee will learn how to load and execute ELF binaries, debug traps (e.g., illegal instructions), and handle hardware-level challenges such as memory layout and cache coherency. Additional exposure will include UART-based debugging and test validation using standard interfaces such as tohost.

The mentee will be guided through a structured mentorship process with regular check-ins, technical reviews, and milestone-based progress tracking. This will help build problem-solving, debugging, and independent development skills. The mentee will also gain experience in automation, scripting, and test validation workflows, along with improving technical communication and documentation abilities. Opportunities to interact with the RISC-V community and present outcomes will further support professional growth and networking.

Coding Challenge:

https://docs.google.com/document/d/1GxVD4id6s_CjGua6F79XqXCnRtG3D5LA4mWdDSSA_BE/edit?usp=sharing

To apply for this job please visit mentorship.lfx.linuxfoundation.org.