Commit Graph

1429 Commits

Author SHA1 Message Date
ad
92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
njoly
2b470c165e Regen for futex timeout argument cleanup/fix. 2008-11-19 13:11:15 +00:00
njoly
377975c175 futex(2) timeout argument cleanup/fix.
- Use `struct linux_timespec', converted to native structure.
- Ensure that provided values are correct.
- Replace timeval+tvtohz by tstohz.
2008-11-19 13:09:19 +00:00
njoly
d64736c6b8 noisy printf. 2008-11-18 15:25:13 +00:00
ad
7369e64e54 LINUX_GCC_SIGNATURE also matches NetBSD/i386 ELF binaries, so disable it. 2008-11-17 13:03:42 +00:00
ad
7dbfda5cca Unneeded ifdef 2008-11-14 15:56:17 +00:00
njoly
7712a0fc6c Regen for nanosleep(2) fix. 2008-11-12 18:09:22 +00:00
njoly
cf19223289 Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep
syscall, but rather a modified version the will take care of `struct
timespec' conversions.
2008-11-12 18:07:40 +00:00
ad
0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +00:00
christos
e4b18f1168 populate init_thread_area. 2008-10-28 18:37:41 +00:00
jmcneill
af9ee6c291 Only call release_futexes if LINUX_NPTL 2008-10-28 11:42:30 +00:00
jmcneill
1b69e667f6 Need opt_multiprocessor.h for MULTIPROCESSOR definition. 2008-10-26 22:33:03 +00:00
christos
fbc6c6a8e6 changes from pengo that make initializing skype more reliable. 2008-10-26 20:46:05 +00:00
christos
3ce1cee82d regen. 2008-10-26 20:26:53 +00:00
christos
b5a45a5fad catch up with i386 changes. 2008-10-26 20:25:49 +00:00
christos
1b9e833438 multiprocessor fixes, from rmind 2008-10-26 20:22:01 +00:00
jmcneill
e143becdb6 linux_sys_get_robust_list: copyout the entire struct, not the size of the
pointer to it.
2008-10-26 19:13:16 +00:00
christos
1b618d0f6e use a symbolic constant instead of 6. 2008-10-26 17:57:49 +00:00
christos
60485d403e use GUGS_SEL instead of 3. 2008-10-26 17:42:37 +00:00
christos
68a065aac1 regen 2008-10-26 16:38:41 +00:00
christos
5dfa1e6b4a futex support fixes from FreeBSD via cube+pengo. 2008-10-26 16:38:22 +00:00
ad
49169f6211 Assert that the segment descriptors we generate for TLS will not allow
privilege elevation.
2008-10-26 11:02:14 +00:00
christos
a893abf3f5 regen 2008-10-26 03:44:04 +00:00
christos
86f314b4bf don't forget the percpu stuff and load gs immediately. 2008-10-26 03:43:42 +00:00
christos
47ab401cc8 fix include order; machdep needs to be first for LINUX_NPTL to be defined. 2008-10-26 02:00:57 +00:00
christos
f6382710ee Add preliminary tls support for i386. Does not work yet. From FreeBSD. 2008-10-25 23:38:28 +00:00
njoly
d05df800a8 Do not use native_to_linux_si_code() outside LINUX_NPTL; until i
figure a better way to handle it.
2008-10-21 21:52:29 +00:00
njoly
beff3f7516 Remove LINUX_SI_xxx from MI siginfo.h, that should not have been
committed. Rather add them to amd64 MD header.
Fix compilation failures on non x86 archs.
2008-10-21 20:24:15 +00:00
njoly
db06152637 tkill/tgkill syscalls cleanup.
- Make both syscalls set si_code to SI_LWP (which will be converted to
  Linux SI_TKILL value). Fix thread some cancellation under NPTL
  emulation.
- Merge code in a new linux_do_tkill() function that will do its own
  job, instead of calling linux_sys_kill().
- Do only alter single tasks, by rejecting non positive tid/tgid
  values.
2008-10-21 13:36:28 +00:00
njoly
d7732b5cc7 Add native to linux siginfo si_code translation, mostly for negative
values. Adjust amd64 and i386 accordingly, not sure about aother archs
i can't test.
2008-10-19 09:44:31 +00:00
njoly
ea7b260958 g/c amd64 ifndef/endif. 2008-10-17 20:21:34 +00:00
njoly
d0b5229aea Remove unneeded linux_sigaction.c 2008-10-17 20:17:19 +00:00
wrstuden
fc7511b00e Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
njoly
1b1270d3b5 Compat linux/linux32 nice(2) fix. The syscall argument is an increment
to be added to the current nice value, not an absolute value to be
set.
2008-10-03 22:39:36 +00:00
christos
95ffbb8bc9 Define a PSL_CLEARSIG macro for the psl flags to be cleared on signal delivery
and use it everywhere.
2008-09-18 15:57:04 +00:00
plunky
fd7356a917 Convert socket options code to use a sockopt structure
instead of laying everything into an mbuf.

approved by core
2008-08-06 15:01:23 +00:00
jmcneill
551b501a8f linux_sys_rt_sigreturn: properly restore stack flags, pointed out by
Juan RP and modified by myself. ok christos@
2008-08-01 18:49:28 +00:00
njoly
a3adeaa5f9 Fix linux_sigismember/linux_sigaddset to work on amd64 (and other
64bits archs), by ensuring that bit shifts are done on correct type.
2008-07-30 16:05:26 +00:00
jmcneill
a9b5dcaa70 ioctl compatibility for v4l2 and drm 2008-07-19 23:01:52 +00:00
christos
aa389c698d Use more timespecs internally. From Alexander Shishkin and me.
Welcome to 4.99.70, 30 more to go for 100.
2008-07-15 16:18:08 +00:00
matthias
1b4ed9ea4e make LINUX_TCSBRK work. The code is mostly copied from
sys/compat/ibcs2/ibcs2_ioctl.c.
2008-07-04 10:13:52 +00:00
njoly
153124ee21 Fix SIOCGIFCONF ioctl for 64bit platforms. Add a new linux_ifreq
structure and linux_getifconf function (cleaned up version from
compat_ifconf).

While here, update linux_getifhwaddr to use the new structure.

Ok by christos.
2008-07-03 14:07:09 +00:00
njoly
06e75299f3 Move amd64 MD termois types definitions from linux_termios.h to linux_types.h
following other archs.
2008-06-29 08:50:09 +00:00
chris
d890fb22e6 Fix warnings about type conversions by using linux_speed_t type on
linux_speeds[] rather than speed_t.

On Arm (and others) linux uses unsigned long, however, NetBSD uses
unsigned int.
2008-06-28 21:34:32 +00:00
ad
a00bd89dab Replace references to getsock/getvnode. 2008-06-24 11:18:14 +00:00
gmcgarry
035e707304 ioctl commands are defined unsigned long, so cast cmd to unsigned long before comparison. 2008-06-24 10:03:17 +00:00
njoly
72a97d4bed Do not return 0 for unsupported/unknown futex operations, but ENOSYS
instead. From Roman Divacky in private email.
2008-06-20 11:38:26 +00:00
njoly
d1a60f16f0 Fix futex locking. Move all locking to linux_sys_futex function, and
KASSERT that futex_{get,put,sleep,wake} are now called with lock held.
2008-06-20 11:31:40 +00:00
tsutsui
4482e41e15 Include <sys/sched.h> before <sys/syscallargs.h> for cpuset_t. 2008-06-18 12:24:17 +00:00
tsutsui
5ff92ba4da Regen from syscalls.master rev 1.62:
> Include <sys/sched.h> before <sys/syscallargs.h> for cpuset_t.
2008-06-18 12:23:06 +00:00