Commit Graph

4607 Commits

Author SHA1 Message Date
njoly
de2e7a9c8e sched_getaffinity(2) update:
- dynamically calculate the cpu mask size,
- return it upon success,
- fix generated cpu mask.
2009-06-23 13:18:59 +00:00
njoly
9edecd8c07 In linux_sys_sched_getaffinity(), do not leak memory on error. 2009-06-18 20:36:28 +00:00
njoly
3152f584bd Regen for sendmsg/recvmsg definitions update. 2009-06-17 14:20:08 +00:00
njoly
f50c7f6eb2 Add a new linux_msghdr structure, as its size differs on 64bit archs.
Do the needed conversions in sendmsg/recvmsg syscalls, and adjust
their definitions accordingly.
2009-06-17 14:18:51 +00:00
njoly
cb90fdddc4 Add LINUX_CMSG_{SPACE,LEN} macros. Use then when calculating the
msg_controllen size, when converting the control message buffer from
native (previous version was missing the linux_cmsghdr size).
2009-06-16 23:17:02 +00:00
njoly
83618982c2 For linux cmsg header copyout, use the linux structure size, not the
native one.
2009-06-16 22:56:49 +00:00
njoly
405a83b592 Make compat linux sendmsg/recvmsg output msghdr and control messages
buffers with ktrace(1), just like the native functions.
2009-06-16 15:56:10 +00:00
njoly
21489570f0 Make netbsd32 sendmsg(2), do not use an uninitialised value for
fetching iovec structures.
While here, sync recvmsg(2) to avoid some unneeded casts.
2009-06-15 22:59:53 +00:00
njoly
198ddcca4b In sendmsg(2), do copy the msghdr structure before trying to use it. 2009-06-11 19:57:58 +00:00
njoly
add168f4d8 Fix defines against multiple inclusion protection (s/I386/AMD64). 2009-06-08 14:42:10 +00:00
njoly
e1a778e452 Regen for rt_queueinfo addition. 2009-06-08 13:41:17 +00:00
njoly
9c8407cd8f Add rt_queueinfo(2) support. 2009-06-08 13:34:23 +00:00
njoly
d5203d274e Regen for rt_queueinfo(2) update. 2009-06-08 13:29:00 +00:00
njoly
5bf0ee73ce Update rt_queueinfo(2) definition, and kill a corresponding comment. 2009-06-08 13:26:57 +00:00
njoly
a9b9e78076 Small rt_queueinfo(2) update, to require a linux_siginfo structure.
While here, cleanup ifdef out argument types.
2009-06-08 13:23:16 +00:00
njoly
55d5cc9d0d Various compat linux siginfo fixes.
- alpha: add missing _uid member to SIGCHLD structure.
- amd64: add missing typedef, and fix padding size.
- arm: add missing linux_siginfo definition.
2009-06-08 11:46:06 +00:00
njoly
b0b09eac89 Regen for fstatfs. 2009-06-05 16:46:52 +00:00
njoly
ca080002aa Add fstatfs syscall. 2009-06-05 16:45:33 +00:00
njoly
4c8893bb2f Regen for stat/lstat/fstat syscalls. 2009-06-04 18:01:02 +00:00
njoly
33fdfb68ef Add stat/lstat/fstat syscalls. 2009-06-04 17:59:30 +00:00
njoly
ad76703a87 Cleanup (no functional changes).
Kill some unneeded variables and return stattement.
Rename linux32_from_stat() to better bsd_to_linux32_stat64().
Fix some types.
2009-06-03 15:13:26 +00:00
njoly
5a5f8e093f Fix inverted lst_ino/__lst_ino assignment in linux32_from_stat(). 2009-06-03 14:17:18 +00:00
pooka
b89c189be7 Declare extern syscallnames in a header. 2009-06-02 23:21:37 +00:00
njoly
49c8536f1f Regen for siggetmask/sigsetmask. 2009-06-02 16:55:16 +00:00
njoly
9a0f18cccc Add siggetmask/sigsetmask syscalls. 2009-06-02 16:54:39 +00:00
njoly
5932e6a6cd Add the mask value returned by siggetmask. 2009-06-02 16:53:07 +00:00
njoly
7c47c56d95 Make nice(2) return EPERM on error, not EACCES (from sys_setpriority). 2009-06-02 13:00:23 +00:00
njoly
d22e6f64ab Add native to linux siginfo si_status translation, used on i386 and
amd64.
2009-05-29 14:19:12 +00:00
njoly
05d61dcbbd Make getdirentries set a correct block read position for basep
argument.
2009-05-29 09:32:41 +00:00
njoly
c2d83ad5c5 Redo previous, by simply updating basep earlier, before label. 2009-05-28 15:21:26 +00:00
njoly
2a614502ab Make getdirentries(2) correctly fail with EINVAL for an invalid file
descriptor (not for a directory), by not updating basep syscall
argument on error.
2009-05-28 14:48:20 +00:00
njoly
a88fd78513 Use correct linux_clock_t type for _stime, not native clock_t. 2009-05-27 12:20:37 +00:00
ad
d991fcb3b6 More changes to improve kern_descrip.c.
- Avoid atomics in more places.
- Remove the per-descriptor mutex, and just use filedesc_t::fd_lock.
  It was only being used to synchronize close, and in any case we needed
  to take fd_lock to free the descriptor slot.
- Optimize certain paths for the <NDFDFILE case.
- Sprinkle more comments and assertions.
- Cache more stuff in filedesc_t.
- Fix numerous minor bugs spotted along the way.
- Restructure how the open files array is maintained, for clarity and so
  that we can eliminate the membar_consumer() call in fd_getfile().  This is
  mostly syntactic sugar; the main functional change is that fd_nfiles now
  lives alongside the open file array.

Some measurements with libmicro:

- simple file syscalls are like close() are between 1 to 10% faster.
- some nice improvements, e.g. poll(1000) which is ~50% faster.
2009-05-24 21:41:25 +00:00
njoly
eb51be4e79 Adjust compat osf1 to recent pad -> PAD change. 2009-05-18 12:39:02 +00:00
pooka
bb7d994504 pad -> PAD. Fixes build problem reported by Paul Goyette in private email. 2009-05-17 05:57:01 +00:00
pooka
ed09069bac regen: pad -> PAD 2009-05-17 05:55:42 +00:00
pooka
5b4deca5cb pad -> PAD 2009-05-17 05:54:22 +00:00
nakayama
a7ae1082e0 Follow pad to PAD change. 2009-05-16 17:45:23 +00:00
pooka
dfb36ab4e4 pad -> PAD 2009-05-15 16:59:07 +00:00
cegger
cb0f831638 use device_xname() 2009-05-11 21:34:55 +00:00
cegger
2dc0e43978 use device_xname() 2009-05-11 20:53:47 +00:00
ad
6977231a34 G/C reference to LK_CANRECURSE. 2009-05-06 22:38:31 +00:00
njoly
692b478fd5 Add IPC_64 support to all semctl(2) commands, following corresponding
compat linux change.
2009-04-27 13:24:18 +00:00
njoly
d3dabe1260 Add IPC_64 support for all semctl(2)/msgctl(2). Needed, at least on
i386 for Linux 2.6 emulation.
2009-04-23 17:40:57 +00:00
njoly
c4fb0248d2 Convert si_code value from native to linux. 2009-04-23 17:37:51 +00:00
ad
4d8f47ae2f cpuctl:
- Add interrupt shielding (direct hardware interrupts away from the
  specified CPUs). Not documented just yet but will be soon.

- Redo /dev/cpu time_t compat so no kernel changes are needed.

x86:

- Make intr_establish, intr_disestablish safe to use when !cold.

- Distribute hardware interrupts among the CPUs, instead of directing
  everything to the boot CPU.

- Add MD code for interrupt sheilding. This works in most cases but there is
  a bug where delivery is not accepted by an LAPIC after redistribution. It
  also needs re-balancing to make things fair after interrupts are turned
  back on for a CPU.
2009-04-19 14:11:36 +00:00
skrll
66aaa2e514 Typo in comment. 2009-04-16 07:42:28 +00:00
elad
2d1c968399 Remove a few KAUTH_GENERIC_ISSUSER in favor of more descriptive
alternatives.

Discussed on tech-kern:

	http://mail-index.netbsd.org/tech-kern/2009/04/11/msg004798.html

Input from ad@, christos@, dyoung@, tsutsui@.

Okay ad@.
2009-04-15 20:44:24 +00:00
ad
c6367674d6 Add fileops::fo_drain(), to be called from fd_close() when there is more
than one active reference to a file descriptor. It should dislodge threads
sleeping while holding a reference to the descriptor. Implemented only for
sockets but should be extended to pipes, fifos, etc.

Fixes the case of a multithreaded process doing something like the
following, which would have hung until the process got a signal.

thr0	accept(fd, ...)
thr1	close(fd)
2009-04-04 10:12:51 +00:00
christos
802d07dbca cast segsz to int. 2009-04-01 21:15:23 +00:00