summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/asmacros.h
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-03-09 13:57:33 +0000
committerbde <bde@FreeBSD.org>1997-03-09 13:57:33 +0000
commit323777f28dd6fc4f0197ee45869323407aec04de (patch)
treeda333547a38aad77c82955958128a57560bb7f15 /sys/amd64/include/asmacros.h
parent0df49cb9cfc20544d5a22327db106151826ea246 (diff)
downloadFreeBSD-src-323777f28dd6fc4f0197ee45869323407aec04de.zip
FreeBSD-src-323777f28dd6fc4f0197ee45869323407aec04de.tar.gz
Moved userland assembler macros from <machine/asmacros.h> to
<machine/asm.h>.
Diffstat (limited to 'sys/amd64/include/asmacros.h')
-rw-r--r--sys/amd64/include/asmacros.h90
1 files changed, 1 insertions, 89 deletions
diff --git a/sys/amd64/include/asmacros.h b/sys/amd64/include/asmacros.h
index 592c2be..9b3559b 100644
--- a/sys/amd64/include/asmacros.h
+++ b/sys/amd64/include/asmacros.h
@@ -30,13 +30,12 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: asmacros.h,v 1.14 1997/02/22 09:33:56 peter Exp $
*/
#ifndef _MACHINE_ASMACROS_H_
#define _MACHINE_ASMACROS_H_
-#ifdef KERNEL
#include <sys/cdefs.h>
/* XXX too much duplication in various asm*.h's. */
@@ -123,91 +122,4 @@
#define MEXITCOUNT
#endif /* GPROF */
-#else /* !KERNEL */
-
-#include "/usr/src/lib/libc/i386/DEFS.h" /* XXX blech */
-
-/*
- * In the !KERNEL case, this header is only (ab)used in lib/msun/i387.
- * Use it to generate code to select between the generic math functions
- * and the i387 ones.
- */
-#undef ENTRY
-#define ANAME(x) CNAME(__CONCAT(__i387_,x))
-#define ASELNAME(x) CNAME(__CONCAT(__arch_select_,x))
-#define AVECNAME(x) CNAME(__CONCAT(__arch_,x))
-#define GNAME(x) CNAME(__CONCAT(__generic_,x))
-
-/* Don't bother profiling this. */
-#ifdef PIC
-#define ARCH_DISPATCH(x) \
- _START_ENTRY; \
- .globl CNAME(x); .type CNAME(x),@function; CNAME(x): ; \
- PIC_PROLOGUE; \
- movl PIC_GOT(AVECNAME(x)),%eax; \
- PIC_EPILOGUE; \
- jmpl *(%eax)
-
-#define ARCH_SELECT(x) _START_ENTRY; \
- .type ASELNAME(x),@function; \
- ASELNAME(x): \
- PIC_PROLOGUE; \
- call PIC_PLT(CNAME(__get_hw_float)); \
- testl %eax,%eax; \
- movl PIC_GOT(ANAME(x)),%eax; \
- jne 8f; \
- movl PIC_GOT(GNAME(x)),%eax; \
- 8: \
- movl PIC_GOT(AVECNAME(x)),%edx; \
- movl %eax,(%edx); \
- PIC_EPILOGUE; \
- jmpl *%eax
-#else /* !PIC */
-#define ARCH_DISPATCH(x) \
- _START_ENTRY; \
- .globl CNAME(x); .type CNAME(x),@function; CNAME(x): ; \
- jmpl *AVECNAME(x)
-
-#define ARCH_SELECT(x) _START_ENTRY; \
- .type ASELNAME(x),@function; \
- ASELNAME(x): \
- call CNAME(__get_hw_float); \
- testl %eax,%eax; \
- movl $ANAME(x),%eax; \
- jne 8f; \
- movl $GNAME(x),%eax; \
- 8: \
- movl %eax,AVECNAME(x); \
- jmpl *%eax
-#endif /* PIC */
-
-#define ARCH_VECTOR(x) .data; .align 2; \
- .globl AVECNAME(x); \
- .type AVECNAME(x),@object; \
- .size AVECNAME(x),4; \
- AVECNAME(x): .long ASELNAME(x)
-
-#ifdef PROF
-
-#define ALTENTRY(x) ENTRY(x); jmp 9f
-#define ENTRY(x) ARCH_VECTOR(x); ARCH_SELECT(x); ARCH_DISPATCH(x); \
- _START_ENTRY; \
- .globl ANAME(x); .type ANAME(x),@function; ANAME(x):; \
- call HIDENAME(mcount); 9:
-
-#else /* !PROF */
-
-#define ALTENTRY(x) ENTRY(x)
-#define ENTRY(x) ARCH_VECTOR(x); ARCH_SELECT(x); ARCH_DISPATCH(x); \
- _START_ENTRY; \
- .globl ANAME(x); .type ANAME(x),@function; ANAME(x):
-
-#endif /* PROF */
-
-#ifndef RCSID
-#define RCSID(a)
-#endif
-
-#endif /* KERNEL */
-
#endif /* !_MACHINE_ASMACROS_H_ */
OpenPOWER on IntegriCloud