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

Pure-capability ABI definition #20

Open
ruben-arm opened this issue Jul 13, 2021 · 5 comments
Open

Pure-capability ABI definition #20

ruben-arm opened this issue Jul 13, 2021 · 5 comments

Comments

@ruben-arm
Copy link

It might be useful to define/describe ABI (Pure-capability in particular) aspects in more details in the programming guide or a separate document.

@jrtc27
Copy link
Member

jrtc27 commented Jul 13, 2021

Could you clarify what you mean by ABI in this context? We already have https://github.com/CTSRD-CHERI/cheri-elf-psabi, and Arm has their aa{dwarf,elf,pcs}64-morello specs, which are generally what people regard as ABI, yet are implementation-specific details that you don't necessarily have to stick to so long as you provide the same software-visible model and guarantees.

@ruben-arm
Copy link
Author

Could you clarify what you mean by ABI in this context?

That's exactly the definition/description I'm suggesting would be useful to have :)

The document defines "CHERI C/C++" and "Pure-capability machine code", however I believe it doesn't tell much about ABI aspects. I'd like to better understand how these 2 concepts and Pure-capability ABI (in particular) are connected in terms of this document (if there is a direct connection)

@jrtc27
Copy link
Member

jrtc27 commented Jul 13, 2021

The C/C++ guide is a description of the model, programmer-visible interface and a high-level overview of what aspects of ABI-like things need to be considered (a paragraph of two at the start of chapter 3). The psABI etc are technical descriptions of concrete implementations of the model.

@rwatson
Copy link
Member

rwatson commented Jul 13, 2021

I think my thoughts on this suggestion are a bit different: I don't think we want to define what the ABI is specifically in the CHERI C/C++ document, but that in our high-level list of explained concepts, we should include specific mention of compilation to pure-capability ABIs.

@ruben-arm
Copy link
Author

Thank you @jrtc27. @rwatson,

but that in our high-level list of explained concepts, we should include specific mention of compilation to pure-capability ABIs.

@rwatson, this would be great too.

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

No branches or pull requests

3 participants