summaryrefslogtreecommitdiffstats
path: root/sys/kern/init_main.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Yet another sync to NetBSD uvm.art2001-12-041-2/+2
| | | | | | Today we add a pmap argument to pmap_update() and allocate map entries for kernel_map from kmem_map instead of using the static entries. This should get rid of MAX_KMAPENT panics. Also some uvm_loan problems are fixed.
* Sync in more uvm changes from NetBSD.art2001-11-281-3/+2
| | | | | This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
* change socket allocation to pool allocator; from netbsd; okay niklas@provos2001-11-271-1/+5
|
* Merge in the unified buffer cache code as found in NetBSD 2001/03/10. Theart2001-11-271-1/+3
| | | | | | | code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>. Tested for the past few weeks by many developers, should be in a pretty stable state, but will require optimizations and additional cleanups.
* Merge in some parts of the ubc work that has been done in NetBSD that are notart2001-11-101-2/+6
| | | | | | | | | | UBC, but prerequsites for it. - Create a daemon that processes async I/O (swap and paging in the future) requests that need processing in process context and that were processed in the pagedaemon before. - Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs. - misc other cleanups.
* Add an alignment argument to uvm_map that specifies an alignment hintart2001-11-071-2/+2
| | | | for the virtual address.
* Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.miod2001-11-061-3/+1
| | | | (Look ma, I might have broken the tree)
* Let fork1, uvm_fork, and cpu_fork take a function/argument pair as argument,art2001-11-061-4/+4
| | | | | | | | | | | instead of doing fork1, cpu_set_kpc. This lets us retire cpu_set_kpc and avoid a multiprocessor race. This commit breaks vax because it doesn't look like any other arch, someone working on vax might want to look at this and try to adapt the code to be more like the rest of the world. Idea and uvm parts from NetBSD.
* More sync to NetBSD.art2001-11-061-11/+2
| | | | | | - Use malloc/free instead of MALLOC/FREE for variable sized allocations. - Move the memory inheritance code to sys/mman.h and rename from VM_* to MAP_* - various cleanups and simplifications.
* Count pages not buffers. This fixes deadlock condition which mainlygluk2001-10-111-6/+6
| | | | | | | | | | | | | | | occurs on the fs with large block size. We can have situation where numcleanbufs < locleanbufs and numdirtybufs < hidirtybufs. So, buffer flushing daemon never wakeups and other processes asleep forever waiting for a clean buffers. We count pages only for the dirty buffers which are on freelist(BQ_DIRTY). niklas@ found this. Rename flasher to cleaner. Suggested by costa@. Discussed with niklas@, costa@, millert@, art@. Ok deraadt@.
* Move signal initialization before dostartuphooks to avoid panic atgluk2001-09-291-6/+6
| | | | | | | start of raid autoconfiguration thread. Required for upcoming RAIDFrame code update. From Thierry Deval <TDeval@PrimeOBJ.COM>
* The first implementation of the buffer flushing daemon. It solves ourgluk2001-09-171-7/+17
| | | | | | | | | | | | | | | | | | | | problem when syncer can't do its work because of vnode locks (PR1983). This also solves our problem where bigger number of buffers results in a much worse perfomance. In my configuration (i386, 128mb, BUFCACHEPERCENT=35) this speedup tar -xzf ports.tar.gz in 2-4 times. In configuration with low number of buffers and softupdates this may slowdown some operations up to 15%. The major difference with current buffer cache is that new implementation uses separate queues for dirty and clean buffers. I.e. BQ_LRU and BQ_AGE replaced by BQ_CLEAN and BQ_DIRTY. This simplifies things a lot and doesn't affect perfomance in a bad manner. Thanks to art and costa for pointing on errors. Tested by brad, millert, naddy, art, jj, camield art, millert ok.
* Rename timeout_init to timeout_startup to deconfuse a bit.art2001-09-121-2/+2
|
* make starting of init slightly cleaner. Also sets initproc earlier.art2001-09-071-4/+3
|
* We can now move timeout_init into main().art2001-08-231-1/+6
|
* Startup hooks. Can be used for providing root/swap devices from deviceniklas2001-07-271-1/+3
| | | | | | systems which want configuration to finish late, like I2O. Implemented via a general hooks mechanism which the shutdown hooks have been converted to use as well. It even has manpages!
* Get rid of REAL_CLISTS. It was never implemented and the tentacles areart2001-07-051-9/+1
| | | | everywhhere.
* no more cpu_set_init_frameart2001-06-271-27/+1
|
* vm_pageout.h bye bye.art2001-06-271-2/+1
|
* remove old vmart2001-06-271-45/+1
|
* merge crypto/crypto{dev,}.h to crypto/cryptodev.h, to avoid name conflicts inside OpenSSL codebasederaadt2001-06-231-2/+2
|
* Add pipe_init, call it from main, move the pool initialization into it.art2001-06-231-1/+7
|
* KNFderaadt2001-06-221-10/+9
|
* convert mbuf and cluster allocation to pool, mostly from NetBSDprovos2001-05-171-4/+8
| | | | okay art@ miod@
* Use pool to allocate struct filedesc0 and struct file.art2001-05-161-1/+6
|
* Rename configure() to cpu_configure().art2001-05-051-1/+2
| | | | Move it from cpu_startup() to main().
* Get rid of vm_pmap from struct vmspace.art2001-04-061-3/+2
|
* On popular demand, the Linux-compatibility clone(2) implementation basedniklas2001-04-021-5/+7
| | | | | on NetBSD's code, as well as some faked Posix RT extensions by me. This makes at least simple linuxthreads tests work.
* Use CIRCLEQ macros for mountlist.art2001-03-161-2/+2
|
* Use a lockmgr lock for keeping down the vslocked memory in sysctlart2001-03-161-1/+4
| | | | instead of a home-brew equivalent.
* only attach pseudo-device if it's counter is above zero; deraadt@, maja@ okmickey2001-02-051-2/+3
|
* 2001aaron2001-01-011-2/+2
|
* If MD code has defined curproc, don't do it here.art2000-11-081-2/+6
| | | | This is not a perfect solution.
* Process ID 5 is now the crypto kernel thread.angelos2000-06-181-1/+18
|
* take MIN/MAX from param.h, okay theo@provos2000-06-161-5/+1
|
* Changes to exit handling.art2000-06-051-2/+15
| | | | | | | | cpu_exit no longer frees the vmspace and u-area. This is now handled by a separate kernel thread "reaper". This is to avoid sleeping locks in the critical path of cpu_exit where we're not allowed to sleep. From NetBSD
* Don't reinitialize the tsleep and ITIMER_REAL timers all the time.art2000-03-231-1/+7
| | | | The function and the argument never change.
* Adapt roundrobin and schedcpu to the new timeout API.art2000-03-231-6/+4
|
* some more machine_stack_grows_upmickey2000-03-221-4/+20
|
* bring proto into scopederaadt2000-03-201-1/+2
|
* Cryptographic services framework, and software "device driver". Theangelos2000-03-171-1/+9
| | | | | | | | | | | | | | | | | | | | idea is to support various cryptographic hardware accelerators (which may be (detachable) cards, secondary/tertiary/etc processors, software crypto, etc). Supports session migration between crypto devices. What it doesn't (yet) support: - multiple instances of the same algorithm used in the same session - use of multiple crypto drivers in the same session - asymmetric crypto No support for a userland device yet. IPsec code path modified to allow for asynchronous cryptography (callbacks used in both input and output processing). Some unrelated code simplification done in the process (especially for AH). Development of this code kindly supported by Network Security Technologies (NSTI). The code was writen mostly in Greece, and is being committed from Montreal.
* Optimized fdalloc as in Banga and Mogul paper:provos2000-02-281-1/+3
| | | | http://www.usenix.org/publications/library/proceedings/usenix98/banga.html
* re-add fixed vfork code from artderaadt2000-01-311-2/+2
|
* undo vfork changes, since non-UVM was not consideredderaadt2000-01-311-2/+2
|
* Change fork1() from taking forktype and rforkflags, into a single flagsart2000-01-281-2/+2
| | | | | argument. Let sys_rfork build the arguments to fork1() and do the sanity checks itself.
* 2000deraadt2000-01-011-2/+2
|
* more stack direction fixes; art@ okmickey1999-11-051-1/+9
|
* Fix rootdev handling, use disk checksums to find the device we were bootedweingart1999-09-121-11/+5
| | | | | from. Hopefully this will fix all the hangs/panics where the root device was not found.
* New cpu_fork API to take a stack in which you point the child's stackpointerniklas1999-08-171-2/+2
| | | | | | to, at the bottom or the top, depending on your architecture's stack growth direction. This is in preparation for Linux' clone(2) emulation. port maintainers, please check that I did the work right.
* vm_offset_t -> {v,p}addr_t ; vm_size_t -> {v,p}size_tart1999-07-151-3/+3
|