Skip to content
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

C64-Secure ABI demo. #96

Merged
merged 1 commit into from
Jan 16, 2025
Merged

Conversation

jacobbramley
Copy link
Contributor

This demo illustrates a few calling-convention options for weak (but potentially fast) compartmentalisation across function calls.

@ltratt
Copy link
Collaborator

ltratt commented Apr 19, 2024

@jacobbramley This looks good, and useful -- thanks!

@0152la Is there an easy way of only building this example in CI on Morello? I must admit that I've forgotten how to navigate the infrastructure for this repo...

@jacobbramley
Copy link
Contributor Author

@0152la Is there an easy way of only building this example in CI on Morello? I must admit that I've forgotten how to navigate the infrastructure for this repo...

I think I could add it to .buildbot.sh fairly easily. I'll do that whilst I fix the other issues.

@ltratt
Copy link
Collaborator

ltratt commented Apr 19, 2024

@jacobbramley I remember there's some fiddling because we and try and support multiple platforms. Good luck!

@0152la
Copy link
Contributor

0152la commented Apr 22, 2024

@0152la Is there an easy way of only building this example in CI on Morello? I must admit that I've forgotten how to navigate the infrastructure for this repo...

I think I could add it to .buildbot.sh fairly easily. I'll do that whilst I fix the other issues.

I think the process is:
(a) to build, it'll need to be added to .buildbot.sh. Currently we seem to build both riscv and morello together [1], so you'll probably need another block that'll be (pseudocode) push; make morello-purecap clean; make morello-purecap all; pop.
(b) to run, add it somewhere in the appropriate block in run_tests.sh [2]. I think since it's built only for morello, it'll only be run for morello, but unsure here.

However, since the infrastructure is a bit flimsy I'd think, perhaps as long as it builds it's fine, or even could preclude adding it. I think there's some stuff that's not been ran in CI, and we should probably add everything once (if) we redo the CI.

[1] https://github.com/capablevms/cheri-examples/blob/master/.buildbot.sh#L16-L25
[2] https://github.com/capablevms/cheri-examples/blob/master/tests/run_tests.sh#L64

Copy link
Contributor

@probablytom probablytom left a comment

Choose a reason for hiding this comment

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

Thanks for the patience with this review being so late. Mostly small notes on comments & explanatory text! Great example.

@ltratt
Copy link
Collaborator

ltratt commented Jul 21, 2024

@probablytom Can you mark your comments as resolved (if they're resolved) or comment further? I have the impression this is more-or-less mergeable now, but I'm not 100% sure!

@jacobbramley
Copy link
Contributor Author

Ok, I pushed a change that replaces TODO with NB in a few places. I think that's all the outstanding comments.

I had already integrated this with .buildbot.sh but it's not added to runtests.sh because it's purely interactive, and there's no suitable mode for scripted use. It could be scripted, but a failure is likely to manifest as a timeout, so it makes more sense to have a special batch mode, but then that's more code, etc. Let me know if you still think it's worthwhile.

@ltratt
Copy link
Collaborator

ltratt commented Jan 16, 2025

I think we should get this in now, and if we can polish it further in the future, even better!

Please squash.

This demo illustrates a few calling-convention options for weak (but
potentially fast) compartmentalisation across function calls.
@jacobbramley
Copy link
Contributor Author

Squashed!

@ltratt ltratt added this pull request to the merge queue Jan 16, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 16, 2025
@0152la
Copy link
Contributor

0152la commented Jan 16, 2025

We don't have CI set up on this repo, so merge queues won't work.

Ignore that.

@ltratt ltratt added this pull request to the merge queue Jan 16, 2025
Merged via the queue into capablevms:master with commit 1b8e34f Jan 16, 2025
2 checks passed
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.

4 participants