summaryrefslogtreecommitdiff
path: root/sys/kern/init_main.c
AgeCommit message (Collapse)Author
2004-07-28This touches only MI code, and adds new time keeping code. TheThorsten Lockert
code is all conditionalized on __HAVE_TIMECOUNTER, and not enabled on any platforms. adjtime(2) support exists, courtesy of nordin@, sysctl(2) support and a concept of quality for each time source attached exists. High quality time sources exists for PIIX4 ACPI timer as well as some AMD power management chips. This will have to be redone once we actually add ACPI support (at that time we need to use the ACPI interfaces to get at these clocks). ok art@ ken@ miod@ jmc@ and many more
2004-07-20protect printf with a mutex instead of SIMPLELOCK.Artur Grabowski
2004-06-24This moves access to wall and uptime variables in MI code,Thorsten Lockert
encapsulating all such access into wall-defined functions that makes sure locking is done as needed. It also cleans up some uses of wall time vs. uptime some places, but there is sure to be more of these needed as well, particularily in MD code. Also, many current calls to microtime() should probably be changed to getmicrotime(), or to the {,get}microuptime() versions. ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others "Oh, that is not your problem!" from miod@
2004-06-13debranch SMP, have funNiklas Hallqvist
2004-06-09Merge in a piece of the SMP branch into HEAD.Artur Grabowski
Introduce the cpu_info structure, p_cpu field in struct proc and global scheduling context and various changed code to deal with this. At the moment no architecture uses this stuff yet, but it will allow us slow and controlled migration to the new APIs. All new code is ifdef:ed out. ok deraadt@ niklas@
2004-06-08pull ncpus support from smp tree into main branch.Marco S Hyman
remove alpha specific definition of ncpus. OK (and tested on alpha) deraadt@
2004-04-01init kqueues normally, from pedro martellettoTed Unangst
2004-03-14nicer printf for copyright. from Pedro MartellettoTed Unangst
2004-01-21call timeout_startup early, so timeouts are available. report from sam smithTed Unangst
ok art deraadt
2004-01-14Get rid of M_LOCKF and use pool for allocating lockf structures.Alexander Yurchenko
From NetBSD. Tested by many people, ok art@.
2004-01-012004Theo de Raadt
2003-11-03use arc4random_bytesTed Unangst
2003-09-01match syscallargs comments with realityHenning Brauer
from Patrick Latifi <patrick.l@hermes.usherb.ca> ok jason@ tedu@
2003-08-21emulation is now controlled by sysctl. changes:Ted Unangst
add e_flags to struct emul. this stores on/off and native flags. check for emul enabled in check_exec(). gather all the emuls into a emulsw so a sysctl can find them. create sysctl. move maxhdrsiz calcualation into init_main so it cleans up sys_execve codepath. teach sysctl utility to grok kern.emul hierarchy. requested and ok deraadt@ some comments from mickey@
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-05-13Add option NO_PROPOLICE, which explicitely disables the use of the propoliceMiod Vallat
stack protection when building kernels. Intended to be used on installation media, with tight space constraints - currently, only added where SMALL_KERNEL was already defined. Not thoroughly tested, but requested by deraadt.
2003-05-13support for propolice in the kernel.Ted Unangst
some style input itojun@ tdeval@ toby@ tested, mostly by deraadt, on i386, macppc, vax, sparc64 ok deraadt@ miod@
2003-05-09Don't map the fake arg list for init with X permissions.Artur Grabowski
niklas@ tdeval@ ok
2003-03-06move cpu_configre() lower after the proc0 is more completely initialized.Michael Shalayeff
still calculate the memory limits for proc0 at after the autoconf is done. miod@ testing on everything; art@ ok
2003-01-09Remove fetch(9) and store(9) functions from the kernel, and replace the fewMiod Vallat
remaining instances of them with appropriate copy(9) usage. ok art@, tested on all arches unless my memory is non-ECC
2003-01-012003 in copyrightPeter Valchev
2002-12-19simplify stack grownups (growndowns are not touched)Michael Shalayeff
2002-11-22Instead of statically allocating filedescs for proc0, use fdinit.Artur Grabowski
2002-11-22repair proc0 rlimit setup for >2GB machinesTheo de Raadt
2002-05-27if_attach() gets called before domaininit(). scan all interfaces for if_afdataJun-ichiro itojun Hagino
initialization after domaininit().
2002-03-14remove ambiguity in version,ostype,osversion,osrelease and their constanity, ↵Michael Shalayeff
they are and declarre 'em accordingly also removing private externies of those
2002-03-14First round of __P removal in sysTodd C. Miller
2002-01-30Add proc0 to the PIDHASH table. art@ okThomas Nordin
2002-01-16Don't include <sys/map.h> when you don't need what's in it.Miod Vallat
2002-01-012002Theo de Raadt
2001-12-19UBC was a disaster. It worked very good when it worked, but on someArtur Grabowski
machines or some configurations or in some phase of the moon (we actually don't know when or why) files disappeared. Since we've not been able to track down the problem in two weeks intense debugging and we need -current to be stable, back out everything to a state it had before UBC. We apologise for the inconvenience.
2001-12-04Yet another sync to NetBSD uvm.Artur Grabowski
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.
2001-11-28Sync in more uvm changes from NetBSD.Artur Grabowski
This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
2001-11-27change socket allocation to pool allocator; from netbsd; okay niklas@Niels Provos
2001-11-27Merge in the unified buffer cache code as found in NetBSD 2001/03/10. TheArtur Grabowski
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.
2001-11-10Merge in some parts of the ubc work that has been done in NetBSD that are notArtur Grabowski
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.
2001-11-07Add an alignment argument to uvm_map that specifies an alignment hintArtur Grabowski
for the virtual address.
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-11-06Let fork1, uvm_fork, and cpu_fork take a function/argument pair as argument,Artur Grabowski
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.
2001-11-06More sync to NetBSD.Artur Grabowski
- 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.
2001-10-11Count pages not buffers. This fixes deadlock condition which mainlyGrigoriy Orlov
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@.
2001-09-29Move signal initialization before dostartuphooks to avoid panic atGrigoriy Orlov
start of raid autoconfiguration thread. Required for upcoming RAIDFrame code update. From Thierry Deval <TDeval@PrimeOBJ.COM>
2001-09-17 The first implementation of the buffer flushing daemon. It solves ourGrigoriy Orlov
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.
2001-09-12Rename timeout_init to timeout_startup to deconfuse a bit.Artur Grabowski
2001-09-07make starting of init slightly cleaner. Also sets initproc earlier.Artur Grabowski
2001-08-23We can now move timeout_init into main().Artur Grabowski
2001-07-27Startup hooks. Can be used for providing root/swap devices from deviceNiklas Hallqvist
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!
2001-07-05Get rid of REAL_CLISTS. It was never implemented and the tentacles areArtur Grabowski
everywhhere.
2001-06-27no more cpu_set_init_frameArtur Grabowski
2001-06-27vm_pageout.h bye bye.Artur Grabowski