diff options
Diffstat (limited to 'libthreads/i386/asm.h')
-rw-r--r-- | libthreads/i386/asm.h | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/libthreads/i386/asm.h b/libthreads/i386/asm.h deleted file mode 100644 index 48129a3b..00000000 --- a/libthreads/i386/asm.h +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * HISTORY - * $Log: asm.h,v $ - * Revision 2.5 91/07/31 18:36:13 dbg - * Changes for STDC (from kernel version). - * [91/07/30 17:34:54 dbg] - * - * Revision 2.4 91/05/14 17:56:49 mrt - * Correcting copyright - * - * Revision 2.3 91/02/14 14:19:58 mrt - * Changed to new Mach copyright - * [91/02/13 12:15:20 mrt] - * - * Revision 2.2 90/05/03 15:54:33 dbg - * Created. - * [90/04/30 15:39:58 dbg] - * - * Typo on ENTRY if gprof - * [90/03/29 rvb] - * fix SVC for "ifdef wheeze" [kupfer] - * Fix the GPROF definitions. - * ENTRY(x) gets profiled iffdef GPROF. - * Entry(x) (and DATA(x)) is NEVER profiled. - * MCOUNT can be used by asm that intends to build a frame, - * after the frame is built. - * [90/02/26 rvb] - * Add #define addr16 .byte 0x67 - * [90/02/09 rvb] - * Added LBi, SVC and ENTRY - * [89/11/10 09:51:33 rvb] - * - * New a.out and coff compatible .s files. - * [89/10/16 rvb] - * - */ - - -#define S_ARG0 4(%esp) -#define S_ARG1 8(%esp) -#define S_ARG2 12(%esp) -#define S_ARG3 16(%esp) - -#define FRAME pushl %ebp; movl %esp, %ebp -#define EMARF leave - -#define B_ARG0 8(%ebp) -#define B_ARG1 12(%ebp) -#define B_ARG2 16(%ebp) -#define B_ARG3 20(%ebp) - -#ifdef wheeze - -#define ALIGN 4 -#define EXT(x) x -#define LEXT(x) x: -#define LCL(x) ./**/x - -#define LB(x,n) ./**/x -#define LBl(x,n) ./**/x: -#define LBb(x,n) ./**/x -#define LBf(x,n) ./**/x - -#define SVC lcall $7,$0 - -#define String .string -#define Value .value -#define Times(a,b) [a\*b] -#define Divide(a,b) [a\\b] - -#define INB inb (%dx) -#define OUTB outb (%dx) -#define INL inl (%dx) -#define OUTL outl (%dx) - -#else wheeze - -#define ALIGN 2 -#ifdef __STDC__ -#define EXT(x) _ ## x -#define LEXT(x) _ ## x ## : -#else /* __STDC__ */ -#define EXT(x) _/**/x -#define LEXT(x) _/**/x: -#endif /* __STDC__ */ -#define LCL(x) x - -#define LB(x,n) n -#ifdef __STDC__ -#define LBl(x,n) n ## : -#define LBb(x,n) n ## b -#define LBf(x,n) n ## f -#else /* __STDC__ */ -#define LBl(x,n) n/**/: -#define LBb(x,n) n/**/b -#define LBf(x,n) n/**/f -#endif /* __STDC__ */ - -#define SVC .byte 0x9a; .long 0; .word 0x7 - -#define String .ascii -#define Value .word -#define Times(a,b) (a*b) -#define Divide(a,b) (a/b) - -#define INB inb %dx, %al -#define OUTB outb %al, %dx -#define INL inl %dx, %eax -#define OUTL outl %eax, %dx - -#endif wheeze - -#define data16 .byte 0x66 -#define addr16 .byte 0x67 - - - -#ifdef GPROF -#define MCOUNT .data; LBl(x, 9) .long 0; .text; \ - lea LBb(x, 9),%edx; call mcount -#define ENTRY(x) .globl EXT(x); .align ALIGN; LEXT(x) ; \ - pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; -#define ENTRY2(x,y) .globl EXT(x); .globl EXT(y); \ - .align ALIGN; LEXT(x) LEXT(y) ; \ - pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; -#ifdef __STDC__ -#define ASENTRY(x) .globl x; .align ALIGN; x ## : ; \ - pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; -#else /* __STDC__ */ -#define ASENTRY(x) .globl x; .align ALIGN; x: ; \ - pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; -#endif /* __STDC__ */ - -#else GPROF -#define MCOUNT -#define ENTRY(x) .globl EXT(x); .align ALIGN; LEXT(x) -#define ENTRY2(x,y) .globl EXT(x); .globl EXT(y); \ - .align ALIGN; LEXT(x) LEXT(y) -#ifdef __STDC__ -#define ASENTRY(x) .globl x; .align ALIGN; x ## : -#else /* __STDC__ */ -#define ASENTRY(x) .globl x; .align ALIGN; x: -#endif /* __STDC__ */ -#endif GPROF - -#define Entry(x) .globl EXT(x); .align ALIGN; LEXT(x) -#define DATA(x) .globl EXT(x); .align ALIGN; LEXT(x) |