FreeBSD src
725db531b8
prototypes for all syscalls. The args structs are still declared in comments as in VOP implementation functions. I don't like the duplication for this, but several more layers of changes are required to get it right. First we need to catch up with 4.4lite2, which uses macros to handle struct padding. Then we need to catch up with NetBSD, which passes the args correctly (as void *). Then we need to handle varargs functions and struct padding better. I think all the details can be hidden in machine-generated functions so that the args structs and verbose macros to reference them don't have to appear in the core sources. Add prototypes. Add bogus casts to hide the evil type puns exposed by the previous steps. &uap[1] was used to get at the args after the first. This worked because only the first arg in *uap was declared. This broke when the machine- genenerated args struct declared all the args (actually it declares extra args in some cases and depends on the user stack having some accessible junk after the last arg, not to mention the user args being on the stack. It isn't possible to declare a correct args struct for a varargs syscall). The msgsys(), semsys() and shmsys() syscall interfaces are BAD because they multiplex several syscalls that have different types of args. There was no reason to duplicate this sysv braindamage but now we're stuck with it. NetBSD has reimplemented the syscalls properly as separate syscalls #220-231. Declare static functions as static in both their prototype and their implementation (the latter is optional, and this misfeature was used). Remove gratuitous #includes. Continue cleaning up new init stuff. |
||
---|---|---|
bin | ||
eBones | ||
etc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
lkm | ||
release | ||
sbin | ||
secure | ||
share | ||
sys | ||
tools | ||
usr.bin | ||
usr.sbin | ||
COPYRIGHT | ||
CVS-INFO | ||
HW.TROUBLE | ||
Makefile | ||
README | ||
TODO |
----------------------------------------- FreeBSD 2.0 --- ALPHA Release , , ----------------------------------------- /( )` \ \___ / | Welcome to the ALPHA release of FreeBSD 2.0 - the /- _ `-/ ' first public snapshot of our new 4.4BSD Lite based (/\/ \ \ /\ operating system environment. This install proce- / / | ` \ dure is also at the ALPHA stage, and contains only O O ) / | the minimum functionality required by an `-^--'`< ' *EXPERIENCED* person to install the system. (_.) _ ) / It is our hope, of course, that the feedback `.___/` / provided from this snapshot will `-----' / greatly assist us in making the release <----. __ / __ \ of 2.0 much more user friendly. Your <----|====O)))==) \) /==== comments and criticisms are very <----' `--' `.__,' \ valuable to us, so please don't hesitate | | in contacting us! Full details on where and \ / /\ how to provide feedback are given below. ______( (_ / \______/ ,' ,-----' | This install procedure is ALPHA code, and `--{__________) may very possibly *DESTROY* the contents of your ENTIRE DISK! Please do not proceed with this installation unless you've adequately backed up your data first! If any errors occur during this installation, you can see them by toggling over to the alternate screen - type ALT-F2 to switch over, ALT-F1 to switch back to the install screen. The debugging output on the second screen may be very valuable to us in understanding your bug report, so please be sure to take note of it when reporting any failures in the installation! Thanks! Menus and scrolling output windows may be traversed with the arrow and Page Up/Page Down keys. To suspend the installation at any point, hit ESC twice. Hitting TAB will move the focus to different controls. If you've ever dealt with a DOS installation, you'll know how to deal with this. For a more complete description of what's new in this release, please see the release notes. For more documentation on this system, it is recommended that you purchase the 4.4BSD Document Set from O'Reilly Associates and the USENIX Association. ISBN 1-56592-082-1 We have no connection with O'Reilly, we're just satisfied customers! Have fun, and please let us know of any problems you encounter with this release! Comments should be sent to: hackers@FreeBSD.org Bug reports should be sent using the `send-pr' utility, if you were able to get the system installed, otherwise to: bugs@FreeBSD.org And general questions to: questions@FreeBSD.org Please have patience if your questions are not answered right away - this is an especially busy time for us, and our volunteer resources are often strained to the limit (if not somewhat past!). Thanks! The FreeBSD Project