Commit Graph

327 Commits

Author SHA1 Message Date
simonb
a21c456e2e Call nanotime() directly, instead of doing the
microtime()/TIMEVAL_TO_TIMESPEC() dance.
2005-11-11 07:07:42 +00:00
christos
82eba32c06 need compat/sys/shm.h 2005-11-10 18:47:53 +00:00
cube
75d561e358 Move prototypes for siginfo32 to/from siginfo converters at the right
place.
2005-10-24 15:28:09 +00:00
cube
fc1218444f Regen (kqueue, kevent). 2005-10-23 01:34:33 +00:00
cube
97e4d77453 - Split sys_kevent into kevent1 so that it can be used by COMPAT_NETBSD32
code.

- To achieve COMPAT_NETBSD32 compatibility, introduce a parameter to
  kevent1 that points to functions that do the actual copyin/copyout
  operations.  This is similar to what was done in FreeBSD by Paul Saab.

- Add the COMPAT_NETBSD32 definitions and hooks.
2005-10-23 01:33:32 +00:00
cube
388b97e039 Implement a few changes needed to properly resolve PR#30924, as
discussed in the PR.

- introduce sys/timevar.h to hold kernel-specific stuff relevant to
  sys/time.h.  Ideally, timevar.h would contain all (or almost) of the
  #ifdef _KERNEL part of time.h, but that's a pretty big and tedious
  change to make.  For now, it will contain only the prototypes I
  introduced when working on COMPAT_NETBSD32.

- split copyinout_t into copyin_t and copyout_t, it makes prototypes more
  explicit about the meaning of a given argument.  Suggested by yamt@.

- move copyinout_t definition in sys/time.h to systm.h as copyin_t and
  copyout_t

- make everything uses the new types and include the proper headers at
  the proper places.
2005-10-23 00:09:14 +00:00
chs
ffd3aa297e make the previous apply only to x86_64. 2005-10-07 14:46:04 +00:00
chs
26a2ca0397 add __attribute__((packed)) to struct netbsd32_stat13. the alignment of
64-bit values is annoying in the x86 world:  they require 64-bit alignment
in 64-bit mode but only 32-bit alignment in 32-bit mode.
2005-10-07 14:40:06 +00:00
chs
8a6025c821 this needs stuff from compat/sys/siginfo.h now, just include it here. 2005-09-27 15:09:04 +00:00
chs
94be8205d7 make this compile again. 2005-09-27 14:37:06 +00:00
christos
a5d6ab9188 need compat/sys/socket.h 2005-09-24 21:34:35 +00:00
christos
91e84b20b0 make the siginfo converters static and comment out the one that is not used. 2005-09-24 21:34:18 +00:00
christos
dd40a9f6f6 include new compat siginfo header. 2005-09-24 17:29:47 +00:00
chs
33359b3121 need to include sys/socket.h here now, sys/mount.h no longer does it for us. 2005-09-24 15:42:58 +00:00
christos
58b392c018 make this compile again. 2005-09-13 03:23:09 +00:00
kent
868a42c866 fix a compilation problem on NetBSD/amd64 2005-08-20 15:02:36 +00:00
christos
b041fac92d Fix lossage I created with the 64 bit ino_t change. 2005-08-19 04:24:38 +00:00
christos
758a209d23 64 bit inode changes. 2005-08-19 02:03:49 +00:00
cube
ae35d4a4e9 Regen (__sigtimedwait(2)). 2005-07-23 22:04:12 +00:00
cube
73fe747f11 Implement __sigtimedwait(2). 2005-07-23 22:03:45 +00:00
cube
a6b803a79f Constify conversion functions. 2005-07-23 21:51:29 +00:00
cube
21472d491b Regen (timer_create(2) and friends). 2005-07-23 18:57:07 +00:00
cube
23a1110cbd Implement the timer_create(2) family of syscalls. 2005-07-23 18:56:15 +00:00
cube
ee24060ae4 Remove duplication of code for netbsd32_wait4() by using stackgap(9). 2005-07-22 22:46:29 +00:00
cube
86f97cc446 Do the CHECK_ALT_EXIST dance again in netbsd32_execve(). It was lost in
previous commit.
2005-07-13 11:55:19 +00:00
cube
e13e6c14c7 netbsd32_execve2() doesn't exist anymore. 2005-07-13 11:53:57 +00:00
martin
e14ba58310 When returning 64bit values (from netbsd32_lseek) fix up the return
value vector (of 32bit values, most likely) via a MD macro.
2005-07-12 15:06:17 +00:00
cube
e937141b42 Regen (*xattr(2)). 2005-07-12 07:46:19 +00:00
cube
728e5e01bd Add the *xattr(2) family of syscalls. Just like the *extattr(2) family,
they're waiting for an actual FS back-end to be tested, but are still
straightforward enough.
2005-07-12 07:45:34 +00:00
cube
0477abe883 Regen (rasctl(2)). 2005-07-11 20:18:52 +00:00
cube
241e7db4d5 Add rasctl(2). Thanks to the regression tests for that syscall, I was able
to discover the bugs in netbsd32_setitimer() and netbsd32_execve().
2005-07-11 20:18:05 +00:00
cube
355bcba766 Split sys_execve() and add execve1() that does most of the work, and takes
as an argument a function that will retrieve an element of the pointer
arrays in user space.  This allows COMPAT_NETBSD32 to share the code for
the emulated version of execve(2), and fixes various issues that came from
the slow drift between the two implementations.

Note:  when splitting up a syscall function, I'll use two different ways
       of naming the resulting helper function.  If it stills does
       copyin/out operations, it will be named <syscall>1().  If it does
       not (as it was the case for get/setitimer), it will be named
       do<syscall>.
2005-07-11 20:15:26 +00:00
cube
08fd92bac5 Split sys_getitimer and sys_setitimer to make it possible to share the
relevant code with the COMPAT_NETBSD32 version, and make the latter use
the new functions.

This fixes netbsd32_setitimer() which had drifted from the native syscall
and did not work properly anymore.
2005-07-11 19:50:42 +00:00
cube
0057da6efa NOFOLLOW should be passed to NDINIT() instead of FOLLOW for lstat(2).
Reported by Martin Husemann.
2005-07-10 16:34:53 +00:00
cube
4a8942e74c Regen. 2005-07-10 14:32:35 +00:00
cube
7e3a28a419 Add support for fsync_range(2). 2005-07-10 14:32:16 +00:00
cube
c6a5f27efa Regen. 2005-07-10 11:29:35 +00:00
cube
b01a57e4ce Implement __clone(2). 2005-07-10 11:28:58 +00:00
cube
91598566dc Report changes from sys_wait4(). 2005-07-10 11:28:03 +00:00
cube
16e20b37d6 Regen. 2005-07-09 22:40:34 +00:00
cube
57017881b4 Implement pselect(2) and pollts(2). 2005-07-09 22:40:13 +00:00
cube
0056ee71b1 Make netbsd32_select() use selcommon() instead of a gross copy/paste of
the old sys_select() code.
2005-07-09 21:58:09 +00:00
cube
0d4567cd91 Regen. 2005-07-08 22:22:19 +00:00
cube
01f1f7ce7d Add mlockall(2) and munlockall(2). 2005-07-08 22:21:43 +00:00
cube
e1c5d71d3d Regen 2005-07-08 21:40:26 +00:00
cube
dfc332d6df Implement the extattr(3) family of syscalls.
XXX However, those remain untested as there are currently no backend for
XXX extattr(9) in NetBSD.
2005-07-08 21:39:39 +00:00
cube
a31209bb48 Regen 2005-07-04 00:27:15 +00:00
cube
d500f440df Implement uuidgen(2). 2005-07-04 00:26:06 +00:00
cube
72f6b3a65c Constify machine32 and machine_arch32. 2005-07-03 17:18:02 +00:00
cube
6f082c10a9 Make COMPAT_NETBSD32 emulate hw.machine. While it might seem wrong to do
so, it introduces breakage because a lot of applications make assumptions
from its value.  It's especially bad in the sparc64 case, where 64-bits
instructions can be used in 32-bits addressing mode.  However, there are
other means to know the capabilities of the CPU.
2005-07-03 16:53:46 +00:00