-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
capDL-tool, capdl-loader-app: Add support for binding notifications for TCBs #62
Conversation
This might have verification impact for the system initialiser. @corlewis do we need to do anything special in the tools or is this just excluded in spec wellformedness for sys-init? Do you think it would be hard to add to the sys-init proofs? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code changes as such look good to me.
Bound notifications are currently excluded by wellformedness, so there won't be any immediate issues with sys-init. There's two parts to adding it to the verified system initialiser, creating a wp rule for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The capDL-tool
will need some changes in PrintIsabelle.hs
so that it produces output that is consistent with the verification capDL
specification. In particular, the verification specification doesn't know about the MCS caps that can be in a TCBs CNode, and so its equivalent to tcbBoundNotificationSlot
is set to 6 instead of 8. We'll need to do this translation somewhere in PrintIsabelle.hs
.
Hmm, I guess that an easier alternative would be to update the verification specification's TCB slots instead. I don't think that that would affect any of the proofs and we could leave a comment there explaining the unexpected ordering. That would probably be more maintainable as well. I might give that a go to make sure that there aren't any proof impacts that I'm missing. I'll report back once I've done an initial pass. |
eea4372
to
f5e8322
Compare
The proof update was a little bit more involved than I was first guessing, but it wasn't too bad. See seL4/l4v#716. However, while this is still the easiest way forwards at the moment, I've changed my mind and now think the best maintainability would be to do the translation in I'm happy to go with what we have here though, and leave that for the future if/when we make further changes to the cap slots. |
@corlewis I'd be fine with merging seL4/l4v#716 and this PR here. It's relatively rare that we update these slots, so it shouldn't be too much of maintenance burden. |
Add support for binding notifications to TCBs. Signed-off-by: Nick Spinale <[email protected]> Signed-off-by: Gerwin Klein <[email protected]>
fc0755c
to
553f366
Compare
This will be required by Microkit.