diff options
| author | Brooks Davis <brooks@FreeBSD.org> | 2026-06-29 12:59:44 +0000 |
|---|---|---|
| committer | Brooks Davis <brooks@FreeBSD.org> | 2026-06-29 12:59:44 +0000 |
| commit | a1c52e05f571607db361f49993b36b0288f1d8f3 (patch) | |
| tree | 8a92dab1e42c3abdf36ca7e27b8394e8834f990f /sys | |
| parent | b517edb8deed23b8c616f0ad4453e4dee7b0ac0f (diff) | |
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/sys/systm.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/sys/systm.h b/sys/sys/systm.h index f2c5051ac03d..83023d24fe7d 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -350,11 +350,21 @@ int64_t fuword64(volatile const void *base); __nodiscard int fueword(volatile const void *base, long *val); __nodiscard int fueword32(volatile const void *base, int32_t *val); __nodiscard int fueword64(volatile const void *base, int64_t *val); +#ifdef __CHERI__ +__nodiscard int fueptr(volatile const void *base, intptr_t *val); +#else +#define fueptr(base, val) fueword((base), (long *)(val)) +#endif __nodiscard int subyte(volatile void *base, int byte); __nodiscard int suword(volatile void *base, long word); __nodiscard int suword16(volatile void *base, int word); __nodiscard int suword32(volatile void *base, int32_t word); __nodiscard int suword64(volatile void *base, int64_t word); +#ifdef __CHERI__ +__nodiscard int suptr(volatile void *base, intptr_t ptr); +#else +#define suptr(base, val) suword((base), (val)) +#endif uint32_t casuword32(volatile uint32_t *base, uint32_t oldval, uint32_t newval); u_long casuword(volatile u_long *p, u_long oldval, u_long newval); int casueword32(volatile uint32_t *base, uint32_t oldval, uint32_t *oldvalp, |
