SYS.h (71579) | SYS.h (71770) |
---|---|
1/* $FreeBSD: head/lib/libc/ia64/SYS.h 71579 2001-01-24 13:01:12Z deischen $ */ | 1/* $FreeBSD: head/lib/libc/ia64/SYS.h 71770 2001-01-29 03:23:46Z deischen $ */ |
2/* From: NetBSD: SYS.h,v 1.5 1997/05/02 18:15:15 kleink Exp */ 3 4/* 5 * Copyright (c) 1994, 1995 Carnegie-Mellon University. 6 * All rights reserved. 7 * 8 * Author: Chris G. Demetriou 9 * --- 23 unchanged lines hidden (view full) --- 33 34#define CALLSYS_ERROR(name) \ 35 CALLSYS_NOERROR(name); \ 36 cmp.ne p6,p0=r0,r10; \ 37(p6) br.cond.sptk.few .cerror 38 39 40#define SYSCALL(name) \ | 2/* From: NetBSD: SYS.h,v 1.5 1997/05/02 18:15:15 kleink Exp */ 3 4/* 5 * Copyright (c) 1994, 1995 Carnegie-Mellon University. 6 * All rights reserved. 7 * 8 * Author: Chris G. Demetriou 9 * --- 23 unchanged lines hidden (view full) --- 33 34#define CALLSYS_ERROR(name) \ 35 CALLSYS_NOERROR(name); \ 36 cmp.ne p6,p0=r0,r10; \ 37(p6) br.cond.sptk.few .cerror 38 39 40#define SYSCALL(name) \ |
41ENTRY(_ ## name,0); /* XXX # of args? */ \ 42 WEAK_ALIAS(name, _ ## name); \ | 41ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 42 WEAK_ALIAS(name, __sys_ ## name); \ 43 WEAK_ALIAS(_ ## name, __sys_ ## name); \ |
43 CALLSYS_ERROR(name) 44 45#define SYSCALL_NOERROR(name) \ | 44 CALLSYS_ERROR(name) 45 46#define SYSCALL_NOERROR(name) \ |
46ENTRY(name,0); /* XXX # of args? */ \ | 47ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 48 WEAK_ALIAS(name, __sys_ ## name); \ 49 WEAK_ALIAS(_ ## name, __sys_ ## name); \ |
47 CALLSYS_NOERROR(name) 48 49 50#define RSYSCALL(name) \ 51 SYSCALL(name); \ 52 br.ret.sptk.few rp; \ | 50 CALLSYS_NOERROR(name) 51 52 53#define RSYSCALL(name) \ 54 SYSCALL(name); \ 55 br.ret.sptk.few rp; \ |
53END(_ ## name) | 56END(__sys_ ## name) |
54 55#define RSYSCALL_NOERROR(name) \ 56 SYSCALL_NOERROR(name); \ 57 br.ret.sptk.few rp; \ | 57 58#define RSYSCALL_NOERROR(name) \ 59 SYSCALL_NOERROR(name); \ 60 br.ret.sptk.few rp; \ |
58END(name) | 61END(__sys_ ## name) |
59 60 | 62 63 |
61#define PSEUDO(label,name) \ 62ENTRY(_ ## label,0); /* XXX # of args? */ \ 63 WEAK_ALIAS(label, _ ## label); \ | 64#define PSEUDO(name) \ 65ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 66 WEAK_ALIAS(_ ## name, __sys_ ## name); \ |
64 CALLSYS_ERROR(name); \ 65 br.ret.sptk.few rp; \ | 67 CALLSYS_ERROR(name); \ 68 br.ret.sptk.few rp; \ |
66END(_ ## label); | 69END(__sys_ ## name); |
67 | 70 |
68#define PSEUDO_NOERROR(label,name) \ 69ENTRY(label,0); /* XXX # of args? */ \ | 71#define PSEUDO_NOERROR(name) \ 72ENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 73 WEAK_ALIAS(_ ## name, __sys_ ## name); \ |
70 CALLSYS_NOERROR(name); \ 71 br.ret.sptk.few rp; \ | 74 CALLSYS_NOERROR(name); \ 75 br.ret.sptk.few rp; \ |
72END(label); 73 74/* 75 * Design note: 76 * 77 * The macros PSYSCALL() and PRSYSCALL() are intended for use where a 78 * syscall needs to be renamed in the threaded library. 79 */ 80/* 81 * For the thread_safe versions, we prepend __sys_ to the function 82 * name so that the 'C' wrapper can go around the real name. 83 */ 84#define PCALL(name) \ 85 CALL(__sys_ ## name) 86 87#define PENTRY(name, args) \ 88ENTRY(__sys_ ## name,args) 89 90#define PEND(name) \ 91END(__sys_ ## name) 92 93#define PSYSCALL(name) \ 94PENTRY(name,0); /* XXX # of args? */ \ 95 CALLSYS_ERROR(name) 96 97#define PRSYSCALL(name) \ 98PENTRY(_sys_ ## name,0); /* XXX # of args? */ \ 99 WEAK_ALIAS(name, __sys_ ## name); \ 100 WEAK_ALIAS(_ ## name, __sys_ ## name); \ 101 CALLSYS_ERROR(name) \ 102 br.ret.sptk.few rp; \ 103PEND(name) 104 105#define PPSEUDO(label,name) \ 106PENTRY(label,0); /* XXX # of args? */ \ 107 CALLSYS_ERROR(name); \ 108 br.ret.sptk.few rp; \ 109PEND(label) | 76END(__sys_ ## name); |