diff options
author | dfr <dfr@FreeBSD.org> | 1998-08-07 08:17:39 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1998-08-07 08:17:39 +0000 |
commit | f43a7c1a9cd59c225c99573c92f00710872e125c (patch) | |
tree | 5875a47c21ecaeefb8f89866d5379603dcfb1646 /sys/alpha | |
parent | 3f4718364ade4ea7b1145d8aa58d73a0179ad021 (diff) | |
download | FreeBSD-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.h | 8 |
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))) |