Up to [local] / src / sys / kern
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.326 / (download) - annotate - [select for diffs], Tue Apr 2 08:39:16 2024 UTC (2 months, 1 week ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.325: +2 -2 lines
Diff to previous 1.325 (colored)
Delete the msyscall mechanism entirely, since mimmutable+pinsyscalls has replaced it with a more strict mechanism, which happens to be lockless O(1) rather than micro-lock O(1)+O(log N). Also nop-out the sys_msyscall(2) guts, but leave the syscall around for a bit longer so that people can build through it, since ld.so(1) still wants to call it.
Revision 1.325 / (download) - annotate - [select for diffs], Wed Feb 14 06:17:51 2024 UTC (3 months, 3 weeks ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5
Changes since 1.324: +2 -2 lines
Diff to previous 1.324 (colored)
Enable the pool gc thread on m88k MULTIPROCESSOR kernels now that pmap_unmap_direct() has been fixed; also tested by aoyama@
Revision 1.324 / (download) - annotate - [select for diffs], Mon Jan 1 07:00:18 2024 UTC (5 months, 1 week ago) by jsg
Branch: MAIN
Changes since 1.323: +2 -2 lines
Diff to previous 1.323 (colored)
copyright++;
Revision 1.323 / (download) - annotate - [select for diffs], Mon Dec 11 22:12:53 2023 UTC (5 months, 4 weeks ago) by kettenis
Branch: MAIN
Changes since 1.322: +2 -1 lines
Diff to previous 1.322 (colored)
Implement per-CPU caching for the page table page (vp) pool and the PTE descriptor (pted) pool in the arm64 pmap implementation. This significantly reduces the side-effects of lock contention on the kernel map lock that is (incorrectly) translated into excessive page daemon wakeups. This is not a perfect solution but it does lead to significant speedups on machines with many CPU cores. This requires adding a new pmap_init_percpu() function that gets called at the point where kernel is ready to set up the per-CPU pool caches. Dummy implementations of this function are added for all non-arm64 architectures. Some other architectures can probably benefit from providing an actual implementation that sets up per-CPU caches for pmap pools as well. ok phessler@, claudio@, miod@, patrick@
Revision 1.322 / (download) - annotate - [select for diffs], Tue Aug 29 16:19:34 2023 UTC (9 months, 1 week ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE,
OPENBSD_7_4
Changes since 1.321: +3 -7 lines
Diff to previous 1.321 (colored)
Remove p_rtime from struct proc and replace it by passing the timespec as argument to the tuagg_locked function. - Remove incorrect use of p_rtime in other parts of the tree. p_rtime was almost always 0 so including it in any sum did not alter the result. - In main() the update of time can be further simplified since at that time only the primary cpu is running. - Add missing nanouptime() call in cpu_hatch() for hppa - Rename tuagg_unlocked to tuagg_locked like it is done in the rest of the tree. OK cheloha@ dlg@
Revision 1.321 / (download) - annotate - [select for diffs], Thu Jun 15 22:18:06 2023 UTC (11 months, 3 weeks ago) by cheloha
Branch: MAIN
Changes since 1.320: +3 -1 lines
Diff to previous 1.320 (colored)
all platforms, main(): call clockqueue_init() just before sched_init_cpu() Move the clockqueue_init() call out of clockintr_cpu_init() and up just before the sched_init_cpu() call for a given CPU. This will allow sched_init_cpu() to allocate clockintr handles for a given CPU's scheduler in a later patch. Link: https://marc.info/?l=openbsd-tech&m=168661507607622&w=2 ok kettenis@, claudio@
Revision 1.320 / (download) - annotate - [select for diffs], Sun Jan 1 07:00:51 2023 UTC (17 months, 1 week ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE,
OPENBSD_7_3
Changes since 1.319: +2 -2 lines
Diff to previous 1.319 (colored)
copyright++;
Revision 1.319 / (download) - annotate - [select for diffs], Thu Nov 10 07:05:41 2022 UTC (19 months ago) by jmatthew
Branch: MAIN
Changes since 1.318: +3 -1 lines
Diff to previous 1.318 (colored)
Add support for per-cpu event counters, to be used for clock and IPI counters where the event being counted occurs across all CPUs in the system. Counter instances can be made per-cpu by calling evcount_percpu() after the counter is attached, and this can occur before or after all system CPUs are attached. Per-cpu counter instances should be incremented using evcount_inc(). ok kettenis@ jca@ cheloha@
Revision 1.318 / (download) - annotate - [select for diffs], Sun Oct 30 17:43:40 2022 UTC (19 months, 1 week ago) by guenther
Branch: MAIN
Changes since 1.317: +2 -2 lines
Diff to previous 1.317 (colored)
Simplfity setregs() by passing it the ps_strings and switching sys_execve() to return EJUSTRETURN. setregs() is the MD routine used by sys_execve() to set up the thread's trapframe and PCB such that, on 'return' to userspace, it has the register values defined by the ABI and otherwise zero. It had to set the syscall retval[] values previously because the normal syscall return path overwrites a couple registers with the retval[] values. By instead returning EJUSTRETURN that and some complexity with program-counter handling on m88k and sparc64 goes away. Also, give setregs() add a 'struct ps_strings *arginfo' argument so powerpc, powerpc64, and sh can directly get argc/argv/envp values for registers instead of copyin()ing the one in userspace. Improvements from miod@ and millert@ Testing assistance miod@, kettenis@, and aoyama@ ok miod@ kettenis@
Revision 1.317 / (download) - annotate - [select for diffs], Sun Aug 14 01:58:27 2022 UTC (21 months, 4 weeks ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE,
OPENBSD_7_2
Changes since 1.316: +1 -11 lines
Diff to previous 1.316 (colored)
remove unneeded includes in sys/kern ok mpi@ miod@
Revision 1.316 / (download) - annotate - [select for diffs], Sat Jul 23 22:10:58 2022 UTC (22 months, 2 weeks ago) by cheloha
Branch: MAIN
Changes since 1.315: +1 -3 lines
Diff to previous 1.315 (colored)
kernel: remove global "randompid" toggle Apparently, we used to created several kthreads before the kernel random number generator was up and running. A toggle, "randompid", was needed to tell allocpid() whether it made sense to attempt to allocate random PIDs. However, these days we get e.g. arc4random(9) into a working state before any kthreads are spawned, so the toggle is no longer needed. Thread: https://marc.info/?l=openbsd-tech&m=165541052614453&w=2 Very nice historical context provided by miod@. probably ok miod@ deraadt@
Revision 1.315 / (download) - annotate - [select for diffs], Tue Feb 22 01:15:01 2022 UTC (2 years, 3 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.314: +1 -2 lines
Diff to previous 1.314 (colored)
Delete unnecessary #includes of <sys/domain.h> and/or <sys/protosw.h> net/if_pppx.c pointed out by jsg@ ok gnezdo@ deraadt@ jsg@ mpi@ millert@
Revision 1.314 / (download) - annotate - [select for diffs], Sat Jan 1 07:00:57 2022 UTC (2 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.313: +2 -2 lines
Diff to previous 1.313 (colored)
copyright++;
Revision 1.313 / (download) - annotate - [select for diffs], Thu Dec 9 00:26:10 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.312: +2 -9 lines
Diff to previous 1.312 (colored)
We only have one syscall table: inline sysent/SYS_MAXSYSCALL and SYS_syscall as the nosys() function into the MD syscall entry routines and the SYSCALL_DEBUG support. Adjust alpha's syscall check to match the other archs. Also, make sysent const to get it into .rodata. With that, 'struct emul' is unused: delete it and all its references ok millert@
Revision 1.312 / (download) - annotate - [select for diffs], Tue Dec 7 22:17:02 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.311: +1 -15 lines
Diff to previous 1.311 (colored)
Delete the last emulation callbacks: we're Just ELF, so declare exec_elf_fixup() and coredump_elf() in <sys/exec_elf.h> and call them and the MD setregs() directly in kern_exec.c and kern_sig.c Also delete e_name[] (only used by sysctl), e_errno (unused), and e_syscallnames[] (only used by SYSCALL_DEBUG) and constipate syscallnames to 'const char *const[]' ok kettenis@
Revision 1.311 / (download) - annotate - [select for diffs], Tue Dec 7 17:51:04 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.310: +1 -5 lines
Diff to previous 1.310 (colored)
Continue to delete emulation support: we only have one sigcode and sigobject. Just use the existing globals for the former and use a global for the latter. ok jsg@ kettenis@
Revision 1.310 / (download) - annotate - [select for diffs], Tue Dec 7 04:19:24 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.309: +1 -2 lines
Diff to previous 1.309 (colored)
Continue to delete emulation support: since we're Just ELF, the size of the auxinfo is fixed: provide ELF_AUX_WORDS in <sys/exec_elf.h> as a replacement for emul->e_arglen ok millert@
Revision 1.309 / (download) - annotate - [select for diffs], Mon Dec 6 21:21:10 2021 UTC (2 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.308: +1 -2 lines
Diff to previous 1.308 (colored)
Start to delete emulation support: since we're Just ELF, make copyargs() return 0/1 and merge elf_copyargs() into it. Rename ep_emul_arg and ep_emul_argp to have clearer meaning and type and eliminate ep_emul_argsize as no longer necessary. Make sure ep_auxinfo (nee ep_emul_argp) is initialized as powerpc64 always uses it in setregs(). ok semarie@ deraadt@ kettenis@
Revision 1.308 / (download) - annotate - [select for diffs], Wed Jun 30 12:21:02 2021 UTC (2 years, 11 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE,
OPENBSD_7_0
Changes since 1.307: +1 -2 lines
Diff to previous 1.307 (colored)
Remove unused variable cryptodesc_pool. Document global variables in crypto.c and annotate locking protection. Assert kernel lock where needed. Remove dead code from crypto_get_driverid(). Move crypto_init() prototype into header file. OK mpi@
Revision 1.307 / (download) - annotate - [select for diffs], Wed Jun 2 13:56:28 2021 UTC (3 years ago) by visa
Branch: MAIN
Changes since 1.306: +5 -3 lines
Diff to previous 1.306 (colored)
Enable pool cache on knote pool Use the pool cache to reduce the overhead of memory management in function kqueue_register(). When EV_ADD is given, kqueue_register() pre-allocates a knote to avoid potential sleeping in the middle of the critical section that spans from knote lookup to insertion. However, the pre-allocation is useless if the lookup finds a matching knote. The cost of knote allocation will become significant with kqueue-based poll(2) and select(2) because the frequency of allocation will increase. Most of the cost appears to come from the locking inside the pool. The pool cache amortizes it by using CPU-local caches of free knotes as buffers. OK dlg@ mpi@
Revision 1.306 / (download) - annotate - [select for diffs], Mon Feb 8 10:51:01 2021 UTC (3 years, 4 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE,
OPENBSD_6_9
Changes since 1.305: +2 -2 lines
Diff to previous 1.305 (colored)
Revert the convertion of per-process thread into a SMR_TAILQ. We did not reach a consensus about using SMR to unlock single_thread_set() so there's no point in keeping this change.
Revision 1.305 / (download) - annotate - [select for diffs], Mon Jan 11 18:49:38 2021 UTC (3 years, 4 months ago) by mpi
Branch: MAIN
Changes since 1.304: +2 -1 lines
Diff to previous 1.304 (colored)
New rw_obj_init() API providing reference-counted rwlock. Original port from NetBSD by guenther@, required for upcoming amap & anon locking. ok kettenis@
Revision 1.304 / (download) - annotate - [select for diffs], Fri Jan 1 07:00:33 2021 UTC (3 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.303: +2 -2 lines
Diff to previous 1.303 (colored)
copyright++;
Revision 1.303 / (download) - annotate - [select for diffs], Mon Dec 28 14:01:23 2020 UTC (3 years, 5 months ago) by mpi
Branch: MAIN
Changes since 1.302: +2 -1 lines
Diff to previous 1.302 (colored)
Use per-CPU counters for fault and stats counters reached in uvm_fault(). ok kettenis@, dlg@
Revision 1.302 / (download) - annotate - [select for diffs], Mon Dec 7 16:55:28 2020 UTC (3 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.301: +2 -2 lines
Diff to previous 1.301 (colored)
Convert the per-process thread list into a SMR_TAILQ. Currently all iterations are done under KERNEL_LOCK() and therefor use the *_LOCKED() variant. From and ok claudio@
Revision 1.301 / (download) - annotate - [select for diffs], Sun Sep 13 09:42:31 2020 UTC (3 years, 8 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE,
OPENBSD_6_8
Changes since 1.300: +2 -2 lines
Diff to previous 1.300 (colored)
Initialize sigacts0 before making them visible by setting ps->ps_sigacts. OK mpi@
Revision 1.300 / (download) - annotate - [select for diffs], Tue Jun 16 05:09:29 2020 UTC (3 years, 11 months ago) by dlg
Branch: MAIN
Changes since 1.299: +10 -1 lines
Diff to previous 1.299 (colored)
wire stoeplitz code into the tree.
Revision 1.299 / (download) - annotate - [select for diffs], Fri May 29 04:42:25 2020 UTC (4 years ago) by deraadt
Branch: MAIN
Changes since 1.298: +1 -3 lines
Diff to previous 1.298 (colored)
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
Revision 1.298 / (download) - annotate - [select for diffs], Mon May 25 15:24:30 2020 UTC (4 years ago) by deraadt
Branch: MAIN
Changes since 1.297: +2 -2 lines
Diff to previous 1.297 (colored)
Pass bootblock indicator RB_GOODRANDOM to random_start(). Future work will frantically compensate. ok kettenis
Revision 1.297 / (download) - annotate - [select for diffs], Fri Mar 13 09:25:21 2020 UTC (4 years, 2 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE,
OPENBSD_6_7
Changes since 1.296: +2 -2 lines
Diff to previous 1.296 (colored)
Rename "sigacts" flag field to avoid conflict with the "process" one. This shows that atomic_* operations should not be necessery to write to this field unlike with the process one. The advantage of using a somewhat-unique prefix for struct member is moot when multiple definitions use the same prefix :o) From Amit Kulkarni, ok claudio@
Revision 1.296 / (download) - annotate - [select for diffs], Tue Feb 25 16:55:33 2020 UTC (4 years, 3 months ago) by visa
Branch: MAIN
Changes since 1.295: +4 -1 lines
Diff to previous 1.295 (colored)
Start the SMR thread when all CPUs are ready for scheduling. This prevents the appearance of a "smr: dispatch took N seconds" message during boot when there is an early smr_call(). Such a call can happen with mfii(4). The initial dispatch cannot make progress until smr_grace_wait() can visit all CPUs. This fix is essentially a hack. It makes use of the fact that there is no hard guarantee on how quickly the callback of smr_call() gets invoked. It is assumed that the SMR call backlog does not grow large during boot. An alternative fix is to make smr_grace_wait() skip secondary CPUs until they have been started. However, this could break if the spinup logic of secondary CPUs was changed. Delayed SMR dispatch reported and fix tested by Hrvoje Popovski Discussed with and OK kettenis@, claudio@
Revision 1.295 / (download) - annotate - [select for diffs], Wed Jan 1 07:06:35 2020 UTC (4 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.294: +2 -2 lines
Diff to previous 1.294 (colored)
copyright++;
Revision 1.294 / (download) - annotate - [select for diffs], Mon Dec 30 15:48:12 2019 UTC (4 years, 5 months ago) by mpi
Branch: MAIN
Changes since 1.293: +4 -4 lines
Diff to previous 1.293 (colored)
Convert infinite sleeps to {m,t}sleep_nsec(9). ok bluhm@
Revision 1.293 / (download) - annotate - [select for diffs], Fri Nov 29 06:34:45 2019 UTC (4 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.292: +3 -2 lines
Diff to previous 1.292 (colored)
Repurpose the "syscalls must be on a writeable page" mechanism to enforce a new policy: system calls must be in pre-registered regions. We have discussed more strict checks than this, but none satisfy the cost/benefit based upon our understanding of attack methods, anyways let's see what the next iteration looks like. This is intended to harden (translation: attackers must put extra effort into attacking) against a mixture of W^X failures and JIT bugs which allow syscall misinterpretation, especially in environments with polymorphic-instruction/variable-sized instructions. It fits in a bit with libc/libcrypto/ld.so random relink on boot and no-restart-at-crash behaviour, particularily for remote problems. Less effective once on-host since someone the libraries can be read. For static-executables the kernel registers the main program's PIE-mapped exec section valid, as well as the randomly-placed sigtramp page. For dynamic executables ELF ld.so's exec segment is also labelled valid; ld.so then has enough information to register libc's exec section as valid via call-once msyscall(2) For dynamic binaries, we continue to to permit the main program exec segment because "go" (and potentially a few other applications) have embedded system calls in the main program. Hopefully at least go gets fixed soon. We declare the concept of embedded syscalls a bad idea for numerous reasons, as we notice the ecosystem has many of static-syscall-in-base-binary which are dynamically linked against libraries which in turn use libc, which contains another set of syscall stubs. We've been concerned about adding even one additional syscall entry point... but go's approach tends to double the entry-point attack surface. This was started at a nano-hackathon in Bob Beck's basement 2 weeks ago during a long discussion with mortimer trying to hide from the SSL scream-conversations, and finished in more comfortable circumstances next to a wood-stove at Elk Lakes cabin with UVM scream-conversations. ok guenther kettenis mortimer, lots of feedback from others conversations about go with jsing tb sthen
Revision 1.292 / (download) - annotate - [select for diffs], Mon Nov 4 17:51:22 2019 UTC (4 years, 7 months ago) by anton
Branch: MAIN
Changes since 1.291: +1 -7 lines
Diff to previous 1.291 (colored)
Regularly poll and report kubsan findings using the timeout(9) API instead of task(9). Undefined behavior can potentially be present in any context and calling task_add() isn't always safe. ok visa@
Revision 1.291 / (download) - annotate - [select for diffs], Tue Oct 22 21:19:22 2019 UTC (4 years, 7 months ago) by cheloha
Branch: MAIN
Changes since 1.290: +2 -2 lines
Diff to previous 1.290 (colored)
struct proc: change ps_start from utc time to uptime Allows us to determine how long a process has been running, even if the UTC clock jumps. With help from bluhm@ and millert@, who squashed several bugs. ok bluhm@ millert@
Revision 1.290 / (download) - annotate - [select for diffs], Fri Jun 21 09:39:48 2019 UTC (4 years, 11 months ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.289: +2 -2 lines
Diff to previous 1.289 (colored)
Make resource limit access MP-safe. So far, the copy-on-write sharing of resource limit structs has been done between processes. By applying copy-on-write also between threads, threads can read rlimits in a nearly lock-free manner. Inspired by code in DragonFly BSD and FreeBSD. OK mpi@, agreement from jmatthew@ and anton@
Revision 1.289 / (download) - annotate - [select for diffs], Thu Jun 20 14:55:22 2019 UTC (4 years, 11 months ago) by anton
Branch: MAIN
Changes since 1.288: +16 -1 lines
Diff to previous 1.288 (colored)
Undefined behavior (UB) can potentially be present anywhere in the kernel. kubsan reports findings using printf() and assuming that calling printf() is safe in all contexts can be problematic. Instead, defer reporting of findings to the systq task queue. Storage for findings is allocated early in the boot process in order to catch potential UB during boot. The same findings are reported once the task queue subsystem has been initialized. Feedback from kettenis@ and ok mpi@
Revision 1.288 / (download) - annotate - [select for diffs], Sun Jun 2 03:58:28 2019 UTC (5 years ago) by visa
Branch: MAIN
Changes since 1.287: +2 -15 lines
Diff to previous 1.287 (colored)
Move initialization of limit0 into a dedicated function. This new function is also a proper place for setting up the plimit pool. While here, raise the IPL of the plimit pool to IPL_MPFLOOR, needed in upcoming MP work. OK claudio@
Revision 1.287 / (download) - annotate - [select for diffs], Sat Jun 1 14:11:17 2019 UTC (5 years ago) by mpi
Branch: MAIN
Changes since 1.286: +1 -3 lines
Diff to previous 1.286 (colored)
Revert to using the SCHED_LOCK() to protect time accounting. It currently creates a lock ordering problem because SCHED_LOCK() is taken by hardclock(). That means the "priorities" of a thread should be moved out of the SCHED_LOCK() first in order to make progress. Reported-by: syzbot+8e4863b3dde88eb706dc@syzkaller.appspotmail.com via anton@ as well as by kettenis@
Revision 1.286 / (download) - annotate - [select for diffs], Fri May 31 19:51:09 2019 UTC (5 years ago) by mpi
Branch: MAIN
Changes since 1.285: +3 -1 lines
Diff to previous 1.285 (colored)
Use a per-process mutex to protect time accounting instead of SCHED_LOCK(). Note that hardclock(9) still increments p_{u,s,i}ticks without holding a lock. ok visa@, cheloha@
Revision 1.285 / (download) - annotate - [select for diffs], Fri May 31 04:46:18 2019 UTC (5 years ago) by visa
Branch: MAIN
Changes since 1.284: +2 -2 lines
Diff to previous 1.284 (colored)
Rename struct plimit field p_refcnt to pl_refcnt to avoid confusion with the fields of struct proc. Make pl_refcnt unsigned for upcoming atomic updating. OK deraadt@ guenther@
Revision 1.284 / (download) - annotate - [select for diffs], Tue Feb 26 14:24:21 2019 UTC (5 years, 3 months ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.283: +5 -1 lines
Diff to previous 1.283 (colored)
Introduce safe memory reclamation, a mechanism for reclaiming shared objects that readers can access without locking. This provides a basis for read-copy-update operations. Readers access SMR-protected shared objects inside SMR read-side critical section where sleeping is not allowed. To reclaim an SMR-protected object, the writer has to ensure mutual exclusion of other writers, remove the object's shared reference and wait until read-side references cannot exist any longer. As an alternative to waiting, the writer can schedule a callback that gets invoked when reclamation is safe. The mechanism relies on CPU quiescent states to determine when an SMR-protected object is ready for reclamation. The <sys/smr.h> header additionally provides an implementation of singly- and doubly-linked lists that can be used together with SMR. These lists allow lockless read access with a concurrent writer. Discussed with many OK mpi@ sashan@
Revision 1.283 / (download) - annotate - [select for diffs], Sat Jan 19 01:53:44 2019 UTC (5 years, 4 months ago) by cheloha
Branch: MAIN
Changes since 1.282: +2 -4 lines
Diff to previous 1.282 (colored)
Move boottime into the timehands. To protect the timehands we first need to protect the basis for all UTC time in the kernel: the boottime. Because the boottime can be changed at any time it needs to be versioned along with the other members of the timehands to enable safe lockless reads when using it for anything. So the global boottime timespec goes away and the static boottimebin becomes a member of the timehands. Instead of reading the global boottime you use one of two interfaces: binboottime(9) or microboottime(9). nanoboottime(9) can trivially be added later, though there are no consumers for it at the moment. This introduces one small change in behavior. We used to advance the reported boottime just before launching kernel threads from main(). This makes it look to userland like we "booted" moments before those threads were launched. Because there is no longer a boottime global we can no longer trivially do this from main(), so the boottime we report to userspace via e.g. kern.boottime will now reflect whatever the time was when we bootstrapped the timehands via inittodr(9). This is usually no more than a minute before the kernel threads are launched from main(). The prior behavior can be restored by adding a new interface to the timecounter layer in a future commit. Based on FreeBSD r303387. Discussed with mpi@ and visa@. ok visa@
Revision 1.282 / (download) - annotate - [select for diffs], Tue Jan 1 07:06:44 2019 UTC (5 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.281: +2 -2 lines
Diff to previous 1.281 (colored)
copyright++;
Revision 1.281 / (download) - annotate - [select for diffs], Mon Sep 10 16:18:34 2018 UTC (5 years, 9 months ago) by sashan
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.280: +7 -1 lines
Diff to previous 1.280 (colored)
- if_cloners list populated at boot time only then becomes immutable, so we can let go if_cloners_lock. OK tb@, claudio@, bluhm@, kn@, henning@
Revision 1.280 / (download) - annotate - [select for diffs], Mon Aug 13 15:26:17 2018 UTC (5 years, 9 months ago) by visa
Branch: MAIN
Changes since 1.279: +4 -28 lines
Diff to previous 1.279 (colored)
Simplify the startup of the cleaner, reaper and update threads by passing the main function directly to kthread_create(9). The start_* functions are mere stepping stones nowadays and can be pruned. They used to contain more logic in the pre-kthread era. While here, set `cleanerproc' and `syncerproc' during the thread creation rather than expect the threads to set the proc pointer. Also, rename `sched_sync' to `syncer_thread' to reduce confusion with the scheduler-related functions. OK kettenis@, deraadt@, mpi@
Revision 1.279 / (download) - annotate - [select for diffs], Fri Jul 20 21:57:26 2018 UTC (5 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.278: +2 -3 lines
Diff to previous 1.278 (colored)
Remove a few leftovers from the days of emulation, which could result in a bad/corrupt binary not returning ENOEXEC but some other error. ok guenther kettenis bluhm
Revision 1.278 / (download) - annotate - [select for diffs], Tue Jul 10 04:19:59 2018 UTC (5 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.277: +1 -2 lines
Diff to previous 1.277 (colored)
Move from sendsig() to its callers the initsiginfo() calls and instead of passing sendsig() the code+type+val, pass a siginfo_t* to copy from. Eliminate the indirection through struct emul for sendsig(); we no longer have a SunOS4-compat version of sendsig() ok deraadt@
Revision 1.277 / (download) - annotate - [select for diffs], Sat Apr 28 03:13:04 2018 UTC (6 years, 1 month ago) by visa
Branch: MAIN
Changes since 1.276: +2 -2 lines
Diff to previous 1.276 (colored)
Clean up the parameters of VOP_LOCK() and VOP_UNLOCK(). It is always curproc that does the locking or unlocking, so the proc parameter is pointless and can be dropped. OK mpi@, deraadt@
Revision 1.276 / (download) - annotate - [select for diffs], Thu Apr 12 17:13:44 2018 UTC (6 years, 2 months ago) by deraadt
Branch: MAIN
Changes since 1.275: +2 -2 lines
Diff to previous 1.275 (colored)
Implement MAP_STACK option for mmap(). Synchronous faults (pagefault and syscall) confirm the stack register points at MAP_STACK memory, otherwise SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified to create a MAP_STACK sub-region which satisfies alignment requirements. Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the contents of the region -- there is no mprotect() equivalent operation, so there is no MAP_STACK-adding gadget. This opportunistic software-emulation of a stack protection bit makes stack-pivot operations during ROPchain fragile (kind of like removing a tool from the toolbox). original discussion with tedu, uvm work by stefan, testing by mortimer ok kettenis
Revision 1.275 / (download) - annotate - [select for diffs], Tue Mar 20 15:45:32 2018 UTC (6 years, 2 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3
Changes since 1.274: +2 -1 lines
Diff to previous 1.274 (colored)
Do not panic from ddb(4) when a lock requirement isn't fulfilled. Extend the logic already present for panic() to any DDB-related operation such that if ddb(4) is entered because of a fault or other trap it is still possible to call 'boot reboot'. While here stop printing splassert() messages as well, to not fill the buffer. ok visa@, deraadt@
Revision 1.274 / (download) - annotate - [select for diffs], Wed Feb 28 18:47:33 2018 UTC (6 years, 3 months ago) by patrick
Branch: MAIN
Changes since 1.273: +3 -3 lines
Diff to previous 1.273 (colored)
Revert the change that postpones CPUs until after mounthook activities. This was needed to be able to use loadfirmware() to load the microcode before letting the cores go. Now that the microcode is loaded earlier we can restore the previous behaviour. ok deraadt@
Revision 1.273 / (download) - annotate - [select for diffs], Thu Jan 11 18:58:17 2018 UTC (6 years, 5 months ago) by patrick
Branch: MAIN
Changes since 1.272: +3 -3 lines
Diff to previous 1.272 (colored)
Postpone secondary CPUs until after mounthook activities. This is useful for loading CPU microcode from the disk before the CPUs are let go. Tested by visa@ on sgi, loongson and octeon "don't see immediate issues" kettenis@ ok deraadt@
Revision 1.272 / (download) - annotate - [select for diffs], Mon Jan 1 08:23:19 2018 UTC (6 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.271: +2 -2 lines
Diff to previous 1.271 (colored)
copyright++;
Revision 1.271 / (download) - annotate - [select for diffs], Mon Aug 14 19:50:31 2017 UTC (6 years, 9 months ago) by uwe
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE,
OPENBSD_6_2
Changes since 1.270: +6 -5 lines
Diff to previous 1.270 (colored)
Load CTF debug symbols before mountroot This is obviously useful in order to investigate a failure to mount an NFS or other root device. ok mpi
Revision 1.270 / (download) - annotate - [select for diffs], Fri Aug 11 20:50:15 2017 UTC (6 years, 10 months ago) by mpi
Branch: MAIN
Changes since 1.269: +2 -2 lines
Diff to previous 1.269 (colored)
Merge DDBCTF into DDB.
Revision 1.269 / (download) - annotate - [select for diffs], Fri Apr 28 13:50:55 2017 UTC (7 years, 1 month ago) by mpi
Branch: MAIN
Changes since 1.268: +7 -1 lines
Diff to previous 1.268 (colored)
Add futex(2) syscall based on a sane subset of its Linux equivalent. The syscall is marked NOLOCK and only FUTEX_WAIT grabs the KERNEL_LOCK() because of PCATCH and the signal nightmare. Serialization of threads is currently done with a global & exclusive rwlock. Note that the current implementation still use copyin(9) which is not guaranteed to be atomic. Committing now such that remaining issues can be addressed in-tree. With inputs from guenther@, kettenis@ and visa@. ok deraadt@, visa@
Revision 1.268 / (download) - annotate - [select for diffs], Thu Apr 20 12:59:36 2017 UTC (7 years, 1 month ago) by visa
Branch: MAIN
Changes since 1.267: +4 -1 lines
Diff to previous 1.267 (colored)
Add a port of witness(4) lock validation tool from FreeBSD. Go-ahead from kettenis@, guenther@, deraadt@
Revision 1.267 / (download) - annotate - [select for diffs], Mon Mar 6 10:48:16 2017 UTC (7 years, 3 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.266: +3 -6 lines
Diff to previous 1.266 (colored)
domaininit() doesn't need splnet(). At this stage the scheduler isn't setup, which means the 'softnet' isn't running yet, so input packets aren't processed. Prodded by a question from guenther@, ok bluhm@
Revision 1.266 / (download) - annotate - [select for diffs], Sun Feb 12 04:55:08 2017 UTC (7 years, 3 months ago) by guenther
Branch: MAIN
Changes since 1.265: +2 -3 lines
Diff to previous 1.265 (colored)
Split up fork1(): - FORK_THREAD handling is a totally separate function, thread_fork(), that is only used by sys___tfork() and which loses the flags, func, arg, and newprocp parameters and gains tcb parameter to guarantee the new thread's TCB is set before the creating thread returns - fork1() loses its stack and tidptr parameters Common bits factor out: - struct proc allocation and initialization moves to thread_new() - maxthread handling moves to fork_check_maxthread() - setting the new thread running moves to fork_thread_start() The MD cpu_fork() function swaps its unused stacksize parameter for a tcb parameter. luna88k testing by aoyama@, alpha testing by dlg@ ok mpi@
Revision 1.265 / (download) - annotate - [select for diffs], Sat Jan 21 05:42:03 2017 UTC (7 years, 4 months ago) by guenther
Branch: MAIN
Changes since 1.264: +2 -2 lines
Diff to previous 1.264 (colored)
p_comm is the process's command and isn't per thread, so move it from struct proc to struct process. ok deraadt@ kettenis@
Revision 1.264 / (download) - annotate - [select for diffs], Sun Jan 1 07:00:56 2017 UTC (7 years, 5 months ago) by jsg
Branch: MAIN
Changes since 1.263: +2 -2 lines
Diff to previous 1.263 (colored)
copyright++;
Revision 1.263 / (download) - annotate - [select for diffs], Mon Nov 14 10:32:46 2016 UTC (7 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.262: +4 -3 lines
Diff to previous 1.262 (colored)
Automatically create a default lo(4) interface per rdomain. In order to stop abusing lo0 for all rdomains, a new loopback interface will be created every time a rdomain is created. The unit number will be the same as the rdomain, i.e. lo1 will be attached to rdomain 1. If this loopback interface is already in use it wont be possible to create the corresponding rdomain. In order to know which lo(4) interface is attached to a rdomain, its index is stored in the rtable/rdomain map. This is a long overdue since the introduction of rtable/rdomain. It also fixes a recent regression due to resetting the rdomain of an incoming packet reported by semarie@, Andreas Bartelt and Nils Frohberg. ok claudio@
Revision 1.262 / (download) - annotate - [select for diffs], Mon Nov 7 00:26:32 2016 UTC (7 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.261: +3 -2 lines
Diff to previous 1.261 (colored)
Split PID from TID, giving processes a PID unrelated to the TID of their initial thread ok jsing@ kettenis@
Revision 1.261 / (download) - annotate - [select for diffs], Mon Oct 24 04:38:44 2016 UTC (7 years, 7 months ago) by dlg
Branch: MAIN
Changes since 1.260: +3 -1 lines
Diff to previous 1.260 (colored)
move the mbstat structure to percpu counters each cpus counters still have to be protected by splnet, but this is better thana single set of counters protected by a global mutex. ok bluhm@
Revision 1.260 / (download) - annotate - [select for diffs], Fri Oct 21 06:27:50 2016 UTC (7 years, 7 months ago) by dlg
Branch: MAIN
Changes since 1.259: +5 -1 lines
Diff to previous 1.259 (colored)
add generalised access to per cpu data structures and counters. both the cpumem and counters api simply allocates memory for each cpu in the system that can be used for arbitrary per cpu data (via cpumem), or a versioned set of counters per cpu (counters). there is an alternate backend for uniprocessor systems that basically turns the percpu data access into an immediate access to a single allocation. there is also support for percpu data structures that are available at boot time by providing an allocation for the boot cpu. after autoconf, these allocations have to be resized to provide for all cpus that were enumerated by boot. ok mpi@
Revision 1.259 / (download) - annotate - [select for diffs], Thu Sep 22 12:55:24 2016 UTC (7 years, 8 months ago) by mpi
Branch: MAIN
Changes since 1.258: +5 -1 lines
Diff to previous 1.258 (colored)
Introduce a new 'softclock' thread that will be used to execute timeout callbacks needing a process context. The function timeout_set_proc(9) has to be used instead of timeout_set(9) when a timeout callback needs a process context. Note that if such a timeout is waiting, understand sleeping, for a non negligible amount of time it might delay other timeouts needing a process context. dlg@ agrees with this as a temporary solution. Manpage tweaks from jmc@ ok kettenis@, bluhm@, mikeb@
Revision 1.258 / (download) - annotate - [select for diffs], Sun Sep 18 12:36:28 2016 UTC (7 years, 8 months ago) by jasper
Branch: MAIN
Changes since 1.257: +6 -1 lines
Diff to previous 1.257 (colored)
add missing call to db_ctf_init(). this was part of the larger diff that was ok guenther@ mpi@, somehow I forgot to commit this particular piece.
Revision 1.257 / (download) - annotate - [select for diffs], Sun Sep 4 09:22:29 2016 UTC (7 years, 9 months ago) by mpi
Branch: MAIN
Changes since 1.256: +4 -3 lines
Diff to previous 1.256 (colored)
Introduce Dynamic Profiling, a ddb(4) based & gprof compatible kernel profiling framework. Code patching is used to enable probes when entering functions. The probes will call a mcount()-like function to match the behavior of a GPROF kernel. Currently only available on amd64 and guarded under DDBPROF. Support for other archs will follow soon. A new sysctl knob, ddb.console, need to be set to 1 in securelevel 0 to be able to use this feature. Inputs and ok guenther@
Revision 1.256 / (download) - annotate - [select for diffs], Sat Sep 3 14:46:56 2016 UTC (7 years, 9 months ago) by naddy
Branch: MAIN
Changes since 1.255: +3 -1 lines
Diff to previous 1.255 (colored)
Write the system time back to the RTC every 30 minutes. This fixes the problem that long-running machines which were not shut down properly would reboot with a badly offset system time. hints and ok kettenis@
Revision 1.255 / (download) - annotate - [select for diffs], Sat Sep 3 13:16:50 2016 UTC (7 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.254: +1 -10 lines
Diff to previous 1.254 (colored)
Do not reinitialize __guard_local if it is 0. This cannot be done anymore, since it is now RO. It is the bootloader's job to initialize it correctly. If the bootloader fails to perform that, you silently lose. The road to building an always-available rng is served by us depending on it :)
Revision 1.254 / (download) - annotate - [select for diffs], Fri Sep 2 12:17:33 2016 UTC (7 years, 9 months ago) by tb
Branch: MAIN
Changes since 1.253: +2 -2 lines
Diff to previous 1.253 (colored)
move links from http to https://www.openbsd.org/ ok beck
Revision 1.253 / (download) - annotate - [select for diffs], Tue May 17 23:28:03 2016 UTC (8 years ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0
Changes since 1.252: +8 -18 lines
Diff to previous 1.252 (colored)
Backout the previous fix for the sendsyslog(2) with LOG_CONS solution. Permanently holding /dev/console open in the kernel works only until init(8) calls revoke(2). After that the console device vnode cannot be used anymore. It still resulted in a hanging init(8) if it tried to syslog(3) something. With the backout also dmesg -s works again.
Revision 1.252 / (download) - annotate - [select for diffs], Tue May 10 23:54:00 2016 UTC (8 years, 1 month ago) by bluhm
Branch: MAIN
Changes since 1.251: +18 -8 lines
Diff to previous 1.251 (colored)
If sendsyslog(2) is called with LOG_CONS before syslogd(8) has been started and before init(8) has opened the console, the kernel could crash as the console device has not been initialized. Open /dev/console in the kernel before starting init(8) and keep it open. This way sendsyslog(2) can be called early in the system. OK beck@ deraadt@
Revision 1.251 / (download) - annotate - [select for diffs], Tue May 10 18:39:51 2016 UTC (8 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.250: +3 -2 lines
Diff to previous 1.250 (colored)
SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookie inside the sigcontext. sigreturn(2) checks syscall entry was from the exact PC addr in the (per-process ASLR) sigtramp, verifies the cookie, and clears it to prevent sigcontext reuse. not yet tested on landisk, sparc, *88k, socppc. ok kettenis
Revision 1.250 / (download) - annotate - [select for diffs], Tue May 3 14:52:39 2016 UTC (8 years, 1 month ago) by mpi
Branch: MAIN
Changes since 1.249: +1 -2 lines
Diff to previous 1.249 (colored)
Stop using a soft-interrupt context to process incoming network packets. Use a new task that runs holding the KERNEL_LOCK to execute mp-unsafe code. Our current goal is to progressively move input functions to the unlocked task. This gives a small performance boost confirmed by Hrvoje Popovski's IPv4 forwarding measurement: before: after: send receive send receive 400kpps 400kpps 400kpps 400kpps 500kpps 500kpps 500kpps 500kpps 600kpps 600kpps 600kpps 600kpps 650kpps 650kpps 650kpps 640kpps 700kpps 700kpps 700kpps 700kpps 720kpps 640kpps 720kpps 710kpps 800kpps 640kpps 800kpps 650kpps 1.4Mpps 570kpps 1.4Mpps 590kpps 14Mpps 570kpps 14Mpps 590kpps ok kettenis@, bluhm@, dlg@
Revision 1.249 / (download) - annotate - [select for diffs], Sat Mar 19 12:04:15 2016 UTC (8 years, 2 months ago) by natano
Branch: MAIN
Changes since 1.248: +2 -2 lines
Diff to previous 1.248 (colored)
Remove the unused flags argument from VOP_UNLOCK(). torture tested on amd64, i386 and macppc ok beck mpi stefan "the change looks right" deraadt
Revision 1.248 / (download) - annotate - [select for diffs], Sun Jan 3 00:15:59 2016 UTC (8 years, 5 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE,
OPENBSD_5_9
Changes since 1.247: +2 -2 lines
Diff to previous 1.247 (colored)
copyright++;
Revision 1.247 / (download) - annotate - [select for diffs], Fri Dec 11 16:07:02 2015 UTC (8 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.246: +2 -2 lines
Diff to previous 1.246 (colored)
Replace mountroothook_establish(9) by config_mountroot(9) a narrower API similar to config_defer(9). ok mikeb@, deraadt@
Revision 1.246 / (download) - annotate - [select for diffs], Sun Nov 8 20:45:57 2015 UTC (8 years, 7 months ago) by naddy
Branch: MAIN
Changes since 1.245: +1 -10 lines
Diff to previous 1.245 (colored)
keep all the setperf timeout(9) handling in one place; ok tedu@
Revision 1.245 / (download) - annotate - [select for diffs], Wed Oct 7 10:50:35 2015 UTC (8 years, 8 months ago) by mpi
Branch: MAIN
Changes since 1.244: +5 -2 lines
Diff to previous 1.244 (colored)
Initialize the routing table before domains. The routing table is not an optional component of the network stack and initializing it inside the "routing domain" requires some ugly introspection in the domain interface. This put the rtable* layer at the same level of the if* level. These two subsystem are organized around the two global data structure used in the network stack: - the global &ifnet list, to be used in process context only, and - the routing table which can be read in interrupt context. This change makes the rtable_* layer domain-aware and extends the "struct domain" such that INET, INET6 and MPLS can specify the length of the binary key used in lookups. This allows us to keep, or move towards, AF-free route and rtable layers. While here stop the madness and pass the size of the maximum key length in *byte* to rn_inithead0(). ok claudio@, mikeb@
Revision 1.244 / (download) - annotate - [select for diffs], Sun Aug 30 10:39:16 2015 UTC (8 years, 9 months ago) by mpi
Branch: MAIN
Changes since 1.243: +1 -2 lines
Diff to previous 1.243 (colored)
Use a global table for domains instead of building a list at run time. As a side effect there's no need to run if_attachdomain() after the list of domains has been built. ok claudio@, reyk@
Revision 1.243 / (download) - annotate - [select for diffs], Thu Jul 9 19:45:37 2015 UTC (8 years, 11 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE,
OPENBSD_5_8
Changes since 1.242: +3 -1 lines
Diff to previous 1.242 (colored)
Disable pool_gc on m88k if MULTIPROCESSOR; we don't have enough volunteers for human sacrifices to get this fixed in a reasonably near future, and the tree must build.
Revision 1.242 / (download) - annotate - [select for diffs], Thu Jul 2 01:34:00 2015 UTC (8 years, 11 months ago) by dlg
Branch: MAIN
Changes since 1.241: +4 -1 lines
Diff to previous 1.241 (colored)
introduce srp, which according to the manpage i wrote is short for "shared reference pointers". srp allows concurrent access to a data structure by multiple cpus while avoiding interlocking cpu opcodes. it manages its own reference counts and the garbage collection of those data structure to avoid use after frees. internally srp is a twisted version of hazard pointers, which are a relative of RCU. jmatthew wrote the bulk of a hazard pointer implementation and changed bpf to use it to allow mpsafe access to bpfilters. however, at s2k15 we were trying to apply it to other data structures but the memory overhead of every hazard pointer would have blown out significantly in several uses cases. a bulk of our time at s2k15 was spent reworking hazard pointers into srp. this diff adds the srp api and adds the necessary metadata to struct cpuinfo on our MP architectures. srp on uniprocessor platforms has alternate code that is optimised because it knows there'll be no concurrent access to data by multiple cpus. srp is made available to the system via param.h, so it should be available everywhere in the kernel. the docs likely need improvement cos im too close to the implementation. ok mpi@
Revision 1.241 / (download) - annotate - [select for diffs], Wed Jun 24 03:42:08 2015 UTC (8 years, 11 months ago) by dlg
Branch: MAIN
Changes since 1.240: +1 -3 lines
Diff to previous 1.240 (colored)
reenable the pool gc task. the problems it tickled by working outside the biglock on archs with mutex and clock interaction have been fixed, as evidenced by the softnet taskq. ok deraadt@
Revision 1.240 / (download) - annotate - [select for diffs], Mon May 18 04:07:26 2015 UTC (9 years ago) by miod
Branch: MAIN
Changes since 1.239: +2 -3 lines
Diff to previous 1.239 (colored)
Reenable the page zeroing thread on MP m88k kernels.
Revision 1.239 / (download) - annotate - [select for diffs], Tue May 5 02:13:46 2015 UTC (9 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.238: +3 -4 lines
Diff to previous 1.238 (colored)
emul_native is only used for kernel threads which can't dump core, so delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump, and various #includes that are superfluous. This leaves compat_linux processes without a coredump callback. If that ability is desired, someone should update it to use coredump_elf32() and verify the results... ok kettenis@
Revision 1.238 / (download) - annotate - [select for diffs], Fri May 1 11:18:21 2015 UTC (9 years, 1 month ago) by miod
Branch: MAIN
Changes since 1.237: +2 -2 lines
Diff to previous 1.237 (colored)
reenable page zeroing thread on SMP mips kernels.
Revision 1.237 / (download) - annotate - [select for diffs], Sun Apr 12 11:12:09 2015 UTC (9 years, 2 months ago) by dlg
Branch: MAIN
Changes since 1.236: +3 -1 lines
Diff to previous 1.236 (colored)
disable the pool gc. there are reports of strange lockups on various mp archs and this is the only interesting diff in the window.
Revision 1.236 / (download) - annotate - [select for diffs], Tue Apr 7 11:07:56 2015 UTC (9 years, 2 months ago) by dlg
Branch: MAIN
Changes since 1.235: +7 -1 lines
Diff to previous 1.235 (colored)
introduce a garbage collector for (very) idle pool pages. now that idle pool pages are timestamped we can tell how long theyve been idle. this adds a task that runs every second that iterates over all the pools looking for pages that have been idle for 8 seconds so it can free them. this idea probably came from a conversation with tedu@ months ago. ok tedu@ kettenis@
Revision 1.235 / (download) - annotate - [select for diffs], Tue Feb 10 05:28:18 2015 UTC (9 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.234: +7 -14 lines
Diff to previous 1.234 (colored)
Factor out the common bits of process_new() and main()'s code for setting up process0, 'cause I'm sick of forgetting to update main() when touching process_new() ok blambert@ miod@
Revision 1.234 / (download) - annotate - [select for diffs], Mon Feb 9 09:39:09 2015 UTC (9 years, 4 months ago) by miod
Branch: MAIN
Changes since 1.233: +3 -2 lines
Diff to previous 1.233 (colored)
Stop using USRSTACK as the edge of the stack, but rather use the vmspace vm_minsaddr or vm_maxsaddr, depending upon the direction the stack goes in. This should have no effect on the existing behaviourrr. ok kettenis@ deraadt@
Revision 1.233 / (download) - annotate - [select for diffs], Mon Jan 19 01:19:17 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.232: +1 -2 lines
Diff to previous 1.232 (colored)
unneccessary cmask variable; ok guenther
Revision 1.232 / (download) - annotate - [select for diffs], Tue Jan 13 18:51:27 2015 UTC (9 years, 4 months ago) by kettenis
Branch: MAIN
Changes since 1.231: +4 -1 lines
Diff to previous 1.231 (colored)
Many architectures call initmsgbuf() really really early, before uvm is initialized. Calling malloc(9) at that point is not a good idea. So initialize consbuf later. Fixes dmesg -s on sparc64 (and probably a few other architectures). ok miod@, deraadt@
Revision 1.231 / (download) - annotate - [select for diffs], Wed Dec 31 15:32:05 2014 UTC (9 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.230: +2 -2 lines
Diff to previous 1.230 (colored)
copyright_year=$(date +%Y)
Revision 1.230 / (download) - annotate - [select for diffs], Sun Dec 28 21:32:45 2014 UTC (9 years, 5 months ago) by krw
Branch: MAIN
Changes since 1.229: +2 -5 lines
Diff to previous 1.229 (colored)
The greatest happiness is to scatter inferiour APIs, to drive them before you, to see their files reduced to ashes, to see those who love them shrouded in tears, and to gather into your API all their invocations. In other words, workq is no more. There is only taskq. ok kettenis@ dlg@ (creator of taskq) jmc@
Revision 1.229 / (download) - annotate - [select for diffs], Wed Dec 17 06:58:11 2014 UTC (9 years, 5 months ago) by guenther
Branch: MAIN
Changes since 1.228: +2 -2 lines
Diff to previous 1.228 (colored)
Prefer MADV_* over POSIX_MADV_* in kernel for consistency: the latter doesn't have all the values and therefore can't be used everywhere. ok deraadt@ kettenis@
Revision 1.228 / (download) - annotate - [select for diffs], Tue Dec 16 18:30:03 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.227: +3 -1 lines
Diff to previous 1.227 (colored)
primary change: move uvm_vnode out of vnode, keeping only a pointer. objective: vnode.h doesn't include uvm_extern.h anymore. followup changes: include uvm_extern.h or lock.h where necessary. ok and help from deraadt
Revision 1.227 / (download) - annotate - [select for diffs], Mon Dec 15 02:24:23 2014 UTC (9 years, 5 months ago) by guenther
Branch: MAIN
Changes since 1.226: +2 -2 lines
Diff to previous 1.226 (colored)
Use MAP_INHERIT_* for the 'inh' argument to the UMV_MAPFLAG() macro, eliminating the must-be-kept-in-sync UVM_INH_* macros ok deraadt@ tedu@
Revision 1.226 / (download) - annotate - [select for diffs], Wed Dec 10 02:44:46 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.225: +2 -2 lines
Diff to previous 1.225 (colored)
convert bcopy to memcpy. ok millert
Revision 1.225 / (download) - annotate - [select for diffs], Tue Nov 18 21:11:08 2014 UTC (9 years, 6 months ago) by miod
Branch: MAIN
Changes since 1.224: +3 -2 lines
Diff to previous 1.224 (colored)
Disable the page zeroing thread on MULTIPROCESSOR mips64 kernels as well. Regression spotted by tobiasu@. XXX I wonder if the page zeroing thread shouldn't perform explicit XXX pmap_update(pmap_kernel()) calls after each page zeroing... but that XXX might not be enough.
Revision 1.224 / (download) - annotate - [select for diffs], Sun Nov 16 12:31:00 2014 UTC (9 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.223: +3 -3 lines
Diff to previous 1.223 (colored)
Replace a plethora of historical protection options with just PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h. PROT_MASK is introduced as the one true way of extracting those bits. Remove UVM_ADV_* wrapper, using the standard names. ok doug guenther kettenis
Revision 1.223 / (download) - annotate - [select for diffs], Sat Oct 25 12:53:14 2014 UTC (9 years, 7 months ago) by miod
Branch: MAIN
Changes since 1.222: +2 -2 lines
Diff to previous 1.222 (colored)
Do not launch the page zeroing thread on MULTIPROCESSOR m88k systems. This causes a deadlock between reaper and zerothread I am currently investigating.
Revision 1.222 / (download) - annotate - [select for diffs], Fri Oct 17 01:51:39 2014 UTC (9 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.221: +10 -1 lines
Diff to previous 1.221 (colored)
redo the performance throttling in the kernel. introduce a new sysctl, hw.perfpolicy, that governs the policy. when set to anything other than manual, hw.setperf then becomes read only. phessler was heading in this direction, but this is slightly different. :)
Revision 1.221 / (download) - annotate - [select for diffs], Mon Oct 13 22:42:22 2014 UTC (9 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.220: +3 -1 lines
Diff to previous 1.220 (colored)
disable pagezero thread on hppa, until failure gets diagnosed, ok miod kettenis
Revision 1.220 / (download) - annotate - [select for diffs], Sat Oct 11 17:12:30 2014 UTC (9 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.219: +0 -9 lines
Diff to previous 1.219 (colored)
back out; does not even compile
Revision 1.219 / (download) - annotate - [select for diffs], Sat Oct 11 16:28:06 2014 UTC (9 years, 8 months ago) by tedu
Branch: MAIN
Changes since 1.218: +10 -1 lines
Diff to previous 1.218 (colored)
resurrect a many year old diff. move CPU throttling into the kernel, enabled by setting hw.setperf=-1. some other bugs preventing this from going in before have been fixed. my thanks to phessler for keeping the diff alive in the mean time. tested by several to not regress.
Revision 1.218 / (download) - annotate - [select for diffs], Fri Oct 3 18:06:46 2014 UTC (9 years, 8 months ago) by kettenis
Branch: MAIN
Changes since 1.217: +5 -1 lines
Diff to previous 1.217 (colored)
Introduce a thread for zeroing pages without holding the kernel lock. This way we can do some useful kernel lock in parallel with other things and create a reservoir of zeroed pages ready for use elsewhere. This should reduce latency. The thread runs at the absolutel lowest priority such that we don't keep other kernel threads or userland from doing useful work. Can be easily disabled by disabling the kthread_create(9) call in main(). Which perhaps we should do for non-MP kernels. ok deraadt@, tedu@
Revision 1.217 / (download) - annotate - [select for diffs], Thu Aug 14 09:01:47 2014 UTC (9 years, 9 months ago) by mpi
Branch: MAIN
Changes since 1.216: +1 -2 lines
Diff to previous 1.216 (colored)
No need for raw_cb.h
Revision 1.216 / (download) - annotate - [select for diffs], Fri Jul 11 08:18:31 2014 UTC (9 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.215: +15 -10 lines
Diff to previous 1.215 (colored)
It's init as a process that's special, not init's original thread. Remember initprocess instead of initproc. ok matthew@ blambert@
Revision 1.215 / (download) - annotate - [select for diffs], Tue Jul 8 17:19:25 2014 UTC (9 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.214: +1 -4 lines
Diff to previous 1.214 (colored)
decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h don't need to be married. ok guenther miod beck jsing kettenis
Revision 1.214 / (download) - annotate - [select for diffs], Sun Jun 15 11:43:24 2014 UTC (9 years, 11 months ago) by sf
Branch: MAIN
Changes since 1.213: +3 -3 lines
Diff to previous 1.213 (colored)
Fix a few format string bugs with -DDEBUG
Revision 1.213 / (download) - annotate - [select for diffs], Thu May 15 03:52:25 2014 UTC (10 years ago) by guenther
Branch: MAIN
Changes since 1.212: +3 -3 lines
Diff to previous 1.212 (colored)
Move from struct proc to process the reference-count-holding pointers to the process's vmspace and filedescs. struct proc continues to keep copies of the pointers, copying them on fork, clearing them on exit, and (for vmspace) refreshing on exec. Also, make uvm_swapout_threads() thread aware, eliminating p_swtime in kernel. particular testing by ajacoutot@ and sebastia@
Revision 1.212 / (download) - annotate - [select for diffs], Sun May 4 05:03:26 2014 UTC (10 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.211: +2 -1 lines
Diff to previous 1.211 (colored)
Add PS_SYSTEM, the process-level mirror of the thread-level P_SYSTEM, and FORK_SYSTEM as a flag to set them. This eliminates needing to peek into other processes threads in various places. Inspired by NetBSD ok miod@ matthew@
Revision 1.211 / (download) - annotate - [select for diffs], Fri Apr 18 11:51:17 2014 UTC (10 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.210: +4 -1 lines
Diff to previous 1.210 (colored)
Have each thread keeps its own (counted!) reference to the process's ucreds to avoid possible use-after-free references when swapping ids in threaded processes. "Do I have the right creds?" checks are always made with the threads creds. Inspired by FreeBSD and NetBSD "right time" deraadt@
Revision 1.210 / (download) - annotate - [select for diffs], Mon Mar 31 19:37:15 2014 UTC (10 years, 2 months ago) by kettenis
Branch: MAIN
Changes since 1.209: +4 -4 lines
Diff to previous 1.209 (colored)
Grab the kernel lock before autoconf. This way device drivers can drop it in any context if they feel like it. ok deraadt@, guenther@ (who both suggested we could probably grab it even earlier)
Revision 1.209 / (download) - annotate - [select for diffs], Sun Mar 30 21:54:48 2014 UTC (10 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.208: +3 -5 lines
Diff to previous 1.208 (colored)
Eliminates struct pcred by moving the real and saved ugids into struct ucred; struct process then directly links to the ucred Based on a discussion at c2k10 or so before noting that FreeBSD and NetBSD did this too. ok matthew@
Revision 1.208 / (download) - annotate - [select for diffs], Sat Mar 29 18:09:31 2014 UTC (10 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.207: +2 -2 lines
Diff to previous 1.207 (colored)
It's been a quarter century: we can assume volatile is present with that name. ok dlg@ mpi@ deraadt@
Revision 1.207 / (download) - annotate - [select for diffs], Fri Mar 28 17:57:11 2014 UTC (10 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.206: +2 -2 lines
Diff to previous 1.206 (colored)
Reduce uvm include madness. Use <uvm/uvm_extern.h> instead of <uvm/uvm.h> if possible and remove double inclusions. ok beck@, mlarkin@, deraadt@
Revision 1.206 / (download) - annotate - [select for diffs], Wed Mar 26 05:23:42 2014 UTC (10 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.205: +2 -2 lines
Diff to previous 1.205 (colored)
Move p_emul and p_sigcode from proc to process. Tweak the handling of ktrace EMUL when changing ktracing: only generate one per process (not one per thread) and pass the correct proc pointer down to the VFS layer. Permit generating of NAMI and CSW records inside ktrace(2) itself. ok deraadt@ millert@
Revision 1.205 / (download) - annotate - [select for diffs], Sat Mar 22 06:05:45 2014 UTC (10 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.204: +4 -4 lines
Diff to previous 1.204 (colored)
Move p_sigacts from struct proc to struct process. testing help mpi@
Revision 1.204 / (download) - annotate - [select for diffs], Wed Feb 12 05:47:36 2014 UTC (10 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.203: +2 -2 lines
Diff to previous 1.203 (colored)
Eliminate the exit sig handling, which was only invokable via the Linux-compat clone() syscall when *not* using CLONE_THREAD. pirofti@ confirms Opera runs in compat without this, so out it goes; one less hair to choke on in kern_exit.c ok tedu@ pirofti@
Revision 1.203 / (download) - annotate - [select for diffs], Mon Jan 20 21:19:27 2014 UTC (10 years, 4 months ago) by guenther
Branch: MAIN
Changes since 1.202: +8 -5 lines
Diff to previous 1.202 (colored)
Threads can't be zombies, only processes, so change zombproc to zombprocess, make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread flags to process flags. Add allprocess list for the code that just wants to see processes. ok tedu@
Revision 1.202 / (download) - annotate - [select for diffs], Sun Jan 19 23:52:54 2014 UTC (10 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.201: +1 -3 lines
Diff to previous 1.201 (colored)
Refactor rnd startup so arc4random/arc4random_buf can create a chacha state on first call, very early on, from boot-supplied entropy, then feed from that. Later when we have more subsystems ready, the main() can properly initialize the entropy-driven model. Lots of discussion with mikeb. ok kettenis markus mikeb
Revision 1.201 / (download) - annotate - [select for diffs], Sun Jan 19 13:26:42 2014 UTC (10 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.200: +2 -2 lines
Diff to previous 1.200 (colored)
insane typo
Revision 1.200 / (download) - annotate - [select for diffs], Sun Jan 19 13:12:07 2014 UTC (10 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.199: +2 -2 lines
Diff to previous 1.199 (colored)
oops, forgotten part Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
Revision 1.199 / (download) - annotate - [select for diffs], Sun Jan 19 00:39:40 2014 UTC (10 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.198: +1 -3 lines
Diff to previous 1.198 (colored)
With the earlier initialization of the random subsystem, random_hostseed() is no longer providing significant value. The random subsystem is in pretty good state, and moments later userland will feed the dmesg. ok jsing
Revision 1.198 / (download) - annotate - [select for diffs], Sun Jan 19 00:22:58 2014 UTC (10 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (colored)
We can call random_start() immediately after cpu_startup, that is the point at which everything it does is safe, including msg buffer access. ok kettenis jsing
Revision 1.197 / (download) - annotate - [select for diffs], Wed Jan 1 07:08:10 2014 UTC (10 years, 5 months ago) by fgsch
Branch: MAIN
Changes since 1.196: +2 -2 lines
Diff to previous 1.196 (colored)
copyright++
Revision 1.196 / (download) - annotate - [select for diffs], Sat Dec 28 20:52:48 2013 UTC (10 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.195: +2 -2 lines
Diff to previous 1.195 (colored)
oops, the fallback stack protector code must handle 64-bit guards spotted by kettenis
Revision 1.195 / (download) - annotate - [select for diffs], Sat Dec 28 03:22:52 2013 UTC (10 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.194: +6 -14 lines
Diff to previous 1.194 (colored)
change the stack protector guard into a long word (removing the old legacy compat pointed out by miod), and place it inside the ELF .openbsd.randomdata segment. Inside main(), only re-initialize the guard if the bootblocks failed to initialize it for us.
Revision 1.194 / (download) - annotate - [select for diffs], Sat Dec 28 03:12:56 2013 UTC (10 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.193: +1 -7 lines
Diff to previous 1.193 (colored)
We can initialize the srandom/random system earlier from arc4random, and do not need microtime.
Revision 1.193 / (download) - annotate - [select for diffs], Sat Dec 28 03:04:20 2013 UTC (10 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.192: +6 -3 lines
Diff to previous 1.192 (colored)
We can random_start() earlier (not that it does too much) and call arc4random() much earlier. Leading to random pids for anything besides 0 and 1.
Revision 1.192 / (download) - annotate - [select for diffs], Sun Dec 1 16:40:56 2013 UTC (10 years, 6 months ago) by krw
Branch: MAIN
Changes since 1.191: +3 -3 lines
Diff to previous 1.191 (colored)
Change 'mountlist' from CIRCLEQ to TAILQ. Be paranoid and use TAILQ_*_SAFE more than might be needed. Bulk ports build by sthen@ showed nobody sticking their fingers so deep into the kernel. Feedback and suggestions from millert@. ok jsing@
Revision 1.191 / (download) - annotate - [select for diffs], Tue Oct 29 04:23:16 2013 UTC (10 years, 7 months ago) by dlg
Branch: MAIN
Changes since 1.190: +4 -1 lines
Diff to previous 1.190 (colored)
introduce tasks and taskqs as an alternative to workqs. tasks are modelled on the timeout api, so users familiar with timeout_set, timeout_add, and timeout_del will already know what to expect from task_set, task_add, and task_del. i wrote this because workq_add_task can fail in the place you actually need it, and there arent any good ways of recovering at that point. workq_queue_task was added to try and help, but required external state to be stored for users of that api to know whether something was already queued or not. workqs also didnt provide a way to cancel or remove work. this has been percolating with a bunch of people. putting it in as i wrote it so i can apply their feedback to the code with the history kept in cvs.
Revision 1.190 / (download) - annotate - [select for diffs], Mon Aug 26 01:59:22 2013 UTC (10 years, 9 months ago) by dlg
Branch: MAIN
Changes since 1.189: +6 -4 lines
Diff to previous 1.189 (colored)
move attach mpath before any hardware. the benefits being: - the mpath hooks path drivers call dont have to parse autoconf structures to tell if mpath may attach in the future. it now either has already attached or never will, which is simpler to check. - i can get rid of the global mpath target array by moving it into the mpath softc because of the above. - makes reasoning about state transitions (especially around when to attach) when groups of paths are implemented a lot simpler the only real caveat is dmesg feng shui may be ruined. i can come back and look at this after i move mpath itself forward though. discussed with deraadt@ miod@ ok todd@ matthew@ krw@
Revision 1.189 / (download) - annotate - [select for diffs], Mon Jun 3 16:55:22 2013 UTC (11 years ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.188: +5 -5 lines
Diff to previous 1.188 (colored)
Convert some internal APIs to use timespecs instead of timevals ok matthew@ deraadt@
Revision 1.188 / (download) - annotate - [select for diffs], Thu Mar 28 16:55:25 2013 UTC (11 years, 2 months ago) by deraadt
Branch: MAIN
Changes since 1.187: +1 -2 lines
Diff to previous 1.187 (colored)
do not include machine/cpu.h from a .c file; it is the responsibility of .h files to pull it in, if needed ok tedu
Revision 1.187 / (download) - annotate - [select for diffs], Mon Mar 25 14:58:28 2013 UTC (11 years, 2 months ago) by markus
Branch: MAIN
Changes since 1.186: +3 -1 lines
Diff to previous 1.186 (colored)
reseed the random pool with 'dmesg' when more devices are attached from hshoexer@; ok tedu@, "looks good" deraadt@
Revision 1.186 / (download) - annotate - [select for diffs], Tue Jan 1 19:39:50 2013 UTC (11 years, 5 months ago) by jasper
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3
Changes since 1.185: +2 -2 lines
Diff to previous 1.185 (colored)
copyright++;
Revision 1.185 / (download) - annotate - [select for diffs], Mon Nov 5 19:39:34 2012 UTC (11 years, 7 months ago) by miod
Branch: MAIN
Changes since 1.184: +1 -5 lines
Diff to previous 1.184 (colored)
unifdef -D __HAVE_TIMECOUNTER
Revision 1.184 / (download) - annotate - [select for diffs], Tue Aug 28 16:39:09 2012 UTC (11 years, 9 months ago) by matthew
Branch: MAIN
Changes since 1.183: +7 -1 lines
Diff to previous 1.183 (colored)
Add __guard_local as a hidden symbol to ld.so, kernel, and every executable and DSO (via crtbegin.c/crtbeginS.c). Not used yet, but needed before GCC can start emitting -fstack-protector code that uses them instead of __guard.
Revision 1.183 / (download) - annotate - [select for diffs], Wed Jun 13 22:47:39 2012 UTC (12 years ago) by ariane
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE,
OPENBSD_5_2
Changes since 1.182: +3 -2 lines
Diff to previous 1.182 (colored)
Expose reaperproc. I need this for my diffs. ok guenther@
Revision 1.182 / (download) - annotate - [select for diffs], Fri Mar 23 15:51:26 2012 UTC (12 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.181: +3 -9 lines
Diff to previous 1.181 (colored)
Make rusage totals, itimers, and profile settings per-process instead of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
Revision 1.181 / (download) - annotate - [select for diffs], Sun Jan 1 12:17:33 2012 UTC (12 years, 5 months ago) by fgsch
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.180: +2 -2 lines
Diff to previous 1.180 (colored)
copyright++
Revision 1.180 / (download) - annotate - [select for diffs], Thu Jul 7 18:00:33 2011 UTC (12 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE,
OPENBSD_5_0
Changes since 1.179: +1 -4 lines
Diff to previous 1.179 (colored)
Functions used in files other than where they are defined should be declared in .h files, not in each .c. Apply that rule to endtsleep(), scheduler_start(), updatepri(), and realitexpire() ok deraadt@ tedu@
Revision 1.179 / (download) - annotate - [select for diffs], Wed Jul 6 21:41:37 2011 UTC (12 years, 11 months ago) by art
Branch: MAIN
Changes since 1.178: +3 -3 lines
Diff to previous 1.178 (colored)
Clean up after P_BIGLOCK removal. KERNEL_PROC_LOCK -> KERNEL_LOCK KERNEL_PROC_UNLOCK -> KERNEL_UNLOCK oga@ ok
Revision 1.178 / (download) - annotate - [select for diffs], Tue Jul 5 04:48:02 2011 UTC (12 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.177: +5 -2 lines
Diff to previous 1.177 (colored)
Recommit the reverted sigacts change now that the NFS use-after-free problem has been tracked down. This fixes the sharing of the signal handling state: shared bits go in sigacts, per-rthread bits goes in struct proc. ok deraadt@
Revision 1.177 / (download) - annotate - [select for diffs], Mon Apr 18 21:44:56 2011 UTC (13 years, 1 month ago) by guenther
Branch: MAIN
Changes since 1.176: +1 -4 lines
Diff to previous 1.176 (colored)
Revert the sigacts diff: NFS can apparently retain pointers to processes until they're zombies and then send them signals (for intr mounts). Until that is untangled, the sigacts change is unsafe. sthen@ was the victim for this one
Revision 1.176 / (download) - annotate - [select for diffs], Fri Apr 15 04:52:40 2011 UTC (13 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.175: +5 -2 lines
Diff to previous 1.175 (colored)
Correct the sharing of the signal handling state: stuff that should be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves to struct sigacts, wihle stuff that should be per rthread (ps_oldmask, SAS_OLDMASK, ps_sigstk) moves to struct proc. Treat the coredumping state bits (ps_sig, ps_code, ps_type, ps_sigval) as per-rthread until our locking around coredumping is better. Oh, and remove the old SunOS-compat ps_usertramp member. "I like the sound of this" tedu@
Revision 1.175 / (download) - annotate - [select for diffs], Mon Mar 7 07:07:13 2011 UTC (13 years, 3 months ago) by guenther
Branch: MAIN
Changes since 1.174: +2 -2 lines
Diff to previous 1.174 (colored)
The scheduling 'nice' value is per-process, not per-thread, so move it into struct process. ok tedu@ deraadt@
Revision 1.174 / (download) - annotate - [select for diffs], Sat Jan 8 19:45:09 2011 UTC (13 years, 5 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE,
OPENBSD_4_9
Changes since 1.173: +5 -2 lines
Diff to previous 1.173 (colored)
split randomattach into random_init() and random_start(), so that we can make attempts to load 'entropy' into the RC4. ok miod ariane
Revision 1.173 / (download) - annotate - [select for diffs], Sat Jan 1 06:54:51 2011 UTC (13 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.172: +2 -2 lines
Diff to previous 1.172 (colored)
copyright++;
Revision 1.172 / (download) - annotate - [select for diffs], Tue Dec 21 14:56:24 2010 UTC (13 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.171: +3 -1 lines
Diff to previous 1.171 (colored)
Convert netisr to a normal soft interrupt instead of hanving MD code for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
Revision 1.171 / (download) - annotate - [select for diffs], Wed Sep 8 14:15:56 2010 UTC (13 years, 9 months ago) by jsing
Branch: MAIN
Changes since 1.170: +2 -6 lines
Diff to previous 1.170 (colored)
Reintroduce most crypto/crypto.c r1.55: Move pool initialization to init_crypto and zap the crypto_pool_initialized variable. This way we don't have to check if the pool are initialized every time we do a crypto_getreq(). However, also perform the crypto initialisation earlier in init_main so that the crypto pools are initialised before they are used. ok mikeb@ thib@ deraadt@
Revision 1.170 / (download) - annotate - [select for diffs], Mon Jul 26 01:56:27 2010 UTC (13 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.169: +7 -6 lines
Diff to previous 1.169 (colored)
Correct the links between threads, processes, pgrps, and sessions, so that the process-level stuff is to/from struct process and not struct proc. This fixes a bunch of problem cases in rthreads. Based on earlier work by blambert and myself, but mostly written at c2k10. Tested by many: deraadt, sthen, krw, ray, and in snapshots
Revision 1.169 / (download) - annotate - [select for diffs], Sat Jul 3 04:44:51 2010 UTC (13 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.168: +3 -3 lines
Diff to previous 1.168 (colored)
Fix the naming of interfaces and variables for rdomains and rtables and make it possible to bind sockets (including listening sockets!) to rtables and not just rdomains. This changes the name of the system calls, socket option, and ioctl. After building with this you should remove the files /usr/share/man/cat2/[gs]etrdomain.0. Since this removes the existing [gs]etrdomain() system calls, the libc major is bumped. Written by claudio@, criticized^Wcritiqued by me
Revision 1.168 / (download) - annotate - [select for diffs], Tue Jun 29 20:25:57 2010 UTC (13 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.167: +1 -2 lines
Diff to previous 1.167 (colored)
We always copy struct pcred when creating a new process, so the reference count was always one. That's pointless, so remove the member and the code. ok tedu@
Revision 1.167 / (download) - annotate - [select for diffs], Fri May 14 18:47:56 2010 UTC (14 years, 1 month ago) by kettenis
Branch: MAIN
Changes since 1.166: +2 -1 lines
Diff to previous 1.166 (colored)
Make sure we initialize sched_lock before we try to use it. ok miod@, thib@, oga@, jsing@
Revision 1.166 / (download) - annotate - [select for diffs], Tue Jan 12 04:06:26 2010 UTC (14 years, 5 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.165: +4 -2 lines
Diff to previous 1.165 (colored)
Since ifinit() is now safe to be called earlier, call it just before configure(), since some upcoming changes will require it. ok henning
Revision 1.165 / (download) - annotate - [select for diffs], Fri Jan 1 13:13:58 2010 UTC (14 years, 5 months ago) by miod
Branch: MAIN
Changes since 1.164: +2 -2 lines
Diff to previous 1.164 (colored)
copyright++;
Revision 1.164 / (download) - annotate - [select for diffs], Wed Dec 23 07:40:31 2009 UTC (14 years, 5 months ago) by guenther
Branch: MAIN
Changes since 1.163: +4 -4 lines
Diff to previous 1.163 (colored)
The process's rdomain should be, well, per-process and not per-rthread, so put it in struct process instead of struct proc. While at it, move the p_emul member inside struct proc so that it gets copied automatically instead of requiring manual assignment. ok deraadt@
Revision 1.163 / (download) - annotate - [select for diffs], Fri Nov 27 20:05:50 2009 UTC (14 years, 6 months ago) by guenther
Branch: MAIN
Changes since 1.162: +4 -1 lines
Diff to previous 1.162 (colored)
Add setrdomain() and getrdomain() system calls. Committing now to catch the libc major bump per request from deraadt@ Diff by reyk. ok guenther@
Revision 1.162 / (download) - annotate - [select for diffs], Tue Aug 11 18:43:33 2009 UTC (14 years, 10 months ago) by blambert
Branch: MAIN
Changes since 1.161: +6 -3 lines
Diff to previous 1.161 (colored)
uvm_scheduler() sounds important, but ``while(1) tsleep()'' is kinda lame inline the loop in the one place it exists, and remove it from uvm adjust a comment mentioning it accordingly originally inspired by a diff fixing a comment from oga@ ok art@ beck@ miod@ oga@
Revision 1.161 / (download) - annotate - [select for diffs], Sun Aug 9 12:47:23 2009 UTC (14 years, 10 months ago) by dlg
Branch: MAIN
Changes since 1.160: +4 -0 lines
Diff to previous 1.160 (colored)
add mpath(4), a driver that steals paths to scsi devices if it thinks they could be available via multiple paths. those stolen devices are then made available via mpath(4). this is the minimum amount of code to implement the stealing. it is generally broken and very brittle, so it is currently disabled. it is going in so i can work on it in the tree.
Revision 1.160 / (download) - annotate - [select for diffs], Thu Jul 9 22:29:56 2009 UTC (14 years, 11 months ago) by thib
Branch: MAIN
Changes since 1.159: +2 -2 lines
Diff to previous 1.159 (colored)
Remove the VREF() macro and replaces all instances with a call to verf(), which is exactly what the macro does. Macro's that are nothing more then: #define FUNCTION(arg) function(arg) are almost always pointless and should go away. OK blambert@ Agreed by many.
Revision 1.159 / (download) - annotate - [select for diffs], Sun Apr 19 17:53:38 2009 UTC (15 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6
Changes since 1.158: +2 -1 lines
Diff to previous 1.158 (colored)
Count number of cpus found (potentially not attached) and store that in sysctl hw.ncpufound; ok miod kettenis
Revision 1.158 / (download) - annotate - [select for diffs], Thu Mar 5 19:52:24 2009 UTC (15 years, 3 months ago) by kettenis
Branch: MAIN
Changes since 1.157: +3 -1 lines
Diff to previous 1.157 (colored)
Make ELF platforms generate ELF core dumps. Somewhat based on code from NetBSD. ok kurt@, drahn@, miod@
Revision 1.157 / (download) - annotate - [select for diffs], Fri Feb 13 19:58:27 2009 UTC (15 years, 3 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE,
OPENBSD_4_5
Changes since 1.156: +3 -3 lines
Diff to previous 1.156 (colored)
use nitems(); dunnoseriously@gmail
Revision 1.156 / (download) - annotate - [select for diffs], Thu Jan 1 15:45:09 2009 UTC (15 years, 5 months ago) by miod
Branch: MAIN
Changes since 1.155: +2 -2 lines
Diff to previous 1.155 (colored)
copyright_year++;
Revision 1.155 / (download) - annotate - [select for diffs], Wed Dec 3 23:39:32 2008 UTC (15 years, 6 months ago) by dlg
Branch: MAIN
Changes since 1.154: +4 -0 lines
Diff to previous 1.154 (colored)
add vscsi(4), a virtual scsi controller that passes all scsi requests up to userland for handling. this is to scsi what tun(4) is for networks. this is going into the tree so i can work on some crazy scsi stuff, but its not being enabled since it is useless unless you're working on some crazy scsi stuff.
Revision 1.154 / (download) - annotate - [select for diffs], Wed Oct 15 23:23:51 2008 UTC (15 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.153: +2 -2 lines
Diff to previous 1.153 (colored)
make random(9) return per-cpu values (by saving the seed in the cpuinfo), which are uniform for the profclock on each cpu in a SMP system (but using a different seed for each cpu). on all cpus, avoid seeding with a value out of the [0, 2^31-1] range (since that is not stable) ok kettenis drahn
Revision 1.153 / (download) - annotate - [select for diffs], Tue Oct 14 18:27:29 2008 UTC (15 years, 8 months ago) by guenther
Branch: MAIN
Changes since 1.152: +2 -1 lines
Diff to previous 1.152 (colored)
Back-in; problems were apparently elsewhere. Put a reference count in struct process to prevent use-after-free if the main thread reaches the reaper ahead of some other thread in the process. Use the reference count to update the user process count correctly when changin real uid. "please re-commit before something else nasty comes in" deraadt@
Revision 1.152 / (download) - annotate - [select for diffs], Fri Oct 10 14:35:06 2008 UTC (15 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.151: +0 -1 lines
Diff to previous 1.151 (colored)
backout; is causing some people difficulty
Revision 1.151 / (download) - annotate - [select for diffs], Thu Oct 9 06:31:53 2008 UTC (15 years, 8 months ago) by guenther
Branch: MAIN
Changes since 1.150: +2 -1 lines
Diff to previous 1.150 (colored)
Put a reference count in struct process to prevent use-after-free if the main thread reaches the reaper ahead of some other thread in the process. ok art@ tedu@
Revision 1.150 / (download) - annotate - [select for diffs], Mon Jun 9 07:07:16 2008 UTC (16 years ago) by djm
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE,
OPENBSD_4_4
Changes since 1.149: +2 -2 lines
Diff to previous 1.149 (colored)
rename arc4random_bytes => arc4random_buf to match libc's nicer name; ok deraadt@
Revision 1.149 / (download) - annotate - [select for diffs], Tue May 6 17:19:40 2008 UTC (16 years, 1 month ago) by thib
Branch: MAIN
Changes since 1.148: +3 -3 lines
Diff to previous 1.148 (colored)
retire vfs_mountroot(); setroot() is now (and has been) responsible for setting the mountroot function pointer "to the right thing", or failing todo that, to ffs_mountroot; based on a discussion/diff from deraadt@. OK deraadt@
Revision 1.148 / (download) - annotate - [select for diffs], Tue Jan 1 16:31:42 2008 UTC (16 years, 5 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE,
OPENBSD_4_3
Changes since 1.147: +2 -2 lines
Diff to previous 1.147 (colored)
Welcome to the jungle of 2008.
Revision 1.147 / (download) - annotate - [select for diffs], Sun Nov 25 15:56:17 2007 UTC (16 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.146: +3 -13 lines
Diff to previous 1.146 (colored)
convert crypto thread to workq. add WQ_DIRECTOK flag to workq. combined, this lets us use crypto before the thread is running and therefore cryptoraid can attach nice and early. ok/testing deraadt mbalmer marco
Revision 1.146 / (download) - annotate - [select for diffs], Tue Oct 16 23:41:42 2007 UTC (16 years, 7 months ago) by fgsch
Branch: MAIN
Changes since 1.145: +1 -2 lines
Diff to previous 1.145 (colored)
more remove unneeded declarations that shadows existing vars; ok by many.
Revision 1.145 / (download) - annotate - [select for diffs], Wed Oct 10 15:53:53 2007 UTC (16 years, 8 months ago) by art
Branch: MAIN
Changes since 1.144: +4 -2 lines
Diff to previous 1.144 (colored)
Make context switching much more MI: - Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
Revision 1.144 / (download) - annotate - [select for diffs], Mon Sep 10 18:49:45 2007 UTC (16 years, 9 months ago) by miod
Branch: MAIN
Changes since 1.143: +2 -2 lines
Diff to previous 1.143 (colored)
Introduce a md pmap hook, pmap_remove_holes(), which is supposed to mark the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
Revision 1.143 / (download) - annotate - [select for diffs], Wed Jul 25 23:11:52 2007 UTC (16 years, 10 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE,
OPENBSD_4_2
Changes since 1.142: +1 -3 lines
Diff to previous 1.142 (colored)
Back out the tracking of procs in struct selinfo. There's one serious bug in the code, but as soon as I try to fix it, it seems to trigger some other bugs. Instead of trying to figure out what's going on while everyone suffers, it's better to back out and figure out the bugs outside the tree.
Revision 1.142 / (download) - annotate - [select for diffs], Fri Jun 1 19:25:09 2007 UTC (17 years ago) by deraadt
Branch: MAIN
Changes since 1.141: +2 -4 lines
Diff to previous 1.141 (colored)
some architectures called setroot() from cpu_configure(), *way* before some subsystems were enabled. others used a *md_diskconf -> diskconf() method to make sure init_main could "do late setroot". Change all architectures to have diskconf(), use it directly & late. tested by todd and myself on most architectures, ok miod too
Revision 1.141 / (download) - annotate - [select for diffs], Thu May 31 18:16:59 2007 UTC (17 years ago) by dlg
Branch: MAIN
Changes since 1.140: +6 -1 lines
Diff to previous 1.140 (colored)
add an interface for work queues run from a kernel thread. this type of code is implemented many times already in the kernel, this is a generic version of all those replicated code bases. originally from tedu@ ok tedu@ tom@ deraadt@
Revision 1.140 / (download) - annotate - [select for diffs], Wed May 16 17:27:30 2007 UTC (17 years, 1 month ago) by art
Branch: MAIN
Changes since 1.139: +1 -14 lines
Diff to previous 1.139 (colored)
The world of __HAVEs and __HAVE_NOTs is reducing. All architectures have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
Revision 1.139 / (download) - annotate - [select for diffs], Thu Apr 12 22:14:15 2007 UTC (17 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.138: +2 -2 lines
Diff to previous 1.138 (colored)
move p_limit and p_cred into struct process leave macros behind for now to keep the commit small ok art beck miod pedro
Revision 1.138 / (download) - annotate - [select for diffs], Tue Apr 3 08:05:43 2007 UTC (17 years, 2 months ago) by art
Branch: MAIN
Changes since 1.137: +8 -4 lines
Diff to previous 1.137 (colored)
Start moving state that is shared among threads in a process into a new struct. Instead of doing a huge rename and deal with the fallout for weeks, like other projects that need no mention, we will slowly and carefully move things out of struct proc into a new struct process. - Create struct process and the infrastructure to create and remove them. - Move threads in a process into struct process. deraadt@, tedu@ ok
Revision 1.137 / (download) - annotate - [select for diffs], Sat Mar 24 16:01:22 2007 UTC (17 years, 2 months ago) by art
Branch: MAIN
Changes since 1.136: +3 -1 lines
Diff to previous 1.136 (colored)
Kill the horrible hack of storing the pid in struct selinfo. Instead, keep the proc pointer in it and put the selinfo on a list in struct proc in selrecord. Then clean up the list when leaving sys_select and sys_poll. miod@ ok, testing by many, including Bobs spamd boxes.
Revision 1.136 / (download) - annotate - [select for diffs], Mon Mar 19 14:33:28 2007 UTC (17 years, 2 months ago) by dlg
Branch: MAIN
Changes since 1.135: +6 -0 lines
Diff to previous 1.135 (colored)
attach softraid to the root of the device tree in a machine independant way, rather than requiring some glue in each machines mainbus probe. it is still commented out. based on a discussion with miod@ ok marco@ deraadt@
Revision 1.135 / (download) - annotate - [select for diffs], Thu Mar 15 10:22:30 2007 UTC (17 years, 3 months ago) by art
Branch: MAIN
Changes since 1.134: +2 -2 lines
Diff to previous 1.134 (colored)
Since p_flag is often manipulated in interrupts and without biglock it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok
Revision 1.134 / (download) - annotate - [select for diffs], Fri Jan 12 07:41:31 2007 UTC (17 years, 5 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE,
OPENBSD_4_1
Changes since 1.133: +1 -4 lines
Diff to previous 1.133 (colored)
Switch some lockmgr locks to rwlocks. In this commit: - gdt lock on amd64 - sysctl lock - malloc sysctl lock - disk sysctl lock - swap syscall lock miod@, pedro@ ok (and "looks good" others@)
Revision 1.133 / (download) - annotate - [select for diffs], Tue Jan 2 06:07:58 2007 UTC (17 years, 5 months ago) by drahn
Branch: MAIN
Changes since 1.132: +2 -2 lines
Diff to previous 1.132 (colored)
2007
Revision 1.132 / (download) - annotate - [select for diffs], Wed Nov 29 12:24:17 2006 UTC (17 years, 6 months ago) by miod
Branch: MAIN
Changes since 1.131: +2 -2 lines
Diff to previous 1.131 (colored)
Kernel stack can be swapped. This means that stuff that's on the stack should never be referenced outside the context of the process to which this stack belongs unless we do the PHOLD/PRELE dance. Loads of code doesn't follow the rules here. Instead of trying to track down all offenders and fix this hairy situation, it makes much more sense to not swap kernel stacks. From art@, tested by many some time ago.
Revision 1.131 / (download) - annotate - [select for diffs], Tue Nov 14 18:00:27 2006 UTC (17 years, 7 months ago) by jmc
Branch: MAIN
Changes since 1.130: +2 -2 lines
Diff to previous 1.130 (colored)
grammar, spelling, and style fixes from bret lambert; kern_descrip.c change ok deraadt
Revision 1.130 / (download) - annotate - [select for diffs], Sat May 6 23:02:36 2006 UTC (18 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE,
OPENBSD_4_0
Changes since 1.129: +10 -2 lines
Diff to previous 1.129 (colored)
initialize the propolice cookie more carefully so -fstack-protector-all will work; ok miod
Revision 1.129 / (download) - annotate - [select for diffs], Sat Mar 4 22:40:15 2006 UTC (18 years, 3 months ago) by brad
Branch: MAIN
Changes since 1.128: +2 -2 lines
Diff to previous 1.128 (colored)
With the exception of two other small uncommited diffs this moves the remainder of the network stack from splimp to splnet. ok miod@
Revision 1.128 / (download) - annotate - [select for diffs], Sun Jan 1 11:54:31 2006 UTC (18 years, 5 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE,
OPENBSD_3_9
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (colored)
2006
Revision 1.127 / (download) - annotate - [select for diffs], Thu Dec 22 06:55:03 2005 UTC (18 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.126: +1 -2 lines
Diff to previous 1.126 (colored)
fix memory leak conditions in thrsleep and significantly simplify
Revision 1.126 / (download) - annotate - [select for diffs], Sat Dec 3 18:09:08 2005 UTC (18 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.125: +5 -1 lines
Diff to previous 1.125 (colored)
kernel support for threaded processes (rthreads). uses rfork(RFTHREAD) to create threads, which are presently processes that are a little more tightly bound together. several new syscalls added to facilitate a userland thread library. all conditional on RTHREADS, currently disabled. ok deraadt
Revision 1.125 / (download) - annotate - [select for diffs], Sat Nov 12 04:31:24 2005 UTC (18 years, 7 months ago) by jsg
Branch: MAIN
Changes since 1.124: +8 -15 lines
Diff to previous 1.124 (colored)
ansi. No binary change.
Revision 1.124 / (download) - annotate - [select for diffs], Mon Jul 18 11:43:14 2005 UTC (18 years, 10 months ago) by tom
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE,
OPENBSD_3_8
Changes since 1.123: +1 -1 lines
Diff to previous 1.123 (colored)
Typo in comment, from Giorgos Keramidas, keramida (at) ceid (dot) upatras (dot) gr. Thanks.
Revision 1.123 / (download) - annotate - [select for diffs], Sat Jan 1 18:12:58 2005 UTC (19 years, 5 months ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE,
OPENBSD_3_7
Changes since 1.122: +2 -2 lines
Diff to previous 1.122 (colored)
2005
Revision 1.122 / (download) - annotate - [select for diffs], Sun Dec 26 21:22:13 2004 UTC (19 years, 5 months ago) by miod
Branch: MAIN
Changes since 1.121: +2 -2 lines
Diff to previous 1.121 (colored)
Use list and queue macros where applicable to make the code easier to read; no change in compiler assembly output.
Revision 1.121 / (download) - annotate - [select for diffs], Sun Nov 28 02:11:33 2004 UTC (19 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.120: +3 -1 lines
Diff to previous 1.120 (colored)
mountroothooks are called after the root filesystem is mounted.
Revision 1.120 / (download) - annotate - [select for diffs], Tue Nov 23 19:08:55 2004 UTC (19 years, 6 months ago) by miod
Branch: MAIN
Changes since 1.119: +66 -22 lines
Diff to previous 1.119 (colored)
Create the init process earlier, before the root filesystem is mounted, and have it stall on a semaphore. This allows all kthread creations which could have been requested during autoconf to be processed before root is mounted as well. This causes umass devices attached to any usb with flags 1 (such as on macppc) to configure properly instead of panicing the kernel at mountroot time. From NetBSD; tested by various.
Revision 1.119 / (download) - annotate - [select for diffs], Wed Jul 28 17:15:12 2004 UTC (19 years, 10 months ago) by tholo
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE,
OPENBSD_3_6
Changes since 1.118: +7 -3 lines
Diff to previous 1.118 (colored)
This touches only MI code, and adds new time keeping code. The 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
Revision 1.118 / (download) - annotate - [select for diffs], Tue Jul 20 20:19:52 2004 UTC (19 years, 10 months ago) by art
Branch: MAIN
Changes since 1.117: +1 -4 lines
Diff to previous 1.117 (colored)
protect printf with a mutex instead of SIMPLELOCK.
Revision 1.117 / (download) - annotate - [select for diffs], Thu Jun 24 19:35:24 2004 UTC (19 years, 11 months ago) by tholo
Branch: MAIN
Changes since 1.116: +3 -2 lines
Diff to previous 1.116 (colored)
This moves access to wall and uptime variables in MI code, 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@
Revision 1.116 / (download) - annotate - [select for diffs], Sun Jun 13 21:49:26 2004 UTC (20 years ago) by niklas
Branch: MAIN
Changes since 1.115: +23 -7 lines
Diff to previous 1.115 (colored)
debranch SMP, have fun
Revision 1.46.2.24 / (download) - annotate - [select for diffs], Thu Jun 10 11:40:33 2004 UTC (20 years ago) by niklas
Branch: SMP
Changes since 1.46.2.23: +5 -5 lines
Diff to previous 1.46.2.23 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored)
sync with head, make i386 __HAVE_CPUINFO
Revision 1.115 / (download) - annotate - [select for diffs], Wed Jun 9 20:18:28 2004 UTC (20 years ago) by art
Branch: MAIN
CVS Tags: SMP_SYNC_B,
SMP_SYNC_A
Changes since 1.114: +13 -2 lines
Diff to previous 1.114 (colored)
Merge in a piece of the SMP branch into HEAD. 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@
Revision 1.46.2.23 / (download) - annotate - [select for diffs], Tue Jun 8 19:39:49 2004 UTC (20 years ago) by art
Branch: SMP
Changes since 1.46.2.22: +4 -2 lines
Diff to previous 1.46.2.22 (colored) to branchpoint 1.46 (colored)
Set runtime in the !MP case too. deraadt@ ok
Revision 1.114 / (download) - annotate - [select for diffs], Tue Jun 8 18:09:31 2004 UTC (20 years ago) by marc
Branch: MAIN
Changes since 1.113: +2 -1 lines
Diff to previous 1.113 (colored)
pull ncpus support from smp tree into main branch. remove alpha specific definition of ncpus. OK (and tested on alpha) deraadt@
Revision 1.46.2.22 / (download) - annotate - [select for diffs], Sun Jun 6 21:46:12 2004 UTC (20 years ago) by tedu
Branch: SMP
Changes since 1.46.2.21: +3 -1 lines
Diff to previous 1.46.2.21 (colored) to branchpoint 1.46 (colored)
don't rely on curcpu() and other fixes for non-mp
Revision 1.46.2.21 / (download) - annotate - [select for diffs], Sat Jun 5 23:13:01 2004 UTC (20 years ago) by niklas
Branch: SMP
Changes since 1.46.2.20: +9 -4 lines
Diff to previous 1.46.2.20 (colored) to branchpoint 1.46 (colored)
Merge with the trunk
Revision 1.46.2.20 / (download) - annotate - [select for diffs], Sat Jun 5 17:19:55 2004 UTC (20 years ago) by niklas
Branch: SMP
Changes since 1.46.2.19: +9 -4 lines
Diff to previous 1.46.2.19 (colored) to branchpoint 1.46 (colored)
Make a few scheduling globals per-cpu, mostly NetBSD code
Revision 1.113 / (download) - annotate - [select for diffs], Thu Apr 1 00:27:51 2004 UTC (20 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.112: +8 -2 lines
Diff to previous 1.112 (colored)
init kqueues normally, from pedro martelletto
Revision 1.112 / (download) - annotate - [select for diffs], Sun Mar 14 23:12:11 2004 UTC (20 years, 3 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE,
OPENBSD_3_5
Changes since 1.111: +2 -3 lines
Diff to previous 1.111 (colored)
nicer printf for copyright. from Pedro Martelletto
Revision 1.46.2.19 / (download) - annotate - [select for diffs], Thu Feb 19 10:56:37 2004 UTC (20 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.46.2.18: +21 -15 lines
Diff to previous 1.46.2.18 (colored) to branchpoint 1.46 (colored)
Merge of current from two weeks agointo the SMP branch
Revision 1.111 / (download) - annotate - [select for diffs], Wed Jan 21 19:03:44 2004 UTC (20 years, 4 months ago) by tedu
Branch: MAIN
Changes since 1.110: +6 -6 lines
Diff to previous 1.110 (colored)
call timeout_startup early, so timeouts are available. report from sam smith ok art deraadt
Revision 1.110 / (download) - annotate - [select for diffs], Wed Jan 14 19:34:05 2004 UTC (20 years, 5 months ago) by grange
Branch: MAIN
Changes since 1.109: +5 -1 lines
Diff to previous 1.109 (colored)
Get rid of M_LOCKF and use pool for allocating lockf structures. From NetBSD. Tested by many people, ok art@.
Revision 1.109 / (download) - annotate - [select for diffs], Thu Jan 1 00:04:35 2004 UTC (20 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.108: +2 -2 lines
Diff to previous 1.108 (colored)
2004
Revision 1.108 / (download) - annotate - [select for diffs], Mon Nov 3 18:24:52 2003 UTC (20 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.107: +2 -6 lines
Diff to previous 1.107 (colored)
use arc4random_bytes
Revision 1.107 / (download) - annotate - [select for diffs], Mon Sep 1 18:06:03 2003 UTC (20 years, 9 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE,
OPENBSD_3_4
Changes since 1.106: +4 -4 lines
Diff to previous 1.106 (colored)
match syscallargs comments with reality from Patrick Latifi <patrick.l@hermes.usherb.ca> ok jason@ tedu@
Revision 1.106 / (download) - annotate - [select for diffs], Thu Aug 21 18:56:07 2003 UTC (20 years, 9 months ago) by tedu
Branch: MAIN
Changes since 1.105: +7 -1 lines
Diff to previous 1.105 (colored)
emulation is now controlled by sysctl. changes: 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@
Revision 1.46.2.18 / (download) - annotate - [select for diffs], Sat Jun 7 11:03:40 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.46.2.17: +2 -6 lines
Diff to previous 1.46.2.17 (colored) to branchpoint 1.46 (colored)
Sync SMP branch to -current
Revision 1.105 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:05 2003 UTC (21 years ago) by millert
Branch: MAIN
Changes since 1.104: +2 -6 lines
Diff to previous 1.104 (colored)
Remove the advertising clause in the UCB license which Berkeley rescinded 22 July 1999. Proofed by myself and Theo.
Revision 1.88.2.3 / (download) - annotate - [select for diffs], Mon May 19 22:31:09 2003 UTC (21 years ago) by tedu
Branch: UBC
Changes since 1.88.2.2: +46 -41 lines
Diff to previous 1.88.2.2 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)
sync
Revision 1.46.2.17 / (download) - annotate - [select for diffs], Sun May 18 17:41:16 2003 UTC (21 years ago) by niklas
Branch: SMP
Changes since 1.46.2.16: +3 -3 lines
Diff to previous 1.46.2.16 (colored) to branchpoint 1.46 (colored)
Go back to defining simplelocks as noops, even if MULTIPROCESSOR. Instead use a new real simple recursive-lock capable lock implementation for the few necessary locks (kernel, scheduler, tlb shootdown, printf and ddb MP). This because we cannot trust the old fine-grained locks spread out all over our kernel, and not really tested.
Revision 1.46.2.16 / (download) - annotate - [select for diffs], Fri May 16 00:29:43 2003 UTC (21 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.46.2.15: +15 -1 lines
Diff to previous 1.46.2.15 (colored) to branchpoint 1.46 (colored)
merge the trunk so we will get the genfs and locking fixes
Revision 1.46.2.15 / (download) - annotate - [select for diffs], Thu May 15 04:08:02 2003 UTC (21 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.46.2.14: +14 -3 lines
Diff to previous 1.46.2.14 (colored) to branchpoint 1.46 (colored)
Biglock! Most of the logic comes from NetBSD. Also a lot of fixes, enough to get a dual cpu machine actually run MP for a very short while (we are just talking about seconds) before starving out one of the cpus. More coming very soon.
Revision 1.104 / (download) - annotate - [select for diffs], Tue May 13 22:45:11 2003 UTC (21 years, 1 month ago) by miod
Branch: MAIN
CVS Tags: UBC_SYNC_A
Changes since 1.103: +7 -1 lines
Diff to previous 1.103 (colored)
Add option NO_PROPOLICE, which explicitely disables the use of the propolice 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.
Revision 1.46.2.14 / (download) - annotate - [select for diffs], Tue May 13 19:21:28 2003 UTC (21 years, 1 month ago) by ho
Branch: SMP
Changes since 1.46.2.13: +2 -2 lines
Diff to previous 1.46.2.13 (colored) to branchpoint 1.46 (colored)
Sync the SMP branch to -current. This includes moving to ELF.
Revision 1.103 / (download) - annotate - [select for diffs], Tue May 13 06:11:11 2003 UTC (21 years, 1 month ago) by tedu
Branch: MAIN
Changes since 1.102: +9 -1 lines
Diff to previous 1.102 (colored)
support for propolice in the kernel. some style input itojun@ tdeval@ toby@ tested, mostly by deraadt, on i386, macppc, vax, sparc64 ok deraadt@ miod@
Revision 1.102 / (download) - annotate - [select for diffs], Fri May 9 00:49:46 2003 UTC (21 years, 1 month ago) by art
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)
Don't map the fake arg list for init with X permissions. niklas@ tdeval@ ok
Revision 1.46.2.13 / (download) - annotate - [select for diffs], Fri Mar 28 00:41:26 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.46.2.12: +31 -39 lines
Diff to previous 1.46.2.12 (colored) to branchpoint 1.46 (colored)
Sync the SMP branch with 3.3
Revision 1.101 / (download) - annotate - [select for diffs], Thu Mar 6 17:06:18 2003 UTC (21 years, 3 months ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE,
OPENBSD_3_3
Changes since 1.100: +14 -14 lines
Diff to previous 1.100 (colored)
move cpu_configre() lower after the proc0 is more completely initialized. still calculate the memory limits for proc0 at after the autoconf is done. miod@ testing on everything; art@ ok
Revision 1.100 / (download) - annotate - [select for diffs], Thu Jan 9 22:27:12 2003 UTC (21 years, 5 months ago) by miod
Branch: MAIN
Changes since 1.99: +7 -5 lines
Diff to previous 1.99 (colored)
Remove fetch(9) and store(9) functions from the kernel, and replace the few remaining instances of them with appropriate copy(9) usage. ok art@, tested on all arches unless my memory is non-ECC
Revision 1.99 / (download) - annotate - [select for diffs], Wed Jan 1 21:05:36 2003 UTC (21 years, 5 months ago) by pvalchev
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98 (colored)
2003 in copyright
Revision 1.98 / (download) - annotate - [select for diffs], Thu Dec 19 00:57:07 2002 UTC (21 years, 5 months ago) by mickey
Branch: MAIN
Changes since 1.97: +1 -5 lines
Diff to previous 1.97 (colored)
simplify stack grownups (growndowns are not touched)
Revision 1.97 / (download) - annotate - [select for diffs], Fri Nov 22 16:47:28 2002 UTC (21 years, 6 months ago) by art
Branch: MAIN
Changes since 1.96: +6 -14 lines
Diff to previous 1.96 (colored)
Instead of statically allocating filedescs for proc0, use fdinit.
Revision 1.96 / (download) - annotate - [select for diffs], Fri Nov 22 09:50:08 2002 UTC (21 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.95: +6 -5 lines
Diff to previous 1.95 (colored)
repair proc0 rlimit setup for >2GB machines
Revision 1.88.2.2 / (download) - annotate - [select for diffs], Tue Jun 11 03:29:40 2002 UTC (22 years ago) by art
Branch: UBC
Changes since 1.88.2.1: +16 -15 lines
Diff to previous 1.88.2.1 (colored) to branchpoint 1.88 (colored)
Sync UBC branch to -current
Revision 1.95 / (download) - annotate - [select for diffs], Mon May 27 13:42:16 2002 UTC (22 years ago) by itojun
Branch: MAIN
CVS Tags: UBC_SYNC_B,
OPENBSD_3_2_BASE,
OPENBSD_3_2
Changes since 1.94: +2 -1 lines
Diff to previous 1.94 (colored)
if_attach() gets called before domaininit(). scan all interfaces for if_afdata initialization after domaininit().
Revision 1.46.2.12 / (download) - annotate - [select for diffs], Thu Mar 28 11:43:04 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.46.2.11: +14 -14 lines
Diff to previous 1.46.2.11 (colored) to branchpoint 1.46 (colored)
Merge in -current from about a week ago
Revision 1.94 / (download) - annotate - [select for diffs], Thu Mar 14 20:31:31 2002 UTC (22 years, 3 months ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE,
OPENBSD_3_1
Changes since 1.93: +2 -2 lines
Diff to previous 1.93 (colored)
remove ambiguity in version,ostype,osversion,osrelease and their constanity, they are and declarre 'em accordingly also removing private externies of those
Revision 1.93 / (download) - annotate - [select for diffs], Thu Mar 14 01:27:04 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
Changes since 1.92: +14 -14 lines
Diff to previous 1.92 (colored)
First round of __P removal in sys
Revision 1.46.2.11 / (download) - annotate - [select for diffs], Wed Mar 6 02:13:22 2002 UTC (22 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.46.2.10: +2 -4 lines
Diff to previous 1.46.2.10 (colored) to branchpoint 1.46 (colored)
Merge in trunk
Revision 1.88.2.1 / (download) - annotate - [select for diffs], Thu Jan 31 22:55:40 2002 UTC (22 years, 4 months ago) by niklas
Branch: UBC
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 (colored)
Merge in -current, builds on i386, otherwise untested
Revision 1.92 / (download) - annotate - [select for diffs], Wed Jan 30 20:29:44 2002 UTC (22 years, 4 months ago) by nordin
Branch: MAIN
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 (colored)
Add proc0 to the PIDHASH table. art@ ok
Revision 1.91 / (download) - annotate - [select for diffs], Wed Jan 16 20:50:17 2002 UTC (22 years, 4 months ago) by miod
Branch: MAIN
Changes since 1.90: +1 -2 lines
Diff to previous 1.90 (colored)
Don't include <sys/map.h> when you don't need what's in it.
Revision 1.90 / (download) - annotate - [select for diffs], Tue Jan 1 20:41:56 2002 UTC (22 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.89: +2 -2 lines
Diff to previous 1.89 (colored)
2002
Revision 1.89 / (download) - annotate - [select for diffs], Wed Dec 19 08:58:06 2001 UTC (22 years, 5 months ago) by art
Branch: MAIN
Changes since 1.88: +2 -4 lines
Diff to previous 1.88 (colored)
UBC was a disaster. It worked very good when it worked, but on some 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.
Revision 1.46.2.10 / (download) - annotate - [select for diffs], Wed Dec 5 01:02:39 2001 UTC (22 years, 6 months ago) by niklas
Branch: SMP
Changes since 1.46.2.9: +7 -2 lines
Diff to previous 1.46.2.9 (colored) to branchpoint 1.46 (colored)
Merge in -current
Revision 1.88 / (download) - annotate - [select for diffs], Tue Dec 4 23:22:42 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
CVS Tags: UBC_BASE
Branch point for: UBC
Changes since 1.87: +2 -2 lines
Diff to previous 1.87 (colored)
Yet another sync to NetBSD uvm. 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.
Revision 1.87 / (download) - annotate - [select for diffs], Wed Nov 28 13:47:39 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.86: +2 -3 lines
Diff to previous 1.86 (colored)
Sync in more uvm changes from NetBSD. This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
Revision 1.86 / (download) - annotate - [select for diffs], Tue Nov 27 22:53:19 2001 UTC (22 years, 6 months ago) by provos
Branch: MAIN
Changes since 1.85: +5 -1 lines
Diff to previous 1.85 (colored)
change socket allocation to pool allocator; from netbsd; okay niklas@
Revision 1.85 / (download) - annotate - [select for diffs], Tue Nov 27 05:27:11 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.84: +3 -1 lines
Diff to previous 1.84 (colored)
Merge in the unified buffer cache code as found in NetBSD 2001/03/10. The 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.
Revision 1.46.2.9 / (download) - annotate - [select for diffs], Tue Nov 13 23:04:23 2001 UTC (22 years, 7 months ago) by niklas
Branch: SMP
Changes since 1.46.2.8: +11 -18 lines
Diff to previous 1.46.2.8 (colored) to branchpoint 1.46 (colored)
merge in -current
Revision 1.84 / (download) - annotate - [select for diffs], Sat Nov 10 18:42:31 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.83: +6 -2 lines
Diff to previous 1.83 (colored)
Merge in some parts of the ubc work that has been done in NetBSD that are not 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.
Revision 1.83 / (download) - annotate - [select for diffs], Wed Nov 7 01:18:01 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (colored)
Add an alignment argument to uvm_map that specifies an alignment hint for the virtual address.
Revision 1.82 / (download) - annotate - [select for diffs], Tue Nov 6 19:53:20 2001 UTC (22 years, 7 months ago) by miod
Branch: MAIN
Changes since 1.81: +1 -3 lines
Diff to previous 1.81 (colored)
Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary. (Look ma, I might have broken the tree)
Revision 1.81 / (download) - annotate - [select for diffs], Tue Nov 6 18:41:10 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.80: +4 -4 lines
Diff to previous 1.80 (colored)
Let fork1, uvm_fork, and cpu_fork take a function/argument pair as argument, 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.
Revision 1.80 / (download) - annotate - [select for diffs], Tue Nov 6 13:36:52 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.79: +2 -11 lines
Diff to previous 1.79 (colored)
More sync to NetBSD. - 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.
Revision 1.46.2.8 / (download) - annotate - [select for diffs], Wed Oct 31 03:26:28 2001 UTC (22 years, 7 months ago) by nate
Branch: SMP
Changes since 1.46.2.7: +31 -23 lines
Diff to previous 1.46.2.7 (colored) to branchpoint 1.46 (colored)
Sync the SMP branch to something just after 3.0
Revision 1.46.2.7 / (download) - annotate - [select for diffs], Sat Oct 27 10:00:47 2001 UTC (22 years, 7 months ago) by niklas
Branch: SMP
Changes since 1.46.2.6: +8 -2 lines
Diff to previous 1.46.2.6 (colored) to branchpoint 1.46 (colored)
Try to spinup the application processors, not yet working.
Revision 1.79 / (download) - annotate - [select for diffs], Thu Oct 11 08:07:12 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE,
OPENBSD_3_0
Changes since 1.78: +6 -6 lines
Diff to previous 1.78 (colored)
Count pages not buffers. This fixes deadlock condition which mainly 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@.
Revision 1.78 / (download) - annotate - [select for diffs], Sat Sep 29 20:09:34 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
Changes since 1.77: +6 -6 lines
Diff to previous 1.77 (colored)
Move signal initialization before dostartuphooks to avoid panic at start of raid autoconfiguration thread. Required for upcoming RAIDFrame code update. From Thierry Deval <TDeval@PrimeOBJ.COM>
Revision 1.77 / (download) - annotate - [select for diffs], Mon Sep 17 19:17:30 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
Changes since 1.76: +17 -7 lines
Diff to previous 1.76 (colored)
The first implementation of the buffer flushing daemon. It solves our 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.
Revision 1.76 / (download) - annotate - [select for diffs], Wed Sep 12 15:48:45 2001 UTC (22 years, 9 months ago) by art
Branch: MAIN
Changes since 1.75: +2 -2 lines
Diff to previous 1.75 (colored)
Rename timeout_init to timeout_startup to deconfuse a bit.
Revision 1.75 / (download) - annotate - [select for diffs], Fri Sep 7 12:58:18 2001 UTC (22 years, 9 months ago) by art
Branch: MAIN
Changes since 1.74: +3 -4 lines
Diff to previous 1.74 (colored)
make starting of init slightly cleaner. Also sets initproc earlier.
Revision 1.74 / (download) - annotate - [select for diffs], Thu Aug 23 14:01:02 2001 UTC (22 years, 9 months ago) by art
Branch: MAIN
Changes since 1.73: +6 -1 lines
Diff to previous 1.73 (colored)
We can now move timeout_init into main().
Revision 1.73 / (download) - annotate - [select for diffs], Fri Jul 27 09:55:07 2001 UTC (22 years, 10 months ago) by niklas
Branch: MAIN
Changes since 1.72: +3 -1 lines
Diff to previous 1.72 (colored)
Startup hooks. Can be used for providing root/swap devices from device 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!
Revision 1.46.2.6 / (download) - annotate - [select for diffs], Sat Jul 14 10:02:19 2001 UTC (22 years, 11 months ago) by ho
Branch: SMP
Changes since 1.46.2.5: +2 -1 lines
Diff to previous 1.46.2.5 (colored) to branchpoint 1.46 (colored)
Initial import of some SMP code from NetBSD. Not really working here yet, but there is some work in progress.
Revision 1.72 / (download) - annotate - [select for diffs], Thu Jul 5 10:12:24 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.71: +1 -9 lines
Diff to previous 1.71 (colored)
Get rid of REAL_CLISTS. It was never implemented and the tentacles are everywhhere.
Revision 1.46.2.5 / (download) - annotate - [select for diffs], Wed Jul 4 10:48:14 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.46.2.4: +29 -85 lines
Diff to previous 1.46.2.4 (colored) to branchpoint 1.46 (colored)
Merge in -current from two days ago in the SMP branch. As usual with merges, they do not indicate progress, so do not hold your breath for working SMP, and do not mail me and ask about the state of it. It has not changed. There is work ongoing, but very, very slowly. The commit is done in parts as to not lock up the tree in too big chunks at a time.
Revision 1.71 / (download) - annotate - [select for diffs], Wed Jun 27 07:16:28 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.70: +1 -27 lines
Diff to previous 1.70 (colored)
no more cpu_set_init_frame
Revision 1.70 / (download) - annotate - [select for diffs], Wed Jun 27 07:02:45 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.69: +1 -2 lines
Diff to previous 1.69 (colored)
vm_pageout.h bye bye.
Revision 1.69 / (download) - annotate - [select for diffs], Wed Jun 27 04:49:40 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.68: +1 -45 lines
Diff to previous 1.68 (colored)
remove old vm
Revision 1.68 / (download) - annotate - [select for diffs], Sat Jun 23 18:30:37 2001 UTC (22 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)
merge crypto/crypto{dev,}.h to crypto/cryptodev.h, to avoid name conflicts inside OpenSSL codebase
Revision 1.67 / (download) - annotate - [select for diffs], Sat Jun 23 06:04:34 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.66: +7 -1 lines
Diff to previous 1.66 (colored)
Add pipe_init, call it from main, move the pool initialization into it.
Revision 1.66 / (download) - annotate - [select for diffs], Fri Jun 22 14:14:08 2001 UTC (22 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.65: +9 -10 lines
Diff to previous 1.65 (colored)
KNF
Revision 1.65 / (download) - annotate - [select for diffs], Thu May 17 18:41:44 2001 UTC (23 years, 1 month ago) by provos
Branch: MAIN
Changes since 1.64: +8 -4 lines
Diff to previous 1.64 (colored)
convert mbuf and cluster allocation to pool, mostly from NetBSD okay art@ miod@
Revision 1.64 / (download) - annotate - [select for diffs], Wed May 16 12:49:45 2001 UTC (23 years, 1 month ago) by art
Branch: MAIN
Changes since 1.63: +6 -1 lines
Diff to previous 1.63 (colored)
Use pool to allocate struct filedesc0 and struct file.
Revision 1.46.2.4 / (download) - annotate - [select for diffs], Mon May 14 22:32:39 2001 UTC (23 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.46.2.3: +51 -16 lines
Diff to previous 1.46.2.3 (colored) to branchpoint 1.46 (colored)
merge in approximately 2.9 into SMP branch
Revision 1.63 / (download) - annotate - [select for diffs], Sat May 5 22:34:32 2001 UTC (23 years, 1 month ago) by art
Branch: MAIN
Changes since 1.62: +2 -1 lines
Diff to previous 1.62 (colored)
Rename configure() to cpu_configure(). Move it from cpu_startup() to main().
Revision 1.62 / (download) - annotate - [select for diffs], Fri Apr 6 23:41:02 2001 UTC (23 years, 2 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE,
OPENBSD_2_9
Changes since 1.61: +2 -3 lines
Diff to previous 1.61 (colored)
Get rid of vm_pmap from struct vmspace.
Revision 1.61 / (download) - annotate - [select for diffs], Mon Apr 2 21:43:11 2001 UTC (23 years, 2 months ago) by niklas
Branch: MAIN
Changes since 1.60: +7 -5 lines
Diff to previous 1.60 (colored)
On popular demand, the Linux-compatibility clone(2) implementation based on NetBSD's code, as well as some faked Posix RT extensions by me. This makes at least simple linuxthreads tests work.
Revision 1.60 / (download) - annotate - [select for diffs], Fri Mar 16 15:49:05 2001 UTC (23 years, 3 months ago) by art
Branch: MAIN
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored)
Use CIRCLEQ macros for mountlist.
Revision 1.59 / (download) - annotate - [select for diffs], Fri Mar 16 08:49:09 2001 UTC (23 years, 3 months ago) by art
Branch: MAIN
Changes since 1.58: +4 -1 lines
Diff to previous 1.58 (colored)
Use a lockmgr lock for keeping down the vslocked memory in sysctl instead of a home-brew equivalent.
Revision 1.58 / (download) - annotate - [select for diffs], Mon Feb 5 21:28:06 2001 UTC (23 years, 4 months ago) by mickey
Branch: MAIN
Changes since 1.57: +3 -2 lines
Diff to previous 1.57 (colored)
only attach pseudo-device if it's counter is above zero; deraadt@, maja@ ok
Revision 1.57 / (download) - annotate - [select for diffs], Mon Jan 1 16:06:12 2001 UTC (23 years, 5 months ago) by aaron
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)
2001
Revision 1.56 / (download) - annotate - [select for diffs], Wed Nov 8 05:41:04 2000 UTC (23 years, 7 months ago) by art
Branch: MAIN
Changes since 1.55: +6 -2 lines
Diff to previous 1.55 (colored)
If MD code has defined curproc, don't do it here. This is not a perfect solution.
Revision 1.55 / (download) - annotate - [select for diffs], Sun Jun 18 03:07:48 2000 UTC (23 years, 11 months ago) by angelos
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE,
OPENBSD_2_8
Changes since 1.54: +18 -1 lines
Diff to previous 1.54 (colored)
Process ID 5 is now the crypto kernel thread.
Revision 1.54 / (download) - annotate - [select for diffs], Fri Jun 16 21:47:14 2000 UTC (24 years ago) by provos
Branch: MAIN
Changes since 1.53: +1 -5 lines
Diff to previous 1.53 (colored)
take MIN/MAX from param.h, okay theo@
Revision 1.53 / (download) - annotate - [select for diffs], Mon Jun 5 11:02:50 2000 UTC (24 years ago) by art
Branch: MAIN
Changes since 1.52: +15 -2 lines
Diff to previous 1.52 (colored)
Changes to exit handling. 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
Revision 1.46.2.3 / (download) - annotate - [select for diffs], Fri Mar 24 09:09:23 2000 UTC (24 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.46.2.2: +37 -8 lines
Diff to previous 1.46.2.2 (colored) to branchpoint 1.46 (colored)
Sync with -current
Revision 1.52 / (download) - annotate - [select for diffs], Thu Mar 23 16:54:44 2000 UTC (24 years, 2 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_2_7_BASE,
OPENBSD_2_7
Changes since 1.51: +7 -1 lines
Diff to previous 1.51 (colored)
Don't reinitialize the tsleep and ITIMER_REAL timers all the time. The function and the argument never change.
Revision 1.51 / (download) - annotate - [select for diffs], Thu Mar 23 10:13:58 2000 UTC (24 years, 2 months ago) by art
Branch: MAIN
Changes since 1.50: +4 -6 lines
Diff to previous 1.50 (colored)
Adapt roundrobin and schedcpu to the new timeout API.
Revision 1.50 / (download) - annotate - [select for diffs], Wed Mar 22 21:35:37 2000 UTC (24 years, 2 months ago) by mickey
Branch: MAIN
Changes since 1.49: +20 -4 lines
Diff to previous 1.49 (colored)
some more machine_stack_grows_up
Revision 1.49 / (download) - annotate - [select for diffs], Mon Mar 20 15:29:53 2000 UTC (24 years, 2 months ago) by deraadt
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)
bring proto into scope
Revision 1.48 / (download) - annotate - [select for diffs], Fri Mar 17 10:25:21 2000 UTC (24 years, 3 months ago) by angelos
Branch: MAIN
Changes since 1.47: +9 -1 lines
Diff to previous 1.47 (colored)
Cryptographic services framework, and software "device driver". The 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.
Revision 1.46.2.2 / (download) - annotate - [select for diffs], Thu Mar 2 07:04:40 2000 UTC (24 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.46.2.1: +3 -1 lines
Diff to previous 1.46.2.1 (colored) to branchpoint 1.46 (colored)
Sync with -current
Revision 1.47 / (download) - annotate - [select for diffs], Mon Feb 28 18:04:08 2000 UTC (24 years, 3 months ago) by provos
Branch: MAIN
Changes since 1.46: +3 -1 lines
Diff to previous 1.46 (colored)
Optimized fdalloc as in Banga and Mogul paper: http://www.usenix.org/publications/library/proceedings/usenix98/banga.html
Revision 1.46.2.1 / (download) - annotate - [select for diffs], Sun Feb 20 11:57:17 2000 UTC (24 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.46: +2 -1 lines
Diff to previous 1.46 (colored)
Merge in recent code from the trunk
Revision 1.46 / (download) - annotate - [select for diffs], Mon Jan 31 19:57:18 2000 UTC (24 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: SMP_BASE
Branch point for: SMP
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)
re-add fixed vfork code from art
Revision 1.45 / (download) - annotate - [select for diffs], Mon Jan 31 01:09:10 2000 UTC (24 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.44: +1 -1 lines
Diff to previous 1.44 (colored)
undo vfork changes, since non-UVM was not considered
Revision 1.44 / (download) - annotate - [select for diffs], Fri Jan 28 19:45:04 2000 UTC (24 years, 4 months ago) by art
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)
Change fork1() from taking forktype and rforkflags, into a single flags argument. Let sys_rfork build the arguments to fork1() and do the sanity checks itself.
Revision 1.43 / (download) - annotate - [select for diffs], Sat Jan 1 19:27:18 2000 UTC (24 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)
2000
Revision 1.42 / (download) - annotate - [select for diffs], Fri Nov 5 01:18:01 1999 UTC (24 years, 7 months ago) by mickey
Branch: MAIN
CVS Tags: kame_19991208
Changes since 1.41: +9 -1 lines
Diff to previous 1.41 (colored)
more stack direction fixes; art@ ok
Revision 1.41 / (download) - annotate - [select for diffs], Sun Sep 12 19:44:04 1999 UTC (24 years, 9 months ago) by weingart
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE,
OPENBSD_2_6
Changes since 1.40: +5 -11 lines
Diff to previous 1.40 (colored)
Fix rootdev handling, use disk checksums to find the device we were booted from. Hopefully this will fix all the hangs/panics where the root device was not found.
Revision 1.40 / (download) - annotate - [select for diffs], Tue Aug 17 10:32:18 1999 UTC (24 years, 10 months ago) by niklas
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)
New cpu_fork API to take a stack in which you point the child's stackpointer 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.
Revision 1.39 / (download) - annotate - [select for diffs], Thu Jul 15 14:07:41 1999 UTC (24 years, 11 months ago) by art
Branch: MAIN
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)
vm_offset_t -> {v,p}addr_t ; vm_size_t -> {v,p}size_t
Revision 1.38 / (download) - annotate - [select for diffs], Thu Apr 22 19:28:07 1999 UTC (25 years, 1 month ago) by art
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)
better panic message
Revision 1.37 / (download) - annotate - [select for diffs], Mon Mar 1 04:41:38 1999 UTC (25 years, 3 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE,
OPENBSD_2_5
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored)
re-do how copyright messages are done
Revision 1.36 / (download) - annotate - [select for diffs], Fri Feb 26 04:44:43 1999 UTC (25 years, 3 months ago) by art
Branch: MAIN
Changes since 1.35: +46 -1 lines
Diff to previous 1.35 (colored)
initialize uvm, make allocations work with uvm, namchanges for uvm, etc
Revision 1.35 / (download) - annotate - [select for diffs], Mon Jan 11 01:37:13 1999 UTC (25 years, 5 months ago) by niklas
Branch: MAIN
Changes since 1.34: +16 -43 lines
Diff to previous 1.34 (colored)
kthread abstraction from NetBSD, implemented with our rfork
Revision 1.34 / (download) - annotate - [select for diffs], Sun Jan 10 13:34:17 1999 UTC (25 years, 5 months ago) by niklas
Branch: MAIN
Changes since 1.33: +16 -13 lines
Diff to previous 1.33 (colored)
Generalize cpu_set_kpc to take any kind of arg; mostly from NetBSD
Revision 1.33 / (download) - annotate - [select for diffs], Sat Jan 2 00:38:37 1999 UTC (25 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)
1999
Revision 1.32 / (download) - annotate - [select for diffs], Wed Sep 16 06:21:08 1998 UTC (25 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE,
OPENBSD_2_4
Changes since 1.31: +5 -2 lines
Diff to previous 1.31 (colored)
add openbsd copyright; if you have not talked to me about this already, do so now
Revision 1.31 / (download) - annotate - [select for diffs], Sun Mar 1 00:37:54 1998 UTC (26 years, 3 months ago) by niklas
Branch: MAIN
CVS Tags: OPENBSD_2_3_BASE,
OPENBSD_2_3
Changes since 1.30: +4 -1 lines
Diff to previous 1.30 (colored)
Merge of MACHINE_NEW_CONTIG (aka MNN) code from Chuck Cranor, <chuck@openbsd.org>. This code is as of yet disabled on all platforms, actually not yet supported on more than mvme68k, although other platforms are expected soon, as code is already available. This code makes handling of multiple physical memory regions consistent over all platforms, as well as keeping the performance of maintaining a single continuous memory chunk. It is also a requirement for the upcoming UVM replacement VM system. What I did in this merge: just declared the pmap_map function in a MD include file per port that needs it. It's not an exported pmap interface, says Chuck. It ended up in differnt include files on differnet ports, as I tried to follow the current policy on a per-arch basis.
Revision 1.30 / (download) - annotate - [select for diffs], Fri Feb 20 13:41:33 1998 UTC (26 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)
prototype dkcsumattach correctly
Revision 1.29 / (download) - annotate - [select for diffs], Thu Nov 6 05:58:14 1997 UTC (26 years, 7 months ago) by csapuntz
Branch: MAIN
Changes since 1.28: +4 -5 lines
Diff to previous 1.28 (colored)
Updates for VFS Lite 2 + soft update.
Revision 1.28 / (download) - annotate - [select for diffs], Thu Nov 6 02:17:29 1997 UTC (26 years, 7 months ago) by mickey
Branch: MAIN
Changes since 1.27: +4 -1 lines
Diff to previous 1.27 (colored)
mak kernel compiles w/o bios0
Revision 1.27 / (download) - annotate - [select for diffs], Tue Oct 28 10:52:17 1997 UTC (26 years, 7 months ago) by niklas
Branch: MAIN
CVS Tags: OPENBSD_2_2_BASE,
OPENBSD_2_2
Changes since 1.26: +9 -1 lines
Diff to previous 1.26 (colored)
dkcsum is *really* mandatory. XXX will be done differently later.
Revision 1.26 / (download) - annotate - [select for diffs], Mon Oct 6 20:19:49 1997 UTC (26 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.25: +4 -3 lines
Diff to previous 1.25 (colored)
back out vfs lite2 till after 2.2
Revision 1.25 / (download) - annotate - [select for diffs], Mon Oct 6 15:12:12 1997 UTC (26 years, 8 months ago) by csapuntz
Branch: MAIN
Changes since 1.24: +4 -5 lines
Diff to previous 1.24 (colored)
VFS Lite2 Changes
Revision 1.24 / (download) - annotate - [select for diffs], Mon Jul 28 09:13:17 1997 UTC (26 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.23: +2 -4 lines
Diff to previous 1.23 (colored)
two unneeded variables; enami@ba2.so-net.or.jp
Revision 1.23 / (download) - annotate - [select for diffs], Thu Jun 5 10:15:24 1997 UTC (27 years ago) by deraadt
Branch: MAIN
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)
random pid generation, heh
Revision 1.22 / (download) - annotate - [select for diffs], Sat Apr 19 18:40:02 1997 UTC (27 years, 1 month ago) by pefo
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE,
OPENBSD_2_1
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)
Fix return with missin value...
Revision 1.21 / (download) - annotate - [select for diffs], Thu Mar 27 05:35:28 1997 UTC (27 years, 2 months ago) by millert
Branch: MAIN
Changes since 1.20: +8 -1 lines
Diff to previous 1.20 (colored)
Implement NOFILE_MAX--hard limit on max descriptors per proccess. Future direction, might make sense to make this a kernel symbol tha is sysctl-able.
Revision 1.20 / (download) - annotate - [select for diffs], Wed Nov 6 01:29:46 1996 UTC (27 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.19: +0 -1 lines
Diff to previous 1.19 (colored)
mountroot is prototyped elsewhere
Revision 1.19 / (download) - annotate - [select for diffs], Sat Oct 19 13:26:00 1996 UTC (27 years, 7 months ago) by mickey
Branch: MAIN
Changes since 1.18: +2 -1 lines
Diff to previous 1.18 (colored)
random device is permanent now.
Revision 1.18 / (download) - annotate - [select for diffs], Sat Sep 21 11:06:08 1996 UTC (27 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_0_BASE,
OPENBSD_2_0
Changes since 1.17: +8 -1 lines
Diff to previous 1.17 (colored)
fix NFSSERVER w/o NFSCLIENT; netbsd pr#1780, cgd@netbsd (yes, a 10month old PR and the fix is mostly unchanged).
Revision 1.17 / (download) - annotate - [select for diffs], Wed Sep 4 22:35:27 1996 UTC (27 years, 9 months ago) by niklas
Branch: MAIN
Changes since 1.16: +9 -8 lines
Diff to previous 1.16 (colored)
more Swedish pedantery, kill statics, provide protos etc
Revision 1.16 / (download) - annotate - [select for diffs], Sat Aug 31 09:24:08 1996 UTC (27 years, 9 months ago) by pefo
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)
Cleanup exec
Revision 1.15 / (download) - annotate - [select for diffs], Wed Aug 21 09:46:21 1996 UTC (27 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.14: +22 -1 lines
Diff to previous 1.14 (colored)
spit out a warning if /dev/console does not exist; from mouse@Collatz.McRCIM.McGill.EDU
Revision 1.14 / (download) - annotate - [select for diffs], Tue Aug 13 03:12:41 1996 UTC (27 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored)
microtime for srandom
Revision 1.13 / (download) - annotate - [select for diffs], Sat Aug 10 21:41:13 1996 UTC (27 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.12: +3 -1 lines
Diff to previous 1.12 (colored)
srandom() seeds random() at boottime
Revision 1.12 / (download) - annotate - [select for diffs], Sun Jun 16 10:28:39 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.11: +1 -2 lines
Diff to previous 1.11 (colored)
only call config_init() once
Revision 1.11 / (download) - annotate - [select for diffs], Tue Jun 11 03:25:12 1996 UTC (28 years ago) by tholo
Branch: MAIN
Changes since 1.10: +31 -1 lines
Diff to previous 1.10 (colored)
Kernel-implementation of update(8) my me
Revision 1.10 / (download) - annotate - [select for diffs], Mon Jun 10 07:25:54 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.9: +5 -2 lines
Diff to previous 1.9 (colored)
call tty_init() and config_init()
Revision 1.9 / (download) - annotate - [select for diffs], Mon May 27 07:59:02 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)
native emul is now called "native"
Revision 1.8 / (download) - annotate - [select for diffs], Tue May 7 15:23:35 1996 UTC (28 years, 1 month ago) by niklas
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored)
Make sure config_init gets called before consinit, as at least one port actually uses config_* functions for console attachment. Document config_init should not call malloc as the move was over the mem-init function calls too.
Revision 1.7 / (download) - annotate - [select for diffs], Mon May 6 09:56:20 1996 UTC (28 years, 1 month ago) by niklas
Branch: MAIN
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored)
Return int from main(), so gcc -Werror won't complain. Rhyme not intended.
Revision 1.6 / (download) - annotate - [select for diffs], Thu May 2 13:12:05 1996 UTC (28 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.5: +2 -3 lines
Diff to previous 1.5 (colored)
sync syscalls, no sys/cpu.h
Revision 1.5 / (download) - annotate - [select for diffs], Sun Apr 21 22:26:50 1996 UTC (28 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4 (colored)
partial sync with netbsd 960418, more to come
Revision 1.4 / (download) - annotate - [select for diffs], Sun Mar 3 17:19:39 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.3: +21 -3 lines
Diff to previous 1.3 (colored)
From NetBSD: 960217 merge
Revision 1.3 / (download) - annotate - [select for diffs], Fri Jan 12 20:21:26 1996 UTC (28 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)
from netbsd; New generic disk framework. Highlights: New metrics handling. Metrics are now kept in the new `struct disk'. Busy time is now stored as a timeval, and transfer count in bytes. Storage for disklabels is now dynamically allocated, so that the size of the disk structure is not machine-dependent. Several new functions for attaching and detaching disks, and handling metrics calculation. Old-style instrumentation is still supported in drivers that did it before. However, old-style instrumentation is being deprecated, and will go away once the userland utilities are updated for the new framework. For usage and architectural details, see the forthcoming disk(9) manual page.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Dec 14 04:08:44 1995 UTC (28 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +11 -13 lines
Diff to previous 1.1 (colored)
from netbsd; init proc0 fd0 differently
Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:52:43 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)
initial import of NetBSD tree
Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:52:43 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN
Initial revision