Commit Graph

2961 Commits

Author SHA1 Message Date
christos
7e25d9a162 catch up with const sigset_t 2003-09-26 18:11:47 +00:00
christos
25f1b29f36 bring in MI declarations. 2003-09-26 18:10:32 +00:00
simonb
550b4bef88 Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
2003-09-26 12:02:55 +00:00
christos
cfba45c856 constify sendsig/trapsignal 2003-09-25 22:00:02 +00:00
matt
85a5f3065d Add siginfo support for PowerPC. 2003-09-25 18:42:18 +00:00
cl
cf9f62a8e7 catch up with sys___sigaction14 compat_16 rename 2003-09-23 18:54:24 +00:00
cl
0dd1fb3d17 regen 2003-09-23 18:32:12 +00:00
cl
7e40a36c7f catch up with sys___sigaction14 compat_16 rename 2003-09-23 18:31:03 +00:00
christos
24915aa1a2 Regen. 2003-09-23 14:33:34 +00:00
christos
cf3a45c8c1 Make this compile and link properly. 2003-09-23 14:33:24 +00:00
cl
11af0a3c8d SA_SIGINFO support for m68k (emul linux) 2003-09-22 14:36:42 +00:00
cl
bf9728e0db SA_SIGINFO support for m68k (compat sunos) 2003-09-22 14:34:57 +00:00
cl
9b18b6fa61 regen 2003-09-22 14:32:15 +00:00
cl
a580f34fa7 SA_SIGINFO support for m68k (compat aoutm68k) 2003-09-22 14:31:27 +00:00
jdolecek
bc83b2f421 make compile after last change (!) 2003-09-21 19:29:10 +00:00
jdolecek
7cea8a1389 cleanup & uniform descriptor owner handling:
* introduce fsetown(), fgetown(), fownsignal() - this sets/retrieves/signals
  the owner of descriptor, according to appropriate sematics
  of TIOCSPGRP/FIOSETOWN/SIOCSPGRP/TIOCGPGRP/FIOGETOWN/SIOCGPGRP ioctl; use
  these routines instead of custom code where appropriate
* make every place handling TIOCSPGRP/TIOCGPGRP handle also FIOSETOWN/FIOGETOWN
  properly, and remove the translation of FIO[SG]OWN to TIOC[SG]PGRP
  in sys_ioctl() & sys_fcntl()
* also remove the socket-specific hack in sys_ioctl()/sys_fcntl() and
  pass the ioctls down to soo_ioctl() as any other ioctl

change discussed on tech-kern@
2003-09-21 19:16:48 +00:00
christos
9b18cdecf8 Now that we have siginfo, use it, instead of pretending to have one. 2003-09-21 17:42:23 +00:00
pooka
ec398e6f4d regen 2003-09-18 14:50:07 +00:00
pooka
3e2a629fec Add a good enuf emulation of the MAP_STACK flag to the mmap()
syscall.  This allows programs which use MAP_STACK to work instead
of failing in weird and wonderous ways.
2003-09-18 14:44:09 +00:00
christos
dd61a2eb87 catch up with latest sigctx changes; reported by John Heasley, thanks! 2003-09-15 18:35:02 +00:00
manu
9972873c7d Handle mouseup and mousdown events
Add three sysctl to choose wsdisplay unit and screen and wsmux that
ioframebuffer and iohidsystem will use.
2003-09-14 09:48:42 +00:00
christos
0c73068f06 regen 2003-09-13 18:44:49 +00:00
christos
2cfe0b047e add __HAVE_SIGINFO 2003-09-13 18:44:30 +00:00
manu
755716d281 Darwin's I/O reverse the mouse's Y axis. 2003-09-13 16:35:47 +00:00
manu
08f5f5b835 Bugfix: notifications sent by iohidsystem kernel threads are to be
hnalded as mmessages coming from the kernel, since the threas has
no p->p_emuldata
2003-09-13 16:07:44 +00:00
jdolecek
a034152027 move dupfd from struct proc to struct lwp - it's per-LWP, not per-process; we
use curlwp where the lwp is not directly available, i.e. in device open
routines

briefly discussed on tech-kern
2003-09-13 08:32:10 +00:00
jdolecek
ce8305a84c g/c #if 0'ed code 2003-09-13 08:22:51 +00:00
jdolecek
69150f5b25 ptyname[] must not be static, the contents are modified later in the routine 2003-09-13 08:15:25 +00:00
manu
11d6605f3f Sync between parent and child in iohdisystem thread so that the child has
time to get its parmeteres before the parent throw them away
2003-09-13 07:56:54 +00:00
christos
1ccdaf7265 regen 2003-09-12 12:47:00 +00:00
christos
bfff25cc7c Fixes for __sigreturn14 2003-09-12 12:46:47 +00:00
christos
d56d80d37d regen 2003-09-12 02:10:55 +00:00
christos
3178a811f8 catch up with sigreturn changes 2003-09-12 02:10:33 +00:00
manu
f816300903 (file missing from the previous commit, I copy/past the commit log)
Some initial support for IOHIDSystem. This gives us some pointer moves in X11
(not really related the the actual mouse movement, but this will come).

The darwin_iohidsystem_thread reads events from wscons, translates them
into IOHIDSystem events and wakes up the userland client with a notification.
To do this, I had to improve the void implementation of
io_connect_set_notification_port() to actually register something (I assumed
a single notification port, which makes some sense since only one process
seems to be able to open the driver)

Missing bits:
- we do not take event masks given by the process into account.
- the notification message has not been checked against Darwin
- events are badly translated
2003-09-11 23:18:10 +00:00
manu
f9c483a301 Some initial support for IOHIDSystem. This gives us some pointer moves in X11
(not really related the the actual mouse movement, but this will come).

The darwin_iohidsystem_thread reads events from wscons, translates them
into IOHIDSystem events and wakes up the userland client with a notification.
To do this, I had to improve the void implementation of
io_connect_set_notification_port() to actually register something (I assumed
a single notification port, which makes some sense since only one process
seems to be able to open the driver)

Missing bits:
- we do not take event masks given by the process into account.
- the notification message has not been checked against Darwin
- events are badly translated
2003-09-11 23:16:18 +00:00
christos
9a680b9da0 regen 2003-09-10 19:47:49 +00:00
christos
df9305fe0c sys__sigreturn14 -> compat_16_sys___sigreturn14 2003-09-10 19:47:40 +00:00
christos
e09c2a122c don't abuse the native sigcode. 2003-09-10 16:44:56 +00:00
christos
61f50ff333 someone forgot to commit code. make this compile again. 2003-09-10 16:44:45 +00:00
rafal
ece5b8e67d Catch up to Christos' SIGINFO changes. 2003-09-07 21:37:19 +00:00
manu
606e47547a Typo 2003-09-07 09:07:19 +00:00
manu
8e53685a40 Fix the build by removing machine dependent stuff from darwin_sysctl.h (it
is included by userland build, and it included darwin_machdep.h, which is
unavaillable for most arches)
2003-09-07 08:05:47 +00:00
manu
7dda8d2416 KERN_PROC and KERN_PROCARGS sysctl. This helps ps working (it's not
yet perfect)
2003-09-06 23:54:47 +00:00
manu
4de9ba3f19 Added vm_region_64 and thread_info 2003-09-06 23:52:25 +00:00
manu
f600082353 Added vm_region_64 and thread_info 2003-09-06 23:52:24 +00:00
erh
96cd5369b0 Use vn_marktext to set the VTEXT flag on the vnode of the executable.
This satisfies the KASSERT at the beginning of vmvmd_map_pagedvn() and avoids
an immediate panic when attempting to execute a PECOFF binary.
2003-09-06 22:55:06 +00:00
christos
e2c278d8c0 SA_SIGINFO changes 2003-09-06 22:09:20 +00:00
manu
f88ed86b14 regen 2003-09-06 11:50:25 +00:00
manu
bfc0bb09ef Convert dev_t for mknod 2003-09-06 11:50:00 +00:00
manu
2add551792 regen 2003-09-06 11:18:50 +00:00
manu
e0a2c17b59 Correctly translate dev_t in stat/fstat/lstat 2003-09-06 11:18:03 +00:00
manu
72fb398585 regen 2003-09-03 07:29:29 +00:00
manu
fcd3e861d0 Implement Darwin's FIODTYPE ioctl (get a file d_type) 2003-09-03 07:28:38 +00:00
manu
244c38a2ae regen 2003-09-02 21:48:49 +00:00
manu
c4c193473f correct translation for struct statfs in getfsstat, ststfs and fstatfs 2003-09-02 21:31:01 +00:00
manu
80ae13b4df Handle colormap change requests 2003-08-31 21:10:22 +00:00
manu
2a523b0455 Correctly map the framebuffer. XDarwin display its background shade, hurrah! 2003-08-31 14:17:25 +00:00
manu
ebd83433da If a Darwin process using the framebuffer (e.g.: XDarwin) crashes without
restoring text mode, do the job ourselves. This avoids letting the
user on an unusable console
2003-08-29 23:11:40 +00:00
manu
553c82ed11 Switch the console to graphic mode before trying to udv_attach the
framebuffer.
2003-08-29 22:03:13 +00:00
manu
850173c462 Correctly get framebuffer dimensions 2003-08-28 21:47:02 +00:00
manu
41a89bc98d Fix a buffer overflow that was leading to various kernel crashes 2003-08-26 21:52:18 +00:00
chs
939df36e55 add support for non-executable mappings (where the hardware allows this)
and make the stack and heap non-executable by default.  the changes
fall into two basic catagories:

 - pmap and trap-handler changes.  these are all MD:
   = alpha: we already track per-page execute permission with the (software)
	PG_EXEC bit, so just have the trap handler pay attention to it.
   = i386: use a new GDT segment for %cs for processes that have no
	executable mappings above a certain threshold (currently the
	bottom of the stack).  track per-page execute permission with
	the last unused PTE bit.
   = powerpc/ibm4xx: just use the hardware exec bit.
   = powerpc/oea: we already track per-page exec bits, but the hardware only
	implements non-exec mappings at the segment level.  so track the
	number of executable mappings in each segment and turn on the no-exec
	segment bit iff the count is 0.  adjust the trap handler to deal.
   = sparc (sun4m): fix our use of the hardware protection bits.
	fix the trap handler to recognize text faults.
   = sparc64: split the existing unified TSB into data and instruction TSBs,
	and only load TTEs into the appropriate TSB(s) for the permissions.
	fix the trap handler to check for execute permission.
   = not yet implemented: amd64, hppa, sh5

 - changes in all the emulations that put a signal trampoline on the stack.
   instead, we now put the trampoline into a uvm_aobj and map that into
   the process separately.

originally from openbsd, adapted for netbsd by me.
2003-08-24 17:52:28 +00:00
dsl
dc46f864d1 Hide prototype of linux_exec_setup_stack() inside #ifdef _KERNEL so
that sbin/sysctl will compile.
2003-08-21 15:08:25 +00:00
hannken
1a2d1be737 Fix syscall_vm86 argument:
struct trapframe -> struct trapframe *
2003-08-21 08:36:56 +00:00
he
6d211e7dbf Re-balance parens. 2003-08-18 20:34:18 +00:00
christos
329946a58b remove the args from the macro. 2003-08-14 02:17:07 +00:00
jdolecek
c336185a31 regen - added wrapper for Linux ftruncate64() 2003-08-10 20:17:21 +00:00
jdolecek
94b152275c add Linux compat arg wrapper for ftruncate64(), and change linux compat
truncate64() wrapper to translate args structure
NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have
to do the argument translation

Problem found and patch supplied in PR kern/22360 by Ales Krenek

This is the last of syscalls with hidden 'pad' arg we didn't have
wrapper for; all the others (lseek, mmap, pwrite, pread) already had
wrapper before.
2003-08-10 20:16:20 +00:00
jdolecek
64bb562b50 fix linux_sys_p{read|write}() to actually call correct syscall after
arg massage, i.e. sys_p{read|write} as appropriate; up to now, the functions
called sys_{read|write}() by mistake
2003-08-09 17:11:51 +00:00
christos
36e09d1a2c Explain a diagnostic message a bit better, and make it a debug only message. 2003-08-09 14:16:44 +00:00
christos
3b9c3c5aab - GC all the setup_stack functions
- add one for linux/i386
2003-08-08 18:57:01 +00:00
christos
6f1990af06 Conditionally declare function that is not used all the time. 2003-08-08 18:55:26 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
manu
c6eca571d5 irix_elf32_probe is now responsible for finding interpreter's load
address. We do that through the irix_load_addr function, which is
not IRIX specific at all. If another emulation needs it, it can
easily move to compat_util.c

With this change, IRIX dynamic binaries are able to link and run again
(top down UVM broke them a few weeks ago)
2003-08-06 01:04:44 +00:00
christos
baccb9bad5 Another chicken sacrifice to the gcc3 warning gods. 2003-08-05 21:12:53 +00:00
jdolecek
d6ade97eb9 use copyout() instead of subyte() 2003-08-02 20:23:48 +00:00
jdolecek
e0fe42681d use copyin()/copyout() instead of fubyte()/subyte()
also nuke uvm_useracc() check, copyin()/copyout() do this atomically

XXX only compile-tested
2003-08-02 19:51:23 +00:00
jdolecek
16b74086ed replace fuword() with copyin(), and suword() with copyout() 2003-08-02 19:21:48 +00:00
mrg
caa408bca7 (void_cast_for_gcc_3_3_msg_goes_here *) 2003-07-29 16:18:54 +00:00
jdolecek
a2d0517af5 More complete sendmsg(2) and recvmsg(2) emulation:
* translate MSG_* flags
* rewrite CMSG level/type to appropriate NetBSD value on input, and to Linux
  value on output
* handle different CMSG_DATA alignment for some archs

This fixes SCM_RIGHTS passing. Other SCM_* types are not supported -
the set is different on NetBSD and Linux. SCM_TIMESTAMP doesn't seem
to be actually implemented in Linux 2.5.15, so it's not supported
for Linux binaries either (for now).

PR: 21577 by Todd Vierling
2003-07-27 19:30:03 +00:00
mrg
05602c761d add a cast appease gcc3.3 2003-07-27 05:04:02 +00:00
jdolecek
21f695a1ae add LINUX_SO_PEERNAME, LINUX_SO_TIMESTAMP where it has been missing
fix value for LINUX_SO_DETACH_FILTER on couple places (unused anyway)

g/c LINUX_SCM_TIMESTAMP definition for some archs, it will be defined
in generic linux_socket.h
2003-07-26 19:59:29 +00:00
christos
91e13193ee make credentials work on the i386 by passing the original msg structure.
(from Todd Vierling)
2003-07-23 19:10:29 +00:00
christos
b2163312f5 fix unused variable warning 2003-07-11 18:55:14 +00:00
manu
90c0f71598 Add HW_MACHINE sysctl 2003-07-10 14:47:34 +00:00
enami
5b4483be52 Actually move the prototype of native_to_linux_sigaltstack here. 2003-07-04 03:04:11 +00:00
christos
28f544c476 Regen. 2003-07-03 21:25:07 +00:00
christos
c23e21bca5 Implement linux_rt_sigreturn for real. Add a hack for more plausible siginfo.
The java segv handler still segv's again inside the signal handler, but our
sample test program now works [gets the proper ucontext].
2003-07-03 21:24:27 +00:00
christos
72af603189 make the converter of sigaltstack public. 2003-07-03 21:22:32 +00:00
manu
0229e10bf3 Added a IOFBSETCOLORCONVERTTABLE method in ioframebuffer driver.
Added sanity check for user provided offsets in messages.
2003-07-01 19:15:47 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
thorpej
9f722af1c9 Adapt to ktrace/lwp changes. 2003-06-29 16:10:48 +00:00
thorpej
38271de3f4 Regen: adapt to linux mmap2 changes. 2003-06-29 16:08:36 +00:00
thorpej
8ab744356a Adapt to linux mmap2 changes. 2003-06-29 16:07:58 +00:00
thorpej
f4fff81d3a Adapt to ktrace/lwp changes. 2003-06-29 15:49:49 +00:00
simonb
2bda3187f5 Fix 'struct lwp *' lossage. 2003-06-29 15:14:11 +00:00
jdolecek
dc63267c8b properly FILE_USE/FILE_UNUSE descriptor in linux_sys_fcntl()
adresses PR kern/21628 by Wolfgang Solfrank
2003-06-29 14:51:28 +00:00
martin
69cd0c4a54 struct proc * -> struct lwp * 2003-06-29 13:33:51 +00:00
darrenr
257443876f 'struct proc *' -> 'struct lwp *' as required to get GENERIC for macppc built 2003-06-29 11:02:21 +00:00
martin
2edcbf6bb2 struct proc * -> struct lwp * 2003-06-29 10:37:45 +00:00