summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/include
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-11-04 23:00:12 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-11-04 23:00:12 +0000
commitdc00ccd0367661ae7d07c34de16048cf688e6007 (patch)
tree947a79044ac9a614b1cce49ef95a8c8c62675774 /sys/arch/alpha/include
parentb41813dd8a8634dd5e7f73ce78c3a718fa29fd77 (diff)
Add alpha_ldlu and alpha_stl.
Diffstat (limited to 'sys/arch/alpha/include')
-rw-r--r--sys/arch/alpha/include/bwx.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/sys/arch/alpha/include/bwx.h b/sys/arch/alpha/include/bwx.h
index 6cbc6eee623..fd7da0c3e82 100644
--- a/sys/arch/alpha/include/bwx.h
+++ b/sys/arch/alpha/include/bwx.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bwx.h,v 1.2 2000/11/08 21:27:17 ericj Exp $ */
+/* $OpenBSD: bwx.h,v 1.3 2001/11/04 23:00:11 art Exp $ */
/* $NetBSD: bwx.h,v 1.3 2000/06/08 02:55:37 thorpej Exp $ */
/*-
@@ -49,6 +49,11 @@
* See "Alpha Architecture Handbook, Version 3", DEC order number EC-QD2KB-TE.
*/
+#define BWX_EV56_INT8 (0L << 37)
+#define BWX_EV56_INT4 (1L << 37)
+#define BWX_EV56_INT2 (2L << 37)
+#define BWX_EV56_INT1 (3L << 37)
+
static __inline u_int8_t
alpha_ldbu(__volatile u_int8_t *a0)
{
@@ -73,6 +78,12 @@ alpha_ldwu(__volatile u_int16_t *a0)
return (v0);
}
+static __inline u_int32_t
+alpha_ldlu(__volatile u_int32_t *a0)
+{
+ return (*a0);
+}
+
static __inline void
alpha_stb(__volatile u_int8_t *a0, u_int8_t a1)
{
@@ -91,6 +102,15 @@ alpha_stw(__volatile u_int16_t *a0, u_int16_t a1)
: "r" (a1));
}
+static __inline void
+alpha_stl(__volatile u_int32_t *a0, u_int32_t a1)
+{
+
+ __asm __volatile("stl %1, %0"
+ : "=m" (*a0)
+ : "r" (a1));
+}
+
static __inline u_int8_t
alpha_sextb(u_int8_t a0)
{