are recognized but not supported (yet). (HP-UX and Solaris extension)
* Const'ify the `shmaddr' pointer arguments to shmat() and shmdt().
* Change the `size' argument to shmget() from int to size_t.
* Move MAX_SOPS inside _KERNEL protection; it's not portable and has a
meaning within semop() only.
* semop(): change the `nsops' argument type from int to size_t.
* Add _XOPEN_SOURCE protection around semconfig().
- Don't use home-grown queue manipulation. Use <sys/queue.h> instead. The
data structures are a little larger, but we are otherwise wasting the
memory chunk anyway (we're already a 64-byte malloc bucket).
- Fix a bug in the cache-is-full case: if the oldest element removed from
the first non-empty bucket was the only element in the bucket, the
bucket wouldn't be removed from the bucket cache, causing queue corruption
later.
- Optimize the syn cache timers by using PRT timers rather than home-grown
decrement-and-propagate timers.
This code is now a fair bit smaller, and significantly easier to read
and understand.
there is one. The Mach VM system seems to take care of this, so it
hasn't knowingly caused a problem. UVM does change mappings without
removing the current mapping, and will pmap_page_protect() hangs
if pmap_enter() doesn't remove the previous mapping.
sethostname(), setdomainname() from int to size_t. The former change was
made due to an X/Open XNS5 requirement, the latter three were made for
consistency.
* Require either _KERNEL or _LKM being defined in addition to COMPAT_SUNOS
to make SA_USERTRAMP visible, since COMPAT_* isn't a reserved name outside
the NetBSD kernel world.
using separate flag bits for mappings that were requested to be not
cacheable and uncacheable pages due to incongruent aliases.
This avoids inadvertently turning on the cache-enable bits when removing
one of multiple virtual address mappings to the same page. Reading
from /dev/mem could do this to arbitrary pages.