aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-13 21:44:16 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-30 07:05:02 +0000
commit796fff59a5d32bc3be14feaeb228fc15ef43eb32 (patch)
treeebe726cf04ade851139ebdc6f2926df96f15300b /sys/compat/linuxkpi/common/include/linux
parent783d018cf954f99032a0a4f655af8916024598a8 (diff)
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/xarray.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/xarray.h b/sys/compat/linuxkpi/common/include/linux/xarray.h
index e6511130d50c..b26aa6f0d13a 100644
--- a/sys/compat/linuxkpi/common/include/linux/xarray.h
+++ b/sys/compat/linuxkpi/common/include/linux/xarray.h
@@ -54,6 +54,18 @@ struct xarray {
uint32_t xa_flags; /* see XA_FLAGS_XXX */
};
+#define DEFINE_XARRAY_FLAGS(name, flags) \
+ struct xarray name = { \
+ .xa_head.gfp_mask = GFP_NOWAIT, \
+ .xa_flags = flags, \
+ }; \
+ MTX_SYSINIT(name ## _mtx, &name.xa_lock, \
+ "linuxkpi_DEFINE_XARRAY(" #name ")", \
+ MTX_DEF | MTX_RECURSE)
+
+#define DEFINE_XARRAY(name) DEFINE_XARRAY_FLAGS(name, 0)
+#define DEFINE_XARRAY_ALLOC(name) DEFINE_XARRAY_FLAGS(name, XA_FLAGS_ALLOC)
+
struct xa_limit {
uint32_t max;
uint32_t min;