Added new macros:

SYSCALL_NOERROR(x):     Like SYSCALL except that "x" is a syscall
				that can never fail.

        RSYSCALL_NOERROR(x):    Like RSYSCALL except that "x" is a syscall
				that can never fail.

These macros simply call SYSCALL / RSYSCALL, and serve as placeholders
until an optimized implementation is done.
This commit is contained in:
jtc 1996-10-19 00:25:22 +00:00
parent cb9edbe5f6
commit 41da409893
2 changed files with 40 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: SYS.h,v 1.5 1996/09/17 01:32:22 jonathan Exp $ */
/* $NetBSD: SYS.h,v 1.6 1996/10/19 00:25:22 jtc Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -78,3 +78,22 @@
bne a3,zero,err; j ra; err: j _C_LABEL(cerror); END(x);
#endif /* !ABICALLS */
#endif /* traditional C */
/*
* SYSCALL_NOERROR is like SYSCALL, except it's used for syscalls
* that never fail.
*
* XXX - This should be optimized.
*/
#define SYSCALL_NOERROR(x) \
SYSCALL(x)
/*
* RSYSCALL_NOERROR is like RSYSCALL, except it's used for syscalls
* that never fail.
*
* XXX - This should be optimized.
*/
#define SYSCALL_NOERROR(x) \
#define RSYSCALL_NOERROR(x) \
RSYSCALL(x)

View File

@ -37,7 +37,7 @@
* @(#)SYS.h 8.1 (Berkeley) 6/4/93
*
* from: Header: SYS.h,v 1.2 92/07/03 18:57:00 torek Exp
* $Id: SYS.h,v 1.3 1994/02/10 20:15:31 pk Exp $
* $Id: SYS.h,v 1.4 1996/10/19 00:28:31 jtc Exp $
*/
#include <machine/asm.h>
@ -87,4 +87,23 @@
ENTRY(x); mov (_CAT(SYS_,y))|SYSCALL_G2RFLAG,%g1; add %o7,8,%g2; \
t ST_SYSCALL; ERROR()
/*
* SYSCALL_NOERROR is like SYSCALL, except it's used for syscalls
* that never fail.
*
* XXX - This should be optimized.
*/
#define SYSCALL_NOERROR(x) \
SYSCALL(x)
/*
* RSYSCALL_NOERROR is like RSYSCALL, except it's used for syscalls
* that never fail.
*
* XXX - This should be optimized.
*/
#define SYSCALL_NOERROR(x) \
#define RSYSCALL_NOERROR(x) \
RSYSCALL(x)
.globl cerror