Skip to content

Add iommu support for capdl initializer and sel4 crate#337

Draft
Cheng-Li1 wants to merge 9 commits intoseL4:mainfrom
au-ts:cheng/iommu_support
Draft

Add iommu support for capdl initializer and sel4 crate#337
Cheng-Li1 wants to merge 9 commits intoseL4:mainfrom
au-ts:cheng/iommu_support

Conversation

@Cheng-Li1
Copy link
Copy Markdown

This pull request adds functionalities to the capdl initializer and the sel4 crate.

Added functionalities include:

  1. Functions to invoke the mapping of the page table and frame into device iospace.
  2. Objects and structs used for iommu support.
  3. Parsing the spec from Microkit and doing the actual mapping of frame and io page table.

Tests done:
Blk example with iommu feature enabled on x86 qemu and hardware(vb-105).

…rent understanding.

Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
… is the Sel4's default structure.

Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
…d when the iommu feature is not enabled.

Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
Signed-off-by: Cheng Li <lichengchaoreng@gmail.com>
@lsf37
Copy link
Copy Markdown
Member

lsf37 commented Apr 10, 2026

Are there any updates necessary for the code, model, and spec/docs in the capDL repo? https://github.com/seL4/capdl/

(We don't want the feature set of these tools to diverge, the whole point of capDL is to provide the same interface to multiple backends).

// So there is no way to allocate the correct number of slots
// Thus we default to assume the four level page table structure
match level {
// If three level page table is chosen by Sel4, we skip mapping the root page table in
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// If three level page table is chosen by Sel4, we skip mapping the root page table in
// If three level page table is chosen by seL4, we skip mapping the root page table in

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants