Deleted Added
full compact
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);