Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/mips/include Provide assmebler versions of BITS(3) ...
details: https://anonhg.NetBSD.org/src/rev/5ec2ed5bf0e1
branches: trunk
changeset: 937223:5ec2ed5bf0e1
user: skrll <skrll%NetBSD.org@localhost>
date: Wed Aug 12 08:56:37 2020 +0000
description:
Provide assmebler versions of BITS(3) macros. These are only good for
32 bit masks
diffstat:
sys/arch/mips/include/asm.h | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diffs (23 lines):
diff -r 27956a06533d -r 5ec2ed5bf0e1 sys/arch/mips/include/asm.h
--- a/sys/arch/mips/include/asm.h Wed Aug 12 08:53:20 2020 +0000
+++ b/sys/arch/mips/include/asm.h Wed Aug 12 08:56:37 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: asm.h,v 1.60 2020/08/10 14:37:38 skrll Exp $ */
+/* $NetBSD: asm.h,v 1.61 2020/08/12 08:56:37 skrll Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -57,6 +57,13 @@
#include <sys/cdefs.h> /* for API selection */
#include <mips/regdef.h>
+#define __BIT(n) (1 << (n))
+#define __BITS(hi,lo) ((~((~0)<<((hi)+1)))&((~0)<<(lo)))
+
+#define __LOWEST_SET_BIT(__mask) ((((__mask) - 1) & (__mask)) ^ (__mask))
+#define __SHIFTOUT(__x, __mask) (((__x) & (__mask)) / __LOWEST_SET_BIT(__mask))
+#define __SHIFTIN(__x, __mask) ((__x) * __LOWEST_SET_BIT(__mask))
+
/*
* Define -pg profile entry code.
* Must always be noreorder, must never use a macro instruction
Home |
Main Index |
Thread Index |
Old Index