aboutsummaryrefslogtreecommitdiff
path: root/sys/include
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-03-07 11:00:11 -0500
committerIan Moffett <ian@osmora.org>2025-03-07 11:07:09 -0500
commitab65f0afebaeaeac1d456736221e648f33dd4fb2 (patch)
tree3f13bd90674b2ba87e4d3ddce456187234518db7 /sys/include
parent45c2a74dbda3d6d0d17e78ae916a528204cdd71b (diff)
kernel: cdefs: Add __barrier() define
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r--sys/include/sys/cdefs.h1
-rw-r--r--sys/include/sys/mmio.h4
2 files changed, 3 insertions, 2 deletions
diff --git a/sys/include/sys/cdefs.h b/sys/include/sys/cdefs.h
index 4103896..37e15d7 100644
--- a/sys/include/sys/cdefs.h
+++ b/sys/include/sys/cdefs.h
@@ -42,6 +42,7 @@
#define __likely(exp) __builtin_expect(((exp) != 0), 1)
#define __unlikely(exp) __builtin_expect(((exp) != 0), 0)
#define __static_assert _Static_assert
+#define __barrier() __ASMV("" ::: "memory")
#if defined(__cplusplus)
#define __BEGIN_DECLS extern "C" {
diff --git a/sys/include/sys/mmio.h b/sys/include/sys/mmio.h
index cdc6a46..9f6e4e2 100644
--- a/sys/include/sys/mmio.h
+++ b/sys/include/sys/mmio.h
@@ -67,7 +67,7 @@
tmp += VM_HIGHER_HALF; \
} \
*(volatile TYPE *)tmp = val; \
- __ASMV("" ::: "memory"); \
+ __barrier(); \
}
/*
@@ -86,7 +86,7 @@
tmp += VM_HIGHER_HALF; \
} \
\
- __ASMV("" ::: "memory"); \
+ __barrier(); \
return *(volatile TYPE *)tmp; \
}