Page MenuHomeFreeBSD

arch.7: Add CHERI architectures
ClosedPublic

Authored by brooks on Wed, Oct 1, 9:40 AM.
Tags
None
Referenced Files
F131892260: D52822.id163210.diff
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 Not Applicable
Unit
Tests Not Applicable

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.