192991Sobrien/* $NetBSD: SYS.h,v 1.5 1997/05/02 18:15:15 kleink Exp $ */ 267117Sdfr 367117Sdfr/* 467117Sdfr * Copyright (c) 1994, 1995 Carnegie-Mellon University. 567117Sdfr * All rights reserved. 667117Sdfr * 767117Sdfr * Author: Chris G. Demetriou 867117Sdfr * 967117Sdfr * Permission to use, copy, modify and distribute this software and 1067117Sdfr * its documentation is hereby granted, provided that both the copyright 1167117Sdfr * notice and this permission notice appear in all copies of the 1267117Sdfr * software, derivative works or modified versions, and any portions 1367117Sdfr * thereof, and that both notices appear in supporting documentation. 1467117Sdfr * 1567117Sdfr * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 1667117Sdfr * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 1767117Sdfr * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 1867117Sdfr * 1967117Sdfr * Carnegie Mellon requests users of this software to return to 2067117Sdfr * 2167117Sdfr * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 2267117Sdfr * School of Computer Science 2367117Sdfr * Carnegie Mellon University 2467117Sdfr * Pittsburgh PA 15213-3890 2567117Sdfr * 2667117Sdfr * any improvements or extensions that they make and grant Carnegie the 2767117Sdfr * rights to redistribute these changes. 2892991Sobrien * 2992991Sobrien * $FreeBSD$ 3067117Sdfr */ 3167117Sdfr 3267117Sdfr#include <machine/asm.h> 3367117Sdfr#include <sys/syscall.h> 3467117Sdfr 3567117Sdfr#define CALLSYS_ERROR(name) \ 3667117Sdfr CALLSYS_NOERROR(name); \ 3767117Sdfr cmp.ne p6,p0=r0,r10; \ 3867117Sdfr(p6) br.cond.sptk.few .cerror 3967117Sdfr 4067117Sdfr 4167117Sdfr#define SYSCALL(name) \ 4271770SdeischenENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 4371770Sdeischen WEAK_ALIAS(name, __sys_ ## name); \ 4471770Sdeischen WEAK_ALIAS(_ ## name, __sys_ ## name); \ 4567117Sdfr CALLSYS_ERROR(name) 4667117Sdfr 4767117Sdfr#define SYSCALL_NOERROR(name) \ 4871770SdeischenENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 4971770Sdeischen WEAK_ALIAS(name, __sys_ ## name); \ 5071770Sdeischen WEAK_ALIAS(_ ## name, __sys_ ## name); \ 5167117Sdfr CALLSYS_NOERROR(name) 5267117Sdfr 5367117Sdfr#define RSYSCALL(name) \ 5467117Sdfr SYSCALL(name); \ 5567117Sdfr br.ret.sptk.few rp; \ 5671770SdeischenEND(__sys_ ## name) 5767117Sdfr 5871770Sdeischen#define PSEUDO(name) \ 5971770SdeischenENTRY(__sys_ ## name,0); /* XXX # of args? */ \ 6071770Sdeischen WEAK_ALIAS(_ ## name, __sys_ ## name); \ 6167117Sdfr CALLSYS_ERROR(name); \ 6267117Sdfr br.ret.sptk.few rp; \ 6371770SdeischenEND(__sys_ ## name); 64