summaryrefslogtreecommitdiffstats
path: root/sys/kern/init_sysent.c
Commit message (Collapse)AuthorAgeFilesLines
* Regenerated.bde1999-05-131-1/+1
|
* This Implements the mumbled about "Jail" feature.phk1999-04-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
* Regenerate (padding for pread and pwrite).dt1999-04-041-3/+3
|
* Added pread and pwrite. These functions are defined by the X/Openalc1999-03-271-2/+2
| | | | | | Threads Extension. (Note: We use the same syscall numbers as NetBSD.) Submitted by: John Plevyak <jplevyak@inktomi.com>
* regenerate (+kldsym)peter1998-11-111-1/+2
|
* Implemented zero-copy TCP/IP extensions via sendfile(2) - send adg1998-11-051-0/+1
| | | | | | | | | | | file to a stream socket. sendfile(2) is similar to implementations in HP-UX, Linux, and other systems, but the API is more extensive and addresses many of the complaints that the Apache Group and others have had with those other implementations. Thanks to Marc Slemko of the Apache Group for helping me work out the best API for this. Anyway, this has the "net" result of speeding up sends of files over TCP/IP sockets by about 10X (that is to say, uses 1/10th of the CPU cycles) when compared to a traditional read/write loop.
* Regnerate.dfr1998-08-241-1/+1
|
* Updated generated files.bde1998-06-081-1/+1
|
* regen after signanosleep nukepeter1998-05-141-2/+2
|
* Fix the futimes/undelete/utrace conflict with other BSD's. Note thatdyson1998-05-111-11/+12
| | | | | | | the only common usage of utrace (the possible problem with this commit) is with malloc, so this should be a real problem. Add the various NetBSD syscalls that allow full emulation of their development environment.
* Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B anddufault1998-03-281-0/+8
| | | | | | | | | | | | | | | | _KPOSIX_PRIORITY_SCHEDULING options to work. Changes: Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones; Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux; Add man pages for _POSIX_PRIORITY_SCHEDULING system calls; Add options to LINT; Minor fixes to P1003_1B code during testing.
* Updated generated files.bde1998-02-031-1/+1
|
* Retire LFS.phk1998-01-301-12/+5
| | | | | | | | | | | | If you want to play with it, you can find the final version of the code in the repository the tag LFS_RETIREMENT. If somebody makes LFS work again, adding it back is certainly desireable, but as it is now nobody seems to care much about it, and it has suffered considerable bitrot since its somewhat haphazard integration. R.I.P
* Regenerate after changing makesyscalls.sh.eivind1997-12-161-1/+2
|
* Make COMPAT_43 and COMPAT_SUNOS new-style options.eivind1997-12-161-0/+1
|
* Remade syscalls.master derived files.phk1997-10-261-11/+3
|
* Regenerate _after_ the commit to syscalls.masterpeter1997-09-151-1/+1
|
* Add a __getcwd() syscall. This is intentionally undocumented, but allphk1997-09-141-0/+1
| | | | | | it does is to try to figure the pwd out from the vfs namecache, and return a reversed string to it. libc:getcwd() is responsible for flipping it back.
* Regenerate (added poll etc)peter1997-09-141-3/+3
|
* Regeneratepeter1997-08-191-3/+3
|
* Updated generated files (makesyscalls.sh changed). Only sysproto.hbde1997-06-291-1/+1
| | | | really changed.
* Modifications to existing files to support the initial AIO/LIO anddyson1997-06-161-0/+12
| | | | kernel based threading support.
* Regeneratepeter1997-06-011-1/+2
|
* regeneratepeter1997-05-081-13/+16
|
* This is the kernel linker. To use it, you will first need to applydfr1997-05-071-0/+55
| | | | | | | the patches in freefall:/home/dfr/ld.diffs to your ld sources and set BINFORMAT to aoutkld when linking the kernel. Library changes and userland utilities will appear in a later commit.
* Regenerate (added issetugid)peter1997-03-311-2/+2
|
* Regeneratepeter1997-03-311-1/+4
|
* Regenerate to include correct Id stringpeter1997-02-221-1/+1
|
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-101-1/+1
| | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
* Updated generated files.bde1997-01-161-3/+1
|
* Add the utrace(caddr_t addr,size_t len) syscall, that will store thephk1996-09-191-1/+1
| | | | | | | | data pointed at in a ktrace file, if this process is being ktrace'ed. I'm using this to profile malloc usage. The advantage is that there is no context around this call, ie, no open file or socket, so it will work in any process, and you can decide if you want it to collect data or not.
* Reran makesyscalls.sh after changing select()'s first argument to 'int'.smpatel1996-08-201-1/+1
|
* Mega-commit for Linux emulator update.. This has been stress tested underpeter1996-03-021-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | netscape-2.0 for Linux running all the Java stuff. The scrollbars are now working, at least on my machine. (whew! :-) I'm uncomfortable with the size of this commit, but it's too inter-dependant to easily seperate out. The main changes: COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386 machine dependent section into the linux emulator itself. The int 0x80 syscall code was almost identical to the lcall 7,0 code and a minor tweak allows them to both be used with the same C code. All kernels can now just modload the lkm and it'll DTRT without having to rebuild the kernel first. Like IBCS2, you can statically compile it in with "options LINUX". A pile of new syscalls implemented, including getdents(), llseek(), readv(), writev(), msync(), personality(). The Linux-ELF libraries want to use some of these. linux_select() now obeys Linux semantics, ie: returns the time remaining of the timeout value rather than leaving it the original value. Quite a few bugs removed, including incorrect arguments being used in syscalls.. eg: mixups between passing the sigset as an int, vs passing it as a pointer and doing a copyin(), missing return values, unhandled cases, SIOC* ioctls, etc. The build for the code has changed. i386/conf/files now knows how to build linux_genassym and generate linux_assym.h on the fly. Supporting changes elsewhere in the kernel: The user-mode signal trampoline has moved from the U area to immediately below the top of the stack (below PS_STRINGS). This allows the different binary emulations to have their own signal trampoline code (which gets rid of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so that the emulator can provide the exact "struct sigcontext *" argument to the program's signal handlers. The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which have the same values as the re-used SA_DISABLE and SA_ONSTACK which are intended for sigaction only. This enables the support of a SA_RESETHAND flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal semantics where the signal handler is reset when it's triggered. makesyscalls.sh no longer appends the struct sysentvec on the end of the generated init_sysent.c code. It's a lot saner to have it in a seperate file rather than trying to update the structure inside the awk script. :-) At exec time, the dozen bytes or so of signal trampoline code are copied to the top of the user's stack, rather than obtaining the trampoline code the old way by getting a clone of the parent's user area. This allows Linux and native binaries to freely exec each other without getting trampolines mixed up.
* reran makesyscalls.sh after "int len" -> "size_t len" changes.peter1996-03-021-1/+1
|
* Run makesyscalls to regen the tables.peter1996-02-231-8/+28
|
* Removed stale #includes of "opt_sysvipc.h".bde1996-01-201-1/+0
|
* Add an option NFS_NOSERVER which saves 100K in the install kernel (orphk1996-01-131-1/+1
| | | | any other kernel that uses it). Use with option NFS.
* (gulp!) reran makesyscalls..peter1996-01-081-34/+1
| | | | | | | sysv_ipc.c: add stub functions that either simply return (for the hooks in kern_fork/kern_exit) or log() a messgae and call enosys() (for the syscalls). sysv_ipc.c will become "standard" in conf/files and has #ifs for all the permutations.
* Convert SYSV IPC to new-style options. (I hope I got everything...)wollman1996-01-041-1/+2
| | | | The LKMs will need an extra file, to come later.
* Converted two options over to the new scheme: USER_LDT and KTRACE.wollman1996-01-031-4/+0
|
* Regenerated from syscalls.master...peter1995-12-151-1/+34
|
* Updated machine-generated files.bde1995-11-121-1/+1
|
* Remake generated files to reflect makesyscalls.sh changesswallace1995-10-071-23/+21
|
* Update machine-generated files.bde1995-09-191-431/+204
|
* Make setreuid/setregid active syscallsache1995-04-231-5/+5
|
* Added a third "flags" argument to msync() ...as other systems have.dg1995-03-251-1/+1
|
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-161-2/+1
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* Removed obsolete vtrace() remnants.dg1995-03-041-11/+0
|
* First attempt to run linux binaries. This is only the changes needed tosos1995-02-141-1/+2
| | | | | | the generic kernel. The actual emulator is a separate LKM. (not finished yet, sorry). Submitted by: sos@freebsd.org & sef@kithrup.com
* Actually enable NTP kernel PLL. (Oops!)wollman1994-12-141-1/+2
| | | | Noticed by Pete Carah.
OpenPOWER on IntegriCloud