aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/include/swiz.h
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>1998-08-07 08:17:39 +0000
committerDoug Rabson <dfr@FreeBSD.org>1998-08-07 08:17:39 +0000
commit88db5033906d28e10ff2d0ab6c1caa970ce27d74 (patch)
treea215271f6c1580cd875603dd7706836ddcfd9c0f /sys/alpha/include/swiz.h
parenta8360ebd8201c4fffcf5e9cf2ba1c636eefa3e2c (diff)
downloadsrc-88db5033906d28e10ff2d0ab6c1caa970ce27d74.tar.gz
src-88db5033906d28e10ff2d0ab6c1caa970ce27d74.zip
Add some more useful macros.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
Notes
Notes: svn path=/head/; revision=38157
Diffstat (limited to 'sys/alpha/include/swiz.h')
-rw-r--r--sys/alpha/include/swiz.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/alpha/include/swiz.h b/sys/alpha/include/swiz.h
index 0305952360a4..5c84a49a7500 100644
--- a/sys/alpha/include/swiz.h
+++ b/sys/alpha/include/swiz.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: swiz.h,v 1.1 1998/07/27 09:40:35 dfr Exp $
*/
#ifndef _MACHINE_SWIZ_H_
@@ -40,11 +40,17 @@
#define SPARSE_WORD_OFFSET(o) (((o) << 5) | (1 << 3))
#define SPARSE_LONG_OFFSET(o) (((o) << 5) | (3 << 3))
+#define SPARSE_BYTE_ADDRESS(base, o) ((base) + SPARSE_BYTE_OFFSET(o))
+#define SPARSE_WORD_ADDRESS(base, o) ((base) + SPARSE_WORD_OFFSET(o))
+#define SPARSE_LONG_ADDRESS(base, o) ((base) + SPARSE_LONG_OFFSET(o))
+
#define SPARSE_BYTE_EXTRACT(o, d) ((d) >> (8*((o) & 3)))
#define SPARSE_WORD_EXTRACT(o, d) ((d) >> (8*((o) & 2)))
+#define SPARSE_LONG_EXTRACT(o, d) (d)
#define SPARSE_BYTE_INSERT(o, d) ((d) << (8*((o) & 3)))
#define SPARSE_WORD_INSERT(o, d) ((d) << (8*((o) & 2)))
+#define SPARSE_LONG_INSERT(o, d) (d)
#define SPARSE_READ_BYTE(base, o) \
SPARSE_BYTE_EXTRACT(o, SPARSE_READ(base + SPARSE_BYTE_OFFSET(o)))