summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-02-12 14:57:01 +0000
committerdfr <dfr@FreeBSD.org>2000-02-12 14:57:01 +0000
commit69be10ec73f0a4dc04c4b0849b59b6ba11e039ff (patch)
treedae599462429d9aff38d08dd7d6a13f9b5201e53 /sys
parent512d99359fec3621b39f3c2fb6f8b8c51b1565ce (diff)
downloadFreeBSD-src-69be10ec73f0a4dc04c4b0849b59b6ba11e039ff.zip
FreeBSD-src-69be10ec73f0a4dc04c4b0849b59b6ba11e039ff.tar.gz
Add functions which allow i/o memory to be accessed without forcing a
memory barrier (needed for XFree86 4.0). Approved by: jkh
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/include/bwx.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/alpha/include/bwx.h b/sys/alpha/include/bwx.h
index bbc3142..3d63995 100644
--- a/sys/alpha/include/bwx.h
+++ b/sys/alpha/include/bwx.h
@@ -81,4 +81,23 @@ stl(vm_offset_t va, u_int64_t r)
__asm__ __volatile__ ("mb");
}
+static __inline void
+stb_nb(vm_offset_t va, u_int64_t r)
+{
+ __asm__ __volatile__ ("stb %1,%0" : "=m"(*(u_int8_t*)va) : "r"(r));
+}
+
+static __inline void
+stw_nb(vm_offset_t va, u_int64_t r)
+{
+ __asm__ __volatile__ ("stw %1,%0" : "=m"(*(u_int16_t*)va) : "r"(r));
+}
+
+
+static __inline void
+stl_nb(vm_offset_t va, u_int64_t r)
+{
+ __asm__ __volatile__ ("stl %1,%0" : "=m"(*(u_int32_t*)va) : "r"(r));
+}
+
#endif /* !_MACHINE_BWX_H_ */
OpenPOWER on IntegriCloud