bao-hypervisor
bao-hypervisor copied to clipboard
feat(riscv/iommu): update support for RISC-V IOMMU Device Directory Table
This PR introduces multiple updates to RISC-V IOMMU support regarding the Device Directory Table.
Changes:
- Add support for IOMMU implementations without MSI translation, where each Device Context is 32-bytes wide;
- Add support for multi-level device directory tables;
- Add mechanism for dynamic selection of IOMMU mode based on the IDs of the devices embedded in the platform.
- Format all files using clang-format-19
Validation:
- Tested on CVA6-based SoC w/IOMMU and x4 DMA devices with different ID widths
- Linux v6.3
- OpenSBI v1.0