diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-10-24 20:19:12 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-10-24 20:19:12 +0000 |
commit | c6e89e43a2148893ab3e7f4f63b9eaa0354eebce (patch) | |
tree | 2e87e1283036c4e375254fc6d7a90946e9d4d924 | |
parent | b4217b109ee1f085b067654cd7be47124556b30d (diff) |
Change the syscall invocation sequences to no longer fetch the last few
arguments from the stack, since the kernel will now copyin() them when
necessary.
This makes all system calls (but mmap()) slightly faster.
WARNING! After this commit, your binaries must run against a kernel
featuring m88k/m88k/trap.c r1.34 or better - i.e. a 4.1 or later kernel.
-rw-r--r-- | lib/libc/arch/m88k/SYS.h | 5 | ||||
-rw-r--r-- | lib/libc/arch/m88k/sys/syscall.S | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/lib/libc/arch/m88k/SYS.h b/lib/libc/arch/m88k/SYS.h index 81cb2611ac6..14cd26e5ab7 100644 --- a/lib/libc/arch/m88k/SYS.h +++ b/lib/libc/arch/m88k/SYS.h @@ -1,4 +1,4 @@ -/* $OpenBSD: SYS.h,v 1.11 2004/07/28 08:48:15 miod Exp $*/ +/* $OpenBSD: SYS.h,v 1.12 2007/10/24 20:19:09 miod Exp $*/ /*- * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. @@ -48,9 +48,6 @@ #endif #define __DO_SYSCALL(x) \ - ld r10,r31,0; \ - ld r11,r31,4; \ - ld r12,r31,8; \ or r13,r0,__SYSCALLNAME(SYS_,x); \ tb0 0, r0, 128 diff --git a/lib/libc/arch/m88k/sys/syscall.S b/lib/libc/arch/m88k/sys/syscall.S index a6cc5ceec73..477ba89cb01 100644 --- a/lib/libc/arch/m88k/sys/syscall.S +++ b/lib/libc/arch/m88k/sys/syscall.S @@ -1,4 +1,4 @@ -/* $OpenBSD: syscall.S,v 1.9 2005/08/07 16:40:15 espie Exp $ */ +/* $OpenBSD: syscall.S,v 1.10 2007/10/24 20:19:11 miod Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,9 +36,6 @@ #include "SYS.h" SYSENTRY(syscall) - ld r10,r31,0 - ld r11,r31,4 - ld r12,r31,8 or r13,r0,0 tb0 0,r0,128 br __cerror |