diff options
author | dfr <dfr@FreeBSD.org> | 2000-02-12 14:57:01 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2000-02-12 14:57:01 +0000 |
commit | 69be10ec73f0a4dc04c4b0849b59b6ba11e039ff (patch) | |
tree | dae599462429d9aff38d08dd7d6a13f9b5201e53 /sys | |
parent | 512d99359fec3621b39f3c2fb6f8b8c51b1565ce (diff) | |
download | FreeBSD-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.h | 19 |
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_ */ |