summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1998-08-07 08:17:39 +0000
committerdfr <dfr@FreeBSD.org>1998-08-07 08:17:39 +0000
commitf43a7c1a9cd59c225c99573c92f00710872e125c (patch)
tree5875a47c21ecaeefb8f89866d5379603dcfb1646 /sys/alpha
parent3f4718364ade4ea7b1145d8aa58d73a0179ad021 (diff)
downloadFreeBSD-src-f43a7c1a9cd59c225c99573c92f00710872e125c.zip
FreeBSD-src-f43a7c1a9cd59c225c99573c92f00710872e125c.tar.gz
Add some more useful macros.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
Diffstat (limited to 'sys/alpha')
-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 0305952..5c84a49 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)))
OpenPOWER on IntegriCloud