Skip to main content

Milestone 3

Milestone 3 Status

Early progress on milestone M3

In parallel with closing M2, early work on M3 has begun, following positive feedback on an initial proposal shared with RISE. On the infrastructure side, initial implementation and testing of Supervisor Software Events (SSE) support was completed, and work is in progress on vendor extension mechanisms for managing virtual interrupt queues. In addition, we conducted work to explore interrupt delivery mechanisms. This included development and testing of an S-mode emulated APLIC, allowing S-mode applications to observe interrupt state via a virtualized interface, as well as initial trap-and-emulate work in M-mode over the VIRQ layer to virtualize interrupt-related state for S-mode access. These efforts are intended to validate the feasibility of implementation and inform the ongoing milestone M3 design.

Next steps will focus on continuing milestone M3 implementation, including further development of VIRQ-related mechanisms and vendor extension support, completing trap-and-emulate functionality in M-mode, and updating bare-metal applications to support SSE trap and handler validation.


Milestone Description

This milestone is about interrupt driven software context switching. Changes in OpenSBI are required to use external interrupts as triggers for software domain context switching to ensure that an external interrupt is processed by the software domain that owns it. OpenSBI will perform the decoding of the interrupt and relay it to the appropriate software domain via a context switch.

Deliverables:

  • Software changes to use the external interrupt driver in OpenSBI to implement the domain context switching path.
  • Test plans as needed
  • Documentation
  • Demonstration