Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/sys Explain why we don't want to pass structs and u...



details:   https://anonhg.NetBSD.org/src/rev/e8f7f7c89082
branches:  trunk
changeset: 481456:e8f7f7c89082
user:      christos <christos%NetBSD.org@localhost>
date:      Mon Jan 31 15:15:07 2000 +0000

description:
Explain why we don't want to pass structs and unions to syscalls, and
how to find the proper args for a syscall.

diffstat:

 lib/libc/sys/syscall.2 |  11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diffs (25 lines):

diff -r f97935c64f75 -r e8f7f7c89082 lib/libc/sys/syscall.2
--- a/lib/libc/sys/syscall.2    Mon Jan 31 15:14:19 2000 +0000
+++ b/lib/libc/sys/syscall.2    Mon Jan 31 15:15:07 2000 +0000
@@ -1,4 +1,4 @@
-.\"    $NetBSD: syscall.2,v 1.8 1999/12/02 21:42:40 kleink Exp $
+.\"    $NetBSD: syscall.2,v 1.9 2000/01/31 15:15:07 christos Exp $
 .\"
 .\" Copyright (c) 1980, 1991, 1993
 .\"    The Regents of the University of California.  All rights reserved.
@@ -73,6 +73,15 @@
 There is no way to simulate system calls that have multiple return values
 such as
 .Xr pipe 2 .
+.Pp
+Due to ABI implementation differences in passing struct or union
+type arguments to system calls between different processors, all
+system calls pass instead pointers to such structs or unions, even
+when the documentation of the system call mentions otherwise. The
+conversion between passing structs and unions is handled normally
+via userland stubs. The correct arguments for the kernel entry
+points for each system call can be found in the header file
+.Ao Pa sys/syscallargs.h Ac
 .Sh HISTORY
 The
 .Fn syscall



Home | Main Index | Thread Index | Old Index