Page MenuHomeFreeBSD

exterr: allow exterr to fit pointers on CHERI targets
ClosedPublic

Authored by brooks on Mon, Jul 6, 4:05 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jul 13, 2:15 PM
Unknown Object (File)
Sun, Jul 12, 9:11 PM
Unknown Object (File)
Sat, Jul 11, 12:15 PM
Unknown Object (File)
Thu, Jul 9, 11:25 PM
Unknown Object (File)
Thu, Jul 9, 8:25 AM
Unknown Object (File)
Wed, Jul 8, 9:37 PM
Unknown Object (File)
Wed, Jul 8, 9:17 PM
Unknown Object (File)
Tue, Jul 7, 5:56 AM
Subscribers

Details

Summary

Switch to uint64ptr_t which is a uint64_t on traditional architectures
and a uintptr_t on CHERI architectures. This has no ABI impact on
non-CHERI kernels.

Fix truncation of 64-bit values on 32-bit kernels.

Effort: CHERI upstreaming
Sponsored by: Innovate UK

Diff Detail

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

Event Timeline

brooks requested review of this revision.Mon, Jul 6, 4:05 PM
sys/sys/_uexterror.h
25

Probably these should also be __uint64ptr_t. On CHERI there's also an 8-byte gap above p1 which should maybe be explicit.

sys/sys/exterrvar.h
62

This was truncating 64-bit values on 32-bit kernels.

This revision is now accepted and ready to land.Tue, Jul 7, 1:55 AM

Expand __uint64ptr_t to spares

This revision now requires review to proceed.Tue, Jul 14, 8:03 PM
This revision was not accepted when it landed; it landed in state Needs Review.Wed, Jul 15, 9:33 AM
This revision was automatically updated to reflect the committed changes.