/
Project RP010_Firmware_ EFI IOMMU DXE Driver for RISC-V EDK2

Project RP010_Firmware_ EFI IOMMU DXE Driver for RISC-V EDK2

Bidding Starts: August 26, 2024

Bidding Ends: September 16, 2024

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 (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.

 

Bidding Closed

Related content