Project RP015: EFI IOMMU DXE Driver for RISC-V EDK2

Project RP015: EFI IOMMU DXE Driver for RISC-V EDK2

Bidding Starts:8/15/2025

Bidding Ends:9/5/2025

 

Description:

  • Develop EFI IOMMU DXE driver for RISC-V SOC. This DXE driver will  implement EDKII_IOMMU_PROTOCOL. RISC-V IOMMU Architecture  Specification v1.0.0 will be the basis for this DXE Driver implementation.

  • The IOMMU driver will provide memory protection from unauthorized DMA  operations during the DXE phase of the UEFI FW execution phase. In terms of the  RISC-V IOMMU specification, a non-virtualized OS model will be implemented in the DXE driver. 

  • Testing shall be done in the QEMU environment available as one of the EDK II  platforms. 

  • DXE Driver will be contributed to Tiano core/edk2: EDK II (http://github.com ).

Milestones to Deliver:

Phase 1: IOMMU driver skeleton 

  •  Discovery of IOMMU in EDK2

    • when IOMMU is implemented as a platform device.

    • when IOMMU is implemented as a PCIe device.

  • Identify the hardware to be initialized to support DMA protection. 

  • Create a UEFI DXE driver template that installs IOMMU protocol. 

Phase 2: IOMMU driver implementation                                                              

  • Implement IOMMU DXE driver. 

  • Create documentation with driver implementation details, push the  documents

  • and the source to the public domain (Upstream EDK2). 

Phase 3: Driver testing under QEMU 

  • Create a UEFI test application or DXE test driver. 

  • Simulate error conditions - enforce bogus DMA transfers to ensure proper  IOMMU code functionality. 

  • Upstream the driver to edk2 repo.

Please provide a breakdown of the total cost along with the individual costs and durations for each phase.

Please reach out to  rfpinfo@riseproject.dev if you have any questions.


Please read the RISE RFP instructions PRIOR to bidding.

Some things to note include:

  • Contracts will be written using the Standard Linux Foundation Europe Paper with the SOW and payment schedule added as an addendum. 

    • Please review prior to your bid submission to address any concerns.

    • Contract Language is not negotiable as Linux Foundation will be contracting the work and paying the invoices.

  • Contracts are milestone based, not hourly.

  • Biweekly progress reporting is a requirement of this contract.


Bidding is Closed