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.