| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
.h files to pull it in, if needed
ok tedu
|
|
|
|
| |
from hshoexer@; ok tedu@, "looks good" deraadt@
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
I need this for my diffs.
ok guenther@
|
|
|
|
|
|
|
| |
of per-rthread. Handling of per-thread tick and runtime counters
inspired by how FreeBSD does it.
ok kettenis@
|
| |
|
|
|
|
|
|
|
| |
declared in .h files, not in each .c. Apply that rule to endtsleep(),
scheduler_start(), updatepri(), and realitexpire()
ok deraadt@ tedu@
|
|
|
|
|
|
|
| |
KERNEL_PROC_LOCK -> KERNEL_LOCK
KERNEL_PROC_UNLOCK -> KERNEL_UNLOCK
oga@ ok
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
| |
into struct process.
ok tedu@ deraadt@
|
|
|
|
|
| |
can make attempts to load 'entropy' into the RC4.
ok miod ariane
|
| |
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
count was always one. That's pointless, so remove the member and the code.
ok tedu@
|
|
|
|
| |
ok miod@, thib@, oga@, jsing@
|
|
|
|
|
| |
configure(), since some upcoming changes will require it.
ok henning
|
| |
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
| |
catch the libc major bump per request from deraadt@
Diff by reyk.
ok guenther@
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
in sysctl hw.ncpufound; ok miod kettenis
|
|
|
|
|
|
| |
NetBSD.
ok kurt@, drahn@, miod@
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
|
|
| |
if the main thread reaches the reaper ahead of some other thread
in the process.
ok art@ tedu@
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
|
| |
combined, this lets us use crypto before the thread is running
and therefore cryptoraid can attach nice and early.
ok/testing deraadt mbalmer marco
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
| |
have cpu_info now, so kill the option.
eyeballed by jsg@ and grange@
|
|
|
|
|
| |
leave macros behind for now to keep the commit small
ok art beck miod pedro
|