diff options
-rw-r--r-- | sys/i386/include/asm.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/sys/i386/include/asm.h b/sys/i386/include/asm.h index e868aa4..51d11d8 100644 --- a/sys/i386/include/asm.h +++ b/sys/i386/include/asm.h @@ -101,71 +101,4 @@ #define __FBSDID(s) /* nothing */ #endif /* not lint and not STRIP_FBSDID */ -#ifdef _ARCH_INDIRECT -/* - * Generate code to select between the generic functions and _ARCH_INDIRECT - * specific ones. - * XXX nested __CONCATs don't work with non-ANSI cpp's. - */ -#define ANAME(x) CNAME(__CONCAT(__CONCAT(__,_ARCH_INDIRECT),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; .p2align 2; \ - .globl AVECNAME(x); \ - .type AVECNAME(x),@object; \ - .size AVECNAME(x),4; \ - AVECNAME(x): .long ASELNAME(x) - -#undef _ENTRY -#define _ENTRY(x) ARCH_VECTOR(x); ARCH_SELECT(x); ARCH_DISPATCH(x); \ - _START_ENTRY; \ - .globl ANAME(x); .type ANAME(x),@function; ANAME(x): - -#endif /* _ARCH_INDIRECT */ - #endif /* !_MACHINE_ASM_H_ */ |