aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2026-06-29 12:59:44 +0000
committerBrooks Davis <brooks@FreeBSD.org>2026-06-29 12:59:44 +0000
commita1c52e05f571607db361f49993b36b0288f1d8f3 (patch)
tree8a92dab1e42c3abdf36ca7e27b8394e8834f990f /sys
parentb517edb8deed23b8c616f0ad4453e4dee7b0ac0f (diff)
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/systm.h10
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,