Skip to content

Handoff untypeds to a PD after initialisation#436

Draft
Willmish wants to merge 5 commits intoseL4:mainfrom
au-ts:szymon/handoff-untypeds
Draft

Handoff untypeds to a PD after initialisation#436
Willmish wants to merge 5 commits intoseL4:mainfrom
au-ts:szymon/handoff-untypeds

Conversation

@Willmish
Copy link

Depends on changes to rust-sel4: seL4/rust-sel4#322

This is still WIP, but opening for tracking and visibility.

Allows for specifying a Protection Domain (PD) and a Memory Region that will receive all untyped capabilities and information about them after the capDL intiializer finishes running (see: seL4/rust-sel4#322 for changes to the capDL initializer). Also adds a simple example system using these changes.

For the PD receiving the untypeds, its CNode gets restructured (similar to this proof-of-concept design), by creating a new root CNode, placing the Microkit CNode at idx 0 (so the cap pointers set up by the microkit system remain addresable the same way) and placing a new CNode at idx 1 (receiving_untyped_cnode) which will receive all the untyped caps. Currently, to allow actually using these untypeds, also places a self referencing CNode cap at idx 0 of receiving_untyped_cnode.

TODOs:

* Add boolean attribute to Protection Domain node in System Description File
  `receive_all_untypeds`, which selects which PD is to receive all
  remaining untyped objects after CapDL initialiser runs

Signed-off-by: Szymon Duchniewicz <s.duchniewicz@unsw.edu.au>
Signed-off-by: Szymon Duchniewicz <s.duchniewicz@unsw.edu.au>
requires modified rust-sel4, szymon/handoff-untypeds branch
Signed-off-by: Szymon Duchniewicz <s.duchniewicz@unsw.edu.au>
Signed-off-by: Szymon Duchniewicz <s.duchniewicz@unsw.edu.au>
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.

1 participant