| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
no oks (it is really a pain to review properly)
extensively tested, I'm confident it'll be stable
'now is the time' from several icb inhabitants
Diff provides:
- ability to specify different allocators for different regions/maps
- a simpler implementation of the current allocator
- currently in compatibility mode: it will generate similar addresses
as the old allocator
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the IPC_RMID flag.
This is permitted as an extension beyond the standards and this is similar
to what other operating systems like linux do.
Because compat_linux(8) was emulating this already, remove that code
since now this is the default.
input from oga@, guenther@, jmc@, deraadt@
ok deraadt@
|
| |
|
|
| |
outside the tree.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
vmmap is designed to perform address space randomized allocations,
without letting fragmentation of the address space go through the roof.
Some highlights:
- kernel address space randomization
- proper implementation of guardpages
- roughly 10% system time reduction during kernel build
Tested by alot of people on tech@ and developers.
Theo's machines are still happy.
|
| |
|
|
|
| |
This is more clear, and as thib pointed out, the default in softraid was
wrong. ok thib.
|
| |
|
|
|
|
|
| |
to return pids, not thread ids, so record the former when performing
operations.
ok blambert
|
| |
|
|
| |
help and ok miod@ thib@
|
| |
|
|
| |
eyeballed and ok dlg@
|
| |
|
|
|
|
|
|
|
|
|
| |
fold sys_shmat1() back into sys_shmat(), instead add flag for shmget(2)
to specify that later shmat(2) for the shared memory segment should succeed
even if the segment would be marked removed; use this to implement the
Linux-compatible semantics of shmat(2)
this fixes current opera with shm
ok millert
|
| |
|
|
|
| |
etc to avoid confusion and for consistency with the *35 ones.
Remove *n2o functions that don't belong outside of compat.
|
| |
|
|
|
|
|
| |
which also takes two function pointers for copyin/copyout. For the
real syscalls these are just the normal copyin/copyout functions.
For the compat routines, these are funtions that convert between
the new and old foo_ds structs automagically. OK deraadt@
|
| |
|
|
|
|
|
|
| |
things such that code that only need a second-resolution uptime or wall
time, and used to get that from time.tv_secs or mono_time.tv_secs now get
this from separate time_t globals time_second and time_uptime.
ok art@ niklas@ nordin@
|
| |
|
|
|
| |
Create new syscalls with the correct parameters and add compat versions
for the old ones under COMPAT_35.
|
| | |
|
| |
|
|
| |
OK deraadt@ tedu@ dhartmei@
|
| | |
|
| |
|
|
| |
our Linux compat should too. From marius aamodt eriksen
|
| | |
|
| |
|
|
| |
where applicable.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The first one is an mquery(2) syscall. It's for asking the VM system
about where to map things. It will be used by ld.so, read the man page
for details.
The second change is related and is a centralization of uvm_map hint
that all callers of uvm_map calculated. This will allow us to adjust
this hint on architectures that have segments for non-exec mappings.
deraadt@ drahn@ ok.
|
| |
|
|
|
| |
cause id collisions (the macros in <sys/ipc.h> limit the index to 0xffff).
Prompted by a conversation with weingart@
|
| |
|
|
|
| |
NetBSD and allow shmctl() to operate on shm segments that have been
marked for removal like other OSes do.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of allocating a static amount of memory for the data
structures via valloc() in allocsys(), allocate things dynamically
using pool(9) when possible and malloc(9) when not. The various
members of struct seminfo and struct shminfo are in kern.seminfo
and kern.shminfo respectively (not all members of kern.seminfo are
changable).
The data structures used still leave something to be desired but
things are not made worse in that respect by this commit.
|
| |
|
|
|
|
|
|
| |
Also uvm_map returns KERN_* codes that are directly mapped to
errnos, so we can return them instead of doing some attempt to
translation.
drahn@ "I see no problem" pval@ "makes sense"
|
| |
|
|
|
| |
uvm_unmap, uvm_deallocate and a few other functions.
Simplifies some code and reduces diff to the UBC branch.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This time we're getting rid of KERN_* and VM_PAGER_* error codes and
use errnos instead.
|
| |
|
|
| |
for the virtual address.
|
| |
|
|
| |
(Look ma, I might have broken the tree)
|
| |
|
|
|
| |
Move the actual variables into their respective .c files.
As a bonus, remove semmap which is not used.
|
| | |
|
| | |
|
| |
|
|
| |
Create COMPAT_23 and move __osemctl, omsgctl, oshmctl there.
|
| |
|
|
|
|
| |
We might want to use them on types that are bigger than vaddr_t.
Fix all callers that pass pointers without casts.
|
| |
|
|
|
|
|
|
|
| |
CLSIZE -> 1
CLBYTES -> PAGE_SIZE
OLOFSET -> PAGE_MASK
etc.
At the same time some archs needed some cleaning in vmparam.h so that
goes in at the same time.
|
| | |
|
| | |
|
| |
|
|
|
| |
Original work done in FreeBSD, but this code was ported from NetBSD by
Chuck Cranor.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|