Commit Graph

3620 Commits

Author SHA1 Message Date
christos
fa7190ea1a more proc to lwp problems. 2005-12-12 02:51:07 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tron
9ca15b486f Fix problem in ioctl() handling in OSS audio emulation which caused
unintentional changes of the audio settings e.g. when running "kphone".

Patch submitted by George Michaelson on "tech-kern@NetBSD.org".
2005-12-08 19:19:14 +00:00
christos
0e0397d742 netbsd32_timevalp_t is not really a pointer. 2005-12-06 13:37:35 +00:00
christos
58b2cd40fa remove conflict. 2005-12-05 15:17:18 +00:00
christos
9612f9a4de untagle a bit. 2005-12-05 15:16:51 +00:00
kleink
cb3b376555 Sync with kern_time.c rev. 1.98:
- make settime take timespec.
- pass struct proc down so that we can log a detailed message.
2005-12-05 10:31:00 +00:00
christos
184ad089a7 - make settime take timespec.
- avoid wrapping of time in settime.
- pass struct proc down so that we can log a detailed message.
2005-12-05 00:16:33 +00:00
rpaulo
462d39494a Remove the debugging printf left in linux_sys_getrlimit(). 2005-11-30 11:36:22 +00:00
jdolecek
a2e3927e39 undo linux_sys_exit_group() change _again_ - please do not commit known
broken code
2005-11-29 22:31:59 +00:00
manu
35923ac2fc Threads should not send a signal on exit. 2005-11-29 16:24:41 +00:00
thorpej
7d00e1aff3 Overhaul how TTY line disciplines are handled:
- Replace references to linesw[0] with a ttyldisc_default() function
  that returns the default ("termios") line discipline.
- The linesw[] array is gone, replaced by a linked list.
- ttyldisc_add() and ttyldisc_remove() have been replaced by
  ttyldisc_attach() and ttyldisc_detach().
- Things that provide line disciplines are now responsible for
  registering those disciplines with the system.  The linesw
  structures are no longer declared in tty_conf.c
- Line disciplines are now refcounted; a lookup causes a reference to
  be held.  ttyldisc_release() releases the reference.  Attempts to
  detach an in-use line discipline result in EBUSY.
- Fix function signature lossage in if_sl.c, if_strip.c, and tty_tb.c
  that was masked by the old tty_conf.c
- tty_init() is no longer necessary; delete it and its call from main().
2005-11-27 05:35:52 +00:00
manu
2697809839 To awake all processes sleeping on a futex, set maximum value to 0x7fffffff
instead of -1 (0xffffffff): the value is signed...
2005-11-23 22:38:46 +00:00
manu
c06b3dd8a8 Remove a debug printf 2005-11-23 22:23:30 +00:00
manu
23cf341ea0 - Add Linux tkill and tgkill (partial emulation).
- Fix getrlimit on amd64
2005-11-23 16:14:57 +00:00
christos
c3ae1990ca Regen 2005-11-17 17:09:05 +00:00
christos
7faedc67d3 need the non-compat version of shm.h too. 2005-11-17 17:07:03 +00:00
simonb
772f8208fc Copyright maintenance - only include the copyrights from the original
sys/*.h files that were in the files at the time the old structures
were present.
2005-11-12 00:39:22 +00:00
chs
001ec1422b include additional headers that are now needed. 2005-11-11 23:22:08 +00:00
jdolecek
95d0b66d28 undo the linux_sys_exit_group() change for now - complete CLONE_THREAD support
is necessary for this to work properly
2005-11-11 22:45:41 +00:00
christos
88056ee1bd Move more compat stuff from sys. 2005-11-11 17:10:42 +00:00
tron
19c262ce51 Include "sys/ipc.h" to get definition of "ipc_perm14" structure.
This fixes the build of "pecoff_exec" LKM.
2005-11-11 11:59:53 +00:00
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
christos
306385b2a5 regen. 2005-11-10 18:47:31 +00:00
christos
e2f2b17e31 add the new compat header. 2005-11-10 18:47:16 +00:00
christos
75fdf989ea These two really don't need the new header. 2005-11-10 18:43:32 +00:00
christos
2a4a5534b4 Include new compat header. 2005-11-10 18:39:30 +00:00
christos
0b0496e3d5 move the compat code out of the sys file. 2005-11-10 18:36:20 +00:00
christos
65de380a95 More ipc support for linux; makes oracle work. From chuq and
jlrodriguez at terra dot es
2005-11-10 18:33:37 +00:00
manu
e75bcb9ebf Fix build problem 2005-11-09 21:56:11 +00:00
manu
f98d5d856e Improve Linux exit_group emulation by sending a SIGKILL to all other
processes in the group instead of letting them live. It would be better
to properly terminate them.
2005-11-09 14:56:50 +00:00
manu
f53c4d1d1e Prevent integer overflow in timout calculation.
changed DEBUG_LINUX to DEBUG_LINUX_FUTEX so that we have less debug
messages on the console
2005-11-09 14:52:18 +00:00
manu
26222780eb Correctly computes futex timeout. 2005-11-08 21:28:49 +00:00
manu
d72135b371 Include linux_machdep.h so that LINUX_UNAME_ARCH ges defined (fixes
uname emulation)
2005-11-07 14:17:45 +00:00
manu
a5d2387dbb regen 2005-11-06 21:50:28 +00:00
manu
7505cb92a6 Back out sched_{set|get}affinity addition because it breaks the
build again on i386 now it is fixed for other archs (Tom's fix and
mine got in colision)
2005-11-06 18:16:31 +00:00
tron
0c24d80f02 Regen with correct RCS Ids. 2005-11-06 14:25:48 +00:00
manu
35f76b0ac2 ifdef out sched_{get|set}affinity for ports that don't use it yet. That
should fix build.
2005-11-05 23:44:25 +00:00
dogcow
b3b0932a5d mirror manu's amd64 changes to implement linux sched_{seg,get}affinity;
the kernel and linux lkm now compile again.
2005-11-05 10:56:48 +00:00
manu
2ae48df4fc regen 2005-11-05 08:11:30 +00:00
manu
0cf4b35fe6 Implement more of Linux futex(2) 2005-11-05 08:07:44 +00:00
manu
41455b2ed0 Implement Linux sched_{set|get}affinity 2005-11-05 08:06:58 +00:00
manu
67fcd6abf5 Fix build when LINUX_NPTL is not defined 2005-11-05 07:26:45 +00:00
manu
2cac35470c Fix a messed up patch 2005-11-05 00:58:57 +00:00
manu
88a5eb33ed Instead of ifdef'ing __amd64__ all the Linux NPTL stuff, introduce an
ifdef LINUX_NPTL.
Also implement SETTLS flag to Linux clone()
2005-11-05 00:47:26 +00:00
chs
df018c387b make this compile on m68k by including sys/device.h explicitly.
on other platforms it's apparently included implicitly, probably through cpu.h.
2005-11-04 17:00:43 +00:00
manu
b72e0d5382 Fix machine name returned by uname on Linux 2005-11-04 16:58:14 +00:00
manu
78ad642708 regen 2005-11-04 16:57:03 +00:00
manu
e7609e6478 Implement Linux futex ang gettid 2005-11-04 16:54:11 +00:00
manu
3b8100b96a register_t is not an int on amd64 2005-11-04 16:52:51 +00:00
manu
e1c0c1c9dd Implement Linux futex and gettid system calls for amd64 2005-11-04 16:51:56 +00:00
manu
0a3dbc01d5 build fix 2005-11-04 16:49:55 +00:00
manu
b7ba0ebc16 Fix pipe linux emulation on amd64 2005-10-31 18:00:30 +00:00
manu
5d2a593dcd build fix 2005-10-31 17:58:07 +00:00
chs
d17f6e14bc add support for the linux PROT_GROWS{DOWN,UP} mprotect() flags.
fixes PR 30008.
2005-10-30 16:25:50 +00:00
cube
75d561e358 Move prototypes for siginfo32 to/from siginfo converters at the right
place.
2005-10-24 15:28:09 +00:00
christos
6f981830a9 PR/31905: Wolfgang Stukenbrock: Termios ioctls TIOCMBIC and TIOCMBIS missing
in linux emulation code
2005-10-24 12:58:34 +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
christos
78063c9188 regen. 2005-10-20 15:35:42 +00:00
christos
0270612ce7 Conditionalize the sigreturn syscall inclusion; from Patrick Welche 2005-10-20 15:35:25 +00:00
christos
e780c5edaf regen 2005-10-18 19:52:07 +00:00
christos
8fc452caf8 add the missing %% that confused joerg and the parser. 2005-10-18 19:51:47 +00:00
joerg
5e74202601 Regen. 2005-10-18 19:08:51 +00:00
joerg
39fcee12fe sys_uselib is needed by COMPAT_LINUX for EXEC_AOUT. Since it doesn't get
build when EXEC_AOUT is not defined, the syscalls.master entry has to be
conditionalized. Alpha did so already, so let the other archs catch up
with it.

Go-on: christos
2005-10-18 18:37:44 +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
manu
bc210edac8 Fix COMPAT_DARWIN build. This closes PR#31336 2005-10-03 17:11:25 +00:00
he
c6c2d9e696 Suddenly these need explicit inclusion of <sys/socket.h>; they use
the MSG_OOB and AF_LINK symbols (among others).  Fixes build problem.
2005-09-28 06:40:15 +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
1e20ffb8a1 regen 2005-09-27 15:07:54 +00:00
chs
ad1b7e8d5c include "opt_compat_sunos.h", netbsd32_syscallargs.h wants it. 2005-09-27 15:07:40 +00:00
chs
94be8205d7 make this compile again. 2005-09-27 14:37:06 +00:00
martin
3faf969174 Adapt to struct vfsops changes during the NFS export rototill. 2005-09-27 13:26:03 +00:00
jmmv
20ac358c50 Instead of trying to clear ufs_args' export member, zero the whole
structure so that we don't rely on that (renamed) field.  Should fix
the build.  Found by he@.
2005-09-24 21:44:15 +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
6c8e87cff8 add struct forwards. 2005-09-24 21:33:48 +00:00
christos
dd40a9f6f6 include new compat siginfo header. 2005-09-24 17:29:47 +00:00
christos
5c03cd2255 more header cleanup. 2005-09-24 17:27:44 +00:00
christos
ca3a193432 factor out some of the osockaddr, omsghdr code. 2005-09-24 15:51:03 +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
03ec972e58 maplen was uninitialized. 2005-09-19 02:47:15 +00:00
christos
d359ae5c43 MINSIGSTKSZ on linux is different depending on the platform and usually
smaller than ours.
2005-09-19 02:46:49 +00:00
christos
e20c28140a Add compat signal headers. 2005-09-18 14:30:15 +00:00
yamt
a0bdf5ef81 irix_sys_swapctl: follow uvm_swap_stats changes. 2005-09-17 14:52:55 +00:00
yamt
209478cccf protect p_nrlwps by sched_lock. 2005-09-17 14:35:51 +00:00
christos
29f3692018 add <compat/sys/signal*.h> 2005-09-16 17:09:52 +00:00
christos
c315b31f19 Fix a comment. 2005-09-15 03:00:16 +00:00
he
70fe9e01e8 This now needs <compat/sys/signal.h> to build. 2005-09-14 13:49:50 +00:00
he
87e3d67bce This file now needs <compat/sys/stat.h> to build. 2005-09-14 13:49:27 +00:00
christos
ff66f5797e need linux_syscallargs.h to compile, and remove inline function. 2005-09-13 22:08:21 +00:00
christos
c83d281198 Forgot to reverse the conditional test. 2005-09-13 16:35:24 +00:00
christos
58b392c018 make this compile again. 2005-09-13 03:23:09 +00:00
christos
6acf4b5ca8 add compat netbsd32 context. 2005-09-13 03:22:54 +00:00
christos
063b880cf0 compat code reorg. 2005-09-13 01:42:32 +00:00
christos
49110e63f0 Range checks are not optional. The omission of this one, allows the user
to corrupt the heap and/or crash the kernel (Christer Oeberg).
2005-09-12 22:17:49 +00:00
christos
6a2a989266 variable name mistake again. 2005-09-12 22:16:56 +00:00
christos
d9f67be7fe - Avoid overflow by checking the count argument (Christer Oeberg).
- While I am here, don't leak fds either.
2005-09-12 20:54:38 +00:00
jmmv
ec93365612 Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program.  This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*.  Therefore, it is disabled by
default in all kernels.  However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
2005-09-10 19:20:48 +00:00
rpaulo
257017665e Add a SYSCTL_SETUP_PROTO() so that it compiles fine in the lkm. 2005-09-02 14:34:00 +00:00
he
eb89cd94e9 Now that <ufs/ufsmount.h> includes <ufs/extattr.h>, we also need
<sys/vnode.h> and <sys/vnode_if.h> to bring the definition of struct
vop_getextattr_args into scope.  Fixes build problem for arc.
2005-08-31 16:01:56 +00:00
he
54e6da6105 Change from using sys___{,f,l}stat13() to sys___{,f,l}stat30() and
associated data structures, following the change to 64-bit inodes.
2005-08-22 10:57:04 +00:00
yamt
0ed4057082 linux_machdepioctl: remove duplicated FILE_USE/UNUSE. 2005-08-21 13:13:50 +00:00
kent
868a42c866 fix a compilation problem on NetBSD/amd64 2005-08-20 15:02:36 +00:00
yamt
e4ab81774d compat_30_sys_getdents: netbsd 1.2 -> 3.0 in comments/messages. 2005-08-19 13:17:37 +00:00
yamt
34dab5e58c compat_30_sys_getdents: don't leak kernel stack garbage to userland. 2005-08-19 13:16:56 +00:00
christos
4ce7529a64 change a hard-coded 0xf to _DIRENT_ALIGN (thanks yamt) 2005-08-19 06:01:00 +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
christos
c0ee8a4184 Fix systeminfo.
1. return length is the string length even if the string would not fit.
2. add SI_ISALIST
3. on 32 bit emulation, don't return sparc64 as the arch!
2005-07-28 03:50:52 +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
606552e84c Rework sunos32_execv{,e} after removal of netbsd32_execve2.
XXX COMPAT_SUNOS32 needs a SUNOS32PTR64() macro.
2005-07-13 12:49:32 +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
christos
00a78ed413 Delete define for sunos_syscall_intern. 2005-07-12 22:45:11 +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
christos
25e2fae9e9 Add a sunos_machdep include file to deal with MD implementations of
sunos_syscall_intern.
2005-07-11 13:14:49 +00:00
christos
dac018add9 More syscall_intern lossage. 2005-07-10 16:45:33 +00:00
christos
24d0f10c0f define sunos_syscall_intern now that sparc needs it. 2005-07-10 16:40:49 +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
christos
ecc4f71237 define syscall again. 2005-07-10 04:23:30 +00:00
christos
4d0656f353 include the _32 flavor of the machdep file too. 2005-07-10 00:56:19 +00:00
christos
6667cfbdab We have syscall_intern now. 2005-07-10 00:56:01 +00:00
christos
f1461c7e8a No point in declaring syscall_intern and syscall in a zillion places. 2005-07-10 00:45:52 +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