Page MenuHomeFreeBSD

arch.7: Add CHERI architectures
ClosedPublic

Authored by brooks on Wed, Oct 1, 9:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 12, 12:45 AM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM
Unknown Object (File)
Sat, Oct 11, 3:14 PM

Details

Summary

Sponsored by: Innovate UK, DARPA, AFRL

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 67606
Build 64489: arc lint + arc unit

Event Timeline

This and the commits before it in the stack are intended to start documenting CHERI as it impacts the ABI. I'll probably MFC at least the _ILP32__/__LP64__ one.

@jhb this and D52821 are mostly from a commit you made to CheriBSD so I plan to commit them with you as the author.

share/man/man7/arch.7
163

I think this doc would benefit from one more sentence about the relationship between intptr_t and a capability.

  • Restore CHERI bits from D52821
  • Add some words about intptr_t being a capability type
share/man/man7/arch.7
62
78

E.g. ptrdiff_t would be still the right type to express the distance between array elements.

202

I would not call aarch64 legacy, this is not a marketing flyer.

Revise wording around ptrdiff_t, etc use.

markj added inline comments.
share/man/man7/arch.7
61–65
68
74

Address suggestions from markj and kib

This revision is now accepted and ready to land.Fri, Oct 3, 1:09 PM
kib added inline comments.
share/man/man7/arch.7
100

Might be add (planned) to avoid confusion until the import is actually done

emaste added inline comments.
share/man/man7/arch.7
100

Yeah I like that idea.

Add (planned) to CHERI architectures

This revision now requires review to proceed.Fri, Oct 3, 3:30 PM
jhb added inline comments.
share/man/man7/arch.7
433

Is there a __riscv_clen in RV64Y?

This revision is now accepted and ready to land.Mon, Oct 6, 2:55 PM

Mention __riscv_clen. It definitly exists in CHERI LLVM, I didn't have
an easy way to check RV64Y so go with this for now.

This revision now requires review to proceed.Tue, Oct 7, 9:40 AM
jrtc27 added inline comments.
share/man/man7/arch.7
433

Probably __riscv_ylen thanks to the architecture review committee's opinions on making names less useful, but no real reason to query it, only ever going to be 2 * XLEN, which is the more useful one to query as it's what's in the triple.

share/man/man7/arch.7
433

Point is, documenting it here will encourage people to use it, which is not what we want except in rare circumstances. Distinguishing riscv64 vs riscv64c should be done via __CHERI__.

Drop riscv_clen and add CHERI__

This revision was not accepted when it landed; it landed in state Needs Review.Wed, Oct 8, 9:34 AM
Closed by commit rGfd895b4f0423: arch.7: Add CHERI architectures (authored by jhb, committed by brooks). · Explain Why
This revision was automatically updated to reflect the committed changes.