From owner-cvs-sys Sun Aug 27 11:59:04 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id LAA00785 for cvs-sys-outgoing; Sun, 27 Aug 1995 11:59:04 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id LAA00778 ; Sun, 27 Aug 1995 11:58:50 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id EAA26062; Mon, 28 Aug 1995 04:56:01 +1000 Date: Mon, 28 Aug 1995 04:56:01 +1000 From: Bruce Evans Message-Id: <199508271856.EAA26062@godzilla.zeta.org.au> To: bde@zeta.org.au, wollman@lcs.mit.edu Subject: Re: cvs commit: src/sys/vm vm_map.h vm_map.c Cc: CVS-commiters@freefall.FreeBSD.org, bde@freefall.FreeBSD.org, cvs-sys@freefall.FreeBSD.org Sender: cvs-sys-owner@FreeBSD.org Precedence: bulk >> 1) for syscalls. The conversion from the application's args is >[...] >> bar_args *'. Perhaps the right method is to pass a `void *' >> or `int *' and convert it in each function, like you have to >> do for qsort(). >This is precisely the approach I took when doing this rationalization >in 1.x. I would have preferred to continue it (and fix the current >syscalls to match the old model), but other people wanted to do it the >new (broken) 4.4-Lite way, and I let them have their way. I'm now automatically generating prototypes from the data syscalls.master. I cast the initializers in init_sysent.c to hide the warnings. I had to add some new optional fields to handle non-orthogonal names arg struct tags such as `args' instead of getfoo_args for getfoo(), and non- int return types for exit() and umask(). I included the prototypes in . They'll have to be moved, because this increases the kernel build time by 10%! The arg struct declarations should be automatically generated too. syscalls.master will have to look more like vnode_if.src for that. I could generate a nicer visible interface, even one with args on the stack (it's not clear whether the overhead for copying the args again would be > 0). Bruce