Commit Graph

3276 Commits

Author SHA1 Message Date
manu d7d1474c7a Typo 2003-11-09 23:05:29 +00:00
manu 70a91d4b66 Better warnings on not fully implemented mach traps. 2003-11-09 11:10:11 +00:00
manu 43a6b5539b Make ngetdents working again, after the strcpy -> strlcpy move broke it
(because of an incorrect len argument)
2003-11-08 22:36:01 +00:00
manu 6d58f326f1 Build again with SIGINFO, patches from Christopher Sekiya. 2003-11-08 21:35:26 +00:00
manu 352595e88d Warkaround warning for uninitalized variables 2003-11-08 21:33:34 +00:00
manu ee7a6d2747 Restore COMPAT_IRIX signal delivery to an usable state. We provide a
fake sigcode so that trampoline vers checks in sigaction1() will not
return EINVAL. Another fix would be to duplicate code from svr4_sys_sigaction()
to irix_sys_sigaction() and call sigaction1() with vers != 0. We do not
do that because it would duplicate some code.
2003-11-08 21:28:45 +00:00
christos e348b1067c Catch up with struct proc lock changes. 2003-11-07 17:17:00 +00:00
christos 69ae0c6ad2 Fix unitialized variable use. mmm gcc. 2003-11-07 17:16:39 +00:00
christos 82812c7677 remove malloc.h (we don't need it) 2003-11-05 04:03:43 +00:00
christos 293ab5b508 limit malloc so that corrupted executables don't allocate a lot of memory. 2003-11-05 04:03:21 +00:00
manu 10d03389ac mach_port_get_attributes (incomplete and untested) 2003-11-03 22:17:42 +00:00
manu 90b3ec4640 First attempt at mach_make_memory_entry. Untested 2003-11-03 20:58:18 +00:00
manu 60e46c0cc8 Finnally, the missing field in IOHIDSystem keyboard events was identified. The
keyboard now works in XDarwin. Hurrah!
2003-11-02 00:44:19 +00:00
manu bb7e6443cb Remove all our real devices from the IOKit registry, as they won't be
usefull. Emulate only IOHIDSystem, IOFramebuffer and friends in the
registry.

ioreg is able to display the tree and dump the properties.
2003-11-01 18:41:25 +00:00
tsutsui 518c5a2e6a Fix an uninitialized warning. 2003-11-01 17:48:20 +00:00
manu 762ffea0a4 Build again whereas I removed adarwin_ioresource.c (removed before it
was committed...)
2003-11-01 00:42:04 +00:00
manu 53b35abfa2 Parent itarators in the IOKit emulation. A driver can only
have one parent yet (on Darwin, multiple parents are possible: the IOKit
seems to handle a graph more than a tree). Introfuction of a keyboard
driver parent for IOHIDSystem.

The kernel keymapping is still a big mystery.
2003-11-01 00:32:44 +00:00
drochner 714de0452f adapt for changes to kern/exec_elf32.c 2003-10-31 14:04:35 +00:00
drochner 24082a2293 -ELF_LINK_ADDR does now what irix_load_addr() did, so the latter can
be nuked
-adapt for changes to kern/exec_elf32.c
2003-10-31 14:04:04 +00:00
simonb f3f5fb123b Fix bogus uninitialised warnings. 2003-10-27 09:58:42 +00:00
chs 3b6d3c710c uninitialized variables 2003-10-27 07:07:34 +00:00
christos 2e92e66166 don't use extra variables where there is no need to. 2003-10-26 19:13:18 +00:00
christos 4ca54df1ef Don't do the tsleep dance if timo is 0; simplify the code. 2003-10-26 19:12:50 +00:00
christos de6033f456 Add __HAVE_SIGINFO 2003-10-26 08:11:53 +00:00
christos 94c11938c1 Regen 2003-10-26 08:11:17 +00:00
christos 099d2ea44d Add __HAVE_SIGINFO 2003-10-26 08:11:01 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
mycroft a65f74a513 Previous changes were not correct. 2003-10-25 20:15:13 +00:00
christos 4bec333ae4 Fix uninitialized variable warnings 2003-10-25 18:37:49 +00:00
chs 359e5c8c2e regen 2003-10-25 16:28:09 +00:00
chs b9a4f8c809 allow COMPAT_SUNOS without COMPAT_43. 2003-10-25 16:27:25 +00:00
manu e7fc3d0217 Correctly terminate the iohidsystem thread (with appropriate cleanups of
the shared memory), when the display server quits. We are now able to
restart the X server without the need to reboot the machine. That's better.
2003-10-25 10:43:45 +00:00
manu 13b975e15d Typo 2003-10-25 10:41:53 +00:00
kleink 004922cd70 Don't use NULL in integer-type assignments/comparisons. 2003-10-21 12:08:11 +00:00
petrov fd995d7327 More NULL vs not pointer. 2003-10-21 09:02:50 +00:00
fvdl f4fff513a1 Fix NULL vs. int comparison. 2003-10-21 01:44:45 +00:00
fvdl 38bee36b4c Fix some int vs. NULL comparisons. 2003-10-21 01:38:42 +00:00
fvdl d114e05b9c Don't compare an integer value against 0. 2003-10-21 01:20:12 +00:00
manu d77ec799a5 Support Darwin static binaries (I should say: support the only Darwin
static binary: otool). Dynamic binaires have a pointer to the Mach-O
header on the top of the stack, static binaries don't have this, and
having it produced a crash.

One bugfix: the EXEC_MACHO code assumes that entry = NULL means that
the entry point has not been found in the load commands seen so far.
Therefore we need to initialized entry to NULL if we want a static binary
to discover it. (dynamic binaries were forced to iscover it because when
the intepreter load command is found, entry is updated whatever its
value was before).

One hack: Both COMPAT_MACH and COMPAT_DARWIN are willing to run Mach-O
binaries. COMPAT_MACH fails for dynamic binaries because it cannot find
the interpreter in /emul/mach. For static binaires, it will accept them
(and for Darwin static binaries, this will cause a failure). Until we
rite a test for matchinf Darwin static binaries, just swap the order of
COMPAT_MACH and COMPAT_DARWIN in the exec switch so that COMPAT_DARWIN
is tried first (this will have the advantage of speeding up program
startup). EXECSW_PRIO_{FIRST_LAST} does not seem to work...
2003-10-19 07:52:22 +00:00
manu 8c5377c3b8 Remove references to wsmux_cdevsw and wsdisplay_cdevsw (how to remove
them completely?)

Add SETCURSORPOSITION operation
2003-10-18 13:27:17 +00:00
manu 3b556e0bb2 Fix error in struct definition 2003-10-18 13:25:27 +00:00
fvdl 4b84b8d930 Don't put the netbsd32_compat*.c files in the 'compat library'. Unconditionally
compiling these causes a ripple effect making it hard to conditionalize
anything on COMPAT_* in the kernel.
2003-10-15 13:32:14 +00:00
hannken a3a898ff0f Add the gating of system calls that cause modifications to the underlying
file system.
The function vfs_write_suspend stops all new write operations to a file
system, allows any file system modifying system calls already in progress
to complete, then sync's the file system to disk and returns. The
function vfs_write_resume allows the suspended write operations to
complete.

From FreeBSD with slight modifications.

Approved by: Frank van der Linden <fvdl@netbsd.org>
2003-10-15 11:28:59 +00:00
fvdl ff376b0763 Implement 32bit get/setcontext entry points. 2003-10-13 18:55:30 +00:00
fvdl fd1fb232de Regenerate. 2003-10-13 18:54:57 +00:00
fvdl 4a68d0f9cb Define compat_16 as valid prefix; define the 1.6 compat sigreturn. 2003-10-13 18:53:35 +00:00
agc b2b49933f4 Move Matt Green's code from a 4-clause to a 3-clause licence by removing
the advertising clause. Diffs provided in PR 22396 by Joel Baker, the changes
were confirmed to the board by Matt Green.
2003-10-13 14:22:20 +00:00
chs efdef4fa03 fix typo in previous. 2003-10-11 10:36:46 +00:00
matt 77a7f39625 Define SIGINFO variant of netbsd32_sendsig when __HAVE_SIGINFO is defined. 2003-10-10 23:18:57 +00:00
matt f2e488d9af Adapt to SIGINFO changes. 2003-10-10 18:08:04 +00:00
matt 0dbe439e05 Adapt ARM Linux compat code to deal with SIGINFO. 2003-10-10 14:44:42 +00:00
matt 25fb6de823 Adapt to SIGINFO changes. 2003-10-10 02:26:54 +00:00
thorpej 8321b2554f Use ksi_signo accessor macro. 2003-10-08 00:39:57 +00:00
christos 07ceba4419 Catch up with chuck's stack changes. Don't map the linux stuff executable
and avoid mapping segments that have 0 size.
2003-10-06 03:45:40 +00:00
itojun f8641ea112 avoid out-of-bound memory access. found by openbsd "bound" C attribute. 2003-10-01 08:03:48 +00:00
manu 2522a3f784 Build PowerPC again with _HAS_SIGINFO. Remove the ifdef on _HAS_SIGINFO
in the header file since all platforms supported by COMPAT_DARWIN now have it.
2003-09-30 21:04:54 +00:00
manu 45fa851e14 Report keyup and keydown events
Qhen the event queue is full, sleep so that the process will be able to
consume entries
2003-09-30 19:56:54 +00:00
manu a61584517b Attempt to restore colormap after a display server crashed 2003-09-30 19:49:00 +00:00
martin a498dbd6b4 constify 2003-09-28 10:24:47 +00:00
martin b4f2a7e0a0 const poisioning. 2003-09-28 10:22:21 +00:00
tsutsui f9acb25560 Catch up with const sigset_t. From Christopher SEKIYA. 2003-09-28 08:11:47 +00:00
cl ea7f5f55b4 fix fmovem argument reference 2003-09-28 00:15:13 +00:00
cl af0728fff5 catch up with const sigset_t 2003-09-28 00:07:50 +00:00
cl 944c9c43ab catch up with const sigset_t and const ksiginfo_t 2003-09-28 00:04:52 +00:00
christos deacebb910 Add necessary include file. 2003-09-26 21:28:24 +00:00
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
darrenr 9dc96360bb More changes for providing lwpid for ktrace (sparc GENERIC built) 2003-06-29 09:56:27 +00:00
simonb 0a144cd97c Fix 'struct lwp *' lossage. 2003-06-29 09:42:10 +00:00
enami 618a0ff610 Redo previous; struct proc *p is necessary if NSEQUENCER is non zero. 2003-06-29 05:26:25 +00:00
dogcow f842592241 these two got missed in darrenr's proc -> lwp changes 2003-06-29 03:29:14 +00:00
bouyer 63d28e64a6 Kill unused variable. 2003-06-28 22:52:53 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
he 86cc24bba0 #ifdef _KERNEL_OPT police. 2003-06-28 08:31:16 +00:00
he 3686522ed1 Regenerate after adding include of linux_mmap.h. 2003-06-28 07:56:51 +00:00
he c7ace1c552 Need to include linux_mmap.h to get size of struct linux_sys_mmap2_args. 2003-06-28 07:55:08 +00:00
martin 9276710861 #ifdef _KERNEL_OPT police 2003-06-25 20:30:15 +00:00
augustss 6ef6cc143d Fix missing call to FILE_UNUSE. From kern/21946, from Todd Vierling. 2003-06-23 21:53:10 +00:00
christos 9d352b5c2c PR/21936: Todd Vierling: ioctl 'r' misinterpreted 2003-06-23 21:37:27 +00:00
christos 40e148ef6b PR/21948: Todd Vierling: Implement MAP_TRYFIXED for linux emulation. 2003-06-23 21:32:33 +00:00
christos c9a5d7edc1 Regen. 2003-06-23 21:26:30 +00:00
christos 35637451db PR/21937: Todd Vierling: Proper support for mmap2 2003-06-23 21:25:56 +00:00
erh 2f3650202c Add copyright+license. 2003-06-23 17:29:25 +00:00
martin 864f19482a #ifdef _KERNEL_OPT police 2003-06-23 14:59:21 +00:00
martin d505b18964 Make sure to include opt_foo.h if a defflag option FOO is used. 2003-06-23 11:00:59 +00:00
christos 5879a5dcf6 PR/21936: Todd Vierling: compat/linux: ioctl 'r' misinterpreted 2003-06-20 03:54:35 +00:00
christos c82b786eb3 simplify bsd_sys_bind() 2003-06-05 19:42:55 +00:00
manu c5defe555a Ooops, I deleted a debug printf just before committing and one bit was
remaining. While I'm there, fix a typo in a comment.
2003-06-05 18:51:40 +00:00
manu 278cce5ba7 regen 2003-06-05 12:28:01 +00:00
manu 2c3b365958 Search alternate /emul/* path for AF_LOCAL sockets at bind() time. 2003-06-05 12:26:27 +00:00
manu 9c3b5e7aec Replace strlcpy by strncpy so that it builds again 2003-06-04 19:51:03 +00:00
manu b5c252e8af Build again with SA 2003-06-04 19:34:32 +00:00
manu 899161bdbc Added vm_copy 2003-06-03 20:09:37 +00:00
manu faba943220 Added IOHIDSystem properties (this is about keyboard mapping)
Also added a ssize arg to mach trap args so that trap handler are aware
of the sent packet size.
2003-06-03 06:48:47 +00:00
manu 1ea26aeafe + In ioframebuffer driver:
We try to map the console framebuffer through wsdisplay. It seems to work,
 but we still need to _see_ something.
XXX Framebuffer size discovery is borken.

+ In ioframebuffer and iohidsystem:
More methods and more debug for io_connect_method_*

+ A few new IOKit mach traps.
2003-05-22 22:07:36 +00:00
manu 0d9cf0359a Added io_connect_add_client 2003-05-22 18:10:19 +00:00
nakayama 10e7db6bab Avoid strict-ailas warnings in gcc 3.3;
refer to change of sys/compat/netbsd32/netbsd32_netbsd.c r1.67 to r1.69.
2003-05-17 01:35:54 +00:00
itojun 51110d0c20 use strlcpy
[compat/svr4_32 should have bound check for SVR4_32_AUX_ARGSIZ]
2003-05-16 14:36:30 +00:00
manu 1ab318ff2d We had ugly magic values in io_connect_method_scalari_scalaro and friends.
Peeking at Darwin's header files gives some ideas of what we are doing here.

We know understand most of the stuff called by XDarwin and WindowServer before
mapping the framebuffer.
2003-05-15 23:35:37 +00:00
manu da05e7b4d3 Added io_service_close and the io_connect_map_memory method for
ioframebuffer's shared meory (used to handle the cursor).

XDarwin and WindowServer now fail on framebuffer mapping.
2003-05-14 18:28:04 +00:00
manu f75cb60078 One more I/O flavor for the ioframebuffer driver. XDarwin now crashes
when it comes to map the cursor shared memory (accroding to the source,
next step will be mapping the framebuffer, we are getting closer)
2003-05-14 15:50:38 +00:00
manu 31b52bb7f2 More efforts on the XDarwin front. Introduce io_connect_method_scalari_structo
and io_connect_method_structi_structo. We don't know at all how this stuff
works, but at least we can imitate what Darwin does.
2003-05-14 14:41:04 +00:00
manu 962a6c7d59 Fix a bug in io_registry_entry_get_property: one of the field in the
return packet was wrong (port descriptor instead of VM area descriptor),
thus leading to SIGSEGV when calling IOKit's IOFBCreateSharedCursor().

Now this is fixed we can move forward again on graphic mode.
2003-05-13 20:48:16 +00:00
christos 7218f10c3c sort the ioctl's so we can see what we've implemented and what we have not. 2003-05-07 14:21:20 +00:00
manu 4c94241d26 Make io_iterator_reset working for device class itaerators 2003-04-30 18:38:19 +00:00
manu f8c2ac11e9 typo 2003-04-30 18:05:47 +00:00
manu 9a5720f8f0 Added io_iterator_reset (there is a nundocumented flag argument, no idea
of its use yet)
2003-04-30 07:32:16 +00:00
manu d46d73437c Added the map_memory method for the IOKit, plus an implementation
for the IOHIDSystem driver in Darwin. IOHIDSystem provides access
to user interface devices.

Communication between userspace and kernel is done through a shared
memory page. Our plan is to have a kernel thread waiting on wscons
events (for now it just does nothing), and have it feeding the
shared page.
2003-04-29 22:16:38 +00:00
manu 30bb8c56a7 More debug 2003-04-29 22:12:51 +00:00
manu cbfe387fcc swapped the words in lseek offset reassembly (that was was confused-endian)
Removed useless include that came from a copy/paste.
2003-04-20 14:36:05 +00:00
christos 962f5ffade try to get this to work for both endian machines. 2003-04-20 00:32:16 +00:00
manu 1368d826d9 Regen 2003-04-20 00:10:20 +00:00
manu beca0eff14 Fixed an ABI bug in lseek: NetBSD pads the syscallarg structure because of
the off_t argument, Darwin does not. In order to get the off_t  argument
going through our syscall machinery, we declare it as two long arguments,
and we reassemble it in darwin_sys_lseek.
2003-04-20 00:09:41 +00:00
manu aa5f0948ad Improved bahvior for map_fd. When Darin uses findspace = 0, this seems to
request a mapping at fixed address, overlaying previously existing mappings.

The overlay is done by unmapping (sys_munmap) before mapping at fixed
location. This makes XDarwin able to link and run.
2003-04-19 21:41:15 +00:00
dsl 01761b17f4 Remove unnecessary caddr_t casts 2003-04-16 19:20:33 +00:00
christos c56f7f428b get rid of the ASYNCMAP ioctls 2003-04-12 05:00:38 +00:00
thorpej 5051d1c544 Use PAGE_SIZE rather than NBPG. 2003-04-09 00:39:38 +00:00
oki fb4bbe16fc Regen. 2003-04-08 10:58:55 +00:00
oki 105a3bb543 Added missing syscalls from native syscalls.master. 2003-04-08 10:57:56 +00:00
manu 0479104b05 First attempt with task_suspend/task_resume, but we hit some bugs somewhere
else in our code.
2003-04-06 17:58:49 +00:00
jdolecek 1b18fee640 this info is now in doc/RESPONSIBLE 2003-04-06 10:13:07 +00:00
manu c74de80216 Implement task_info 2003-04-05 21:18:02 +00:00
manu acab734a9e Fix a few bugs and get a better notification support (A sample program
actually works)
2003-04-05 19:27:51 +00:00
he 0a34406c13 Fill the target st_qspare array with 0, the source field has been reclaimed
for other use by the UFS2 merge, and this is just a filler anyway.
2003-04-02 22:14:23 +00:00
thorpej d071d9a8d0 Use PAGE_SIZE rather than NBPG. 2003-04-01 15:02:05 +00:00
thorpej d46b766d7d Use PAGE_SIZE rather than NBPG. 2003-04-01 14:45:09 +00:00
thorpej 24ab4adb9c Use PAGE_SIZE rather than NBPG. 2003-04-01 01:53:40 +00:00
thorpej f4a068d5c2 Use PAGE_SIZE rather than NBPG. 2003-04-01 01:43:29 +00:00
manu fd94bf9486 First work on notifications. Not really working for now. 2003-03-29 11:04:08 +00:00
he 9f8115667b Adapt to changed signature for ioctl routine (caddr_t -> void*). 2003-03-27 15:54:02 +00:00
nakayama ac2c6fba75 Make it compile again; follow fo_ioctl change (hi David!). 2003-03-22 07:54:22 +00:00
dsl bd99e3429d Use 'void *' instead of 'caddr_t' in prototypes of VOP_IOCTL, VOP_FCNTL
and VOP_ADVLOCK, delete casts from callers (and some to copyin/out).
2003-03-21 23:11:19 +00:00
dsl 60418b39b7 Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'.
Avoids a lot of casting and removes the need for some line breaks.
Removed a load of (caddr_t) casts from calls to copyin/copyout as well.
(approved by christos - he has a plan to remove caddr_t...)
2003-03-21 21:13:50 +00:00
dsl 9be8ac5294 Alternative pid/proc allocater, removes all searches associated with pid
lookup and allocation, and any dependency on NPROC or MAXUSERS.
NO_PID changed to -1 (and renamed NO_PGID) to remove artificial limit
on PID_MAX.
As discussed on tech-kern.
2003-03-19 11:36:32 +00:00
manu 523dbf2146 Quick and dirty version of io_registry_entry_get_properties. 2003-03-09 18:33:28 +00:00
he 385f6e3afe Remove to local declarations of "p" which are no more in use, to make
this compile again.
2003-03-08 01:20:21 +00:00
manu a6757a0de1 Less accurate vm_region, but it sticks better to Darwin results. 2003-03-05 22:39:48 +00:00
dsl 4c320740d2 Use do_setres{u,g}id for osf1_sys_set{u,g}id 2003-03-05 18:47:39 +00:00
dsl dfdb668a2e Reimplement linux_sys_setresgid() in terms of do_setresgid() 2003-03-05 18:46:11 +00:00
dsl eabc565aaf Use do_setresuid() to implement linux_sys_setresuid() 2003-03-05 18:44:46 +00:00
manu 03dfd69a01 Added vm_region and vm_msync traps 2003-03-03 22:07:39 +00:00
thorpej 5afa6838bf Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number
of cycles off the syscall overhead.

Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN,
garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
2003-03-01 04:36:38 +00:00
manu edcf894563 Notification request packets format, nothing implemented yet. 2003-02-28 09:30:23 +00:00
cgd cd122e4a2d in irix_syssgi_mapelf: use vn_marktext where necessary, and make sure
a file isn't accidentally left 'USE'd if an error occurs.  reviewed
by simonb.
2003-02-28 02:12:55 +00:00
yamt da8d9f98f5 make compat_linux struct file interlock friendly. 2003-02-27 16:04:15 +00:00
enami 37d7d10857 Remember the allocated ptimer object so that it won't leak. 2003-02-23 23:36:35 +00:00
pk 2931081a79 Make updating a file's reference and use count MP-safe. 2003-02-23 14:37:32 +00:00
manu c3be74fe41 Introduced IOKit driver methods. Moved back into Mach some IOKit driver
support that was in Darwin code. I get an empty darwin_iokit.c, which is
getting a good candidate for cvs delete.
2003-02-20 22:39:42 +00:00
jdolecek 25d6f89a59 update emul alarm syscalls to recent timer changes
problem encountered by Luke Mewburn for linux emul, problem spot
found by Enami Tsugutomo
2003-02-19 11:23:53 +00:00
jdolecek 853290d652 remove local idea of ELF_AUX_ARGSIZ - since this emul uses elf32_copyargs(),
it shouldn't override the size
2003-02-19 09:45:48 +00:00
manu 749de24f94 - Make sure darwin_iokit_ioframebuffer is invoked
- fix a mistake in mach_io_registry_entry_get_property message format
2003-02-16 18:33:35 +00:00
manu ca120fe1a2 Match IOHIDSystem and IOFramebuffer request in the IOKit and handle them in
Darwin specific files. The handler does nothing yet.

This needs some improvement. Darwin attaches an IOHIDSystem device to
each human-interface device in the tree: mouse, keyboard, and a few others.
For now we only emulate one IOHIDSystem device.
2003-02-16 15:02:05 +00:00
dsl 71d53fb2ed Use find_stopped_child() and proc_free() in compat wait() code to
avoid code duplication.
(approved by christos)
2003-02-14 10:19:14 +00:00
christos e163414ca5 include more opt_ files for nfs. 2003-02-10 17:33:13 +00:00
christos 1bc826ce5e getfh is needed for NFS server. 2003-02-10 17:30:08 +00:00
manu 80a30f1a31 A first attempt at providing access to our device tree through the IOKit.
Darwin's ioreg is able to display the tree.
2003-02-09 22:13:46 +00:00
manu 44af8c7eb4 More IOKit shell. This makes ioreg looping on device discovery: foobar
has a child called foobar, and so on.
2003-02-07 20:40:37 +00:00
manu d0139ca922 More iokit shell: it does nothing, but WindowServer get a bit more far
away and ends with a SIGSEGV.
2003-02-07 16:56:19 +00:00
manu 2e73bb80fe More IOKit basics. Also introduced a mach_port flag to get a precise idea
of what port is sending a message to the kernel.
2003-02-05 23:58:09 +00:00
manu 357afc4e2f Some bits of the first iokit call 2003-02-04 22:47:41 +00:00
manu a643d6a63e Fixed typo 2003-02-03 20:46:55 +00:00
manu 2cd19ab0b2 - WindowServer wants io_master_port? Give it a port!
- introduce mach_port_destroy (badly emulated for now)
- on fork/exec, don't set l_private, as the process might be not mature
enough to survive a proc_representative_lwp call (-> kernel panic)

Once we give WindowServer the io_master_port, it sends a message to it:

   305 WindowServer MMSG  id 2804 [0x1310009 -> 0x131000e] -12016 bytes, flags 0
x1513
   0x0000  0x00001513 0xffffd110 0x0131000e 0x01310009   .........1...1..
   0x0010  0xffffcfd0 0x00000af4 0x00000000 0x00000000   ................
   0x0020  0xffffcf60 0x00000052 0x3c646963 0x74204944   ...`...R<dict ID
   0x0030  0x3d223022 0x3e3c6b65 0x793e494f 0x50726f76   ="0"><key>IOProv
   0x0040  0x69646572 0x436c6173 0x733c2f6b 0x65793e3c   iderClass</key><
   0x0050  0x73747269 0x6e672049 0x443d2231 0x223e494f   string ID="1">IO
   0x0060  0x48494453 0x79737465 0x6d3c2f73 0x7472696e   HIDSystem</strin
   0x0070  0x673e3c2f 0x64696374 0x3e0047cc              g></dict>.G.

Did you ever dreamt about system call arguments in XML?
2003-02-02 19:06:31 +00:00
manu 34a458238c For cproc_t, use a per thread value instead of a per process value. ifdef
out l_emuldata in struct lwp until we actually use it.
2003-01-30 19:14:18 +00:00
atatat bede65472d Cull unused variables. Sigh.
PS - Cross compilers are cool.
2003-01-29 07:00:35 +00:00
manu 26723dc292 lwpified sproc emulation so that it builds and works again. COMPAT_IRIX
now has the level of functionnality it had before SA merge
2003-01-28 23:47:42 +00:00
atatat 59b8237f5e No need to pick a "default address" for mmap in compat code, since we
merely call sys_mmap() at the end anyway, and that will pick the
address for us, if it's needed.

Likewise for checking if /dev/zero is being mapped.
2003-01-28 21:57:42 +00:00
manu 7e15e89c0a Fixed dumb bug 2003-01-26 19:32:04 +00:00
manu ce8bd172b2 For thread creation, make the newly created thread runnable. Mach threads
are now functionnal again.
2003-01-26 19:02:14 +00:00
manu 55215e5266 Remove right duplication on thread creation, which became useless now we
are using lwp.
Enable kill -9 to kill parent thread waiting for its child.
Use upcallret instead of child_return for the newly created lwp.
Add debug messages for thread creation.

Thread creation are still broken...
2003-01-26 12:39:32 +00:00
manu 82a9c6faf0 Use per process emuldata for the thread id for now, but this will change
shortly. This makes hello world working again.
2003-01-24 22:35:43 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
manu cb771e3c64 Make the beast build again (but it is still probably broken) 2003-01-24 21:37:01 +00:00
rafal 4490fd7293 Last bit of LWP'ification of compat_irix; this is probably wrong, but at
least it compiles and manu said he'd fix it up and test the whole kit when
he had a chance.
2003-01-22 21:04:50 +00:00
christos 2bb5209b1b lwp'ify 2003-01-22 17:48:02 +00:00
christos ed339f5241 regen. 2003-01-22 17:47:47 +00:00
christos bcc3424bc3 regen 2003-01-22 17:47:35 +00:00
christos 498aa03f2a lwp conversion 2003-01-22 17:47:03 +00:00
rafal 5234d1eb92 Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
matt b03d17694a Do a preliminary switchover of the mach code to lwp's. It compiles now
but probably doesn't work.   That's for someone who understand this code
better.
2003-01-21 04:06:06 +00:00
matt de92ce633f Regen. 2003-01-21 04:02:37 +00:00
matt d8ad92c6b6 Add <sys/sa.h> 2003-01-21 04:02:10 +00:00
matt 312dfd8487 Adapt to the LWP world. 2003-01-21 04:01:09 +00:00
matt e093b867e9 Regen. 2003-01-21 04:00:02 +00:00
matt 6d793da904 Add <sys/sa.h> 2003-01-21 03:59:27 +00:00
jdolecek d4ad86a080 finish LWPify 2003-01-21 03:16:06 +00:00
martin 5adc155ebd Fix lwp_wait syscallargs. This closes PR 19941. 2003-01-20 08:27:40 +00:00
simonb b4cf696706 Don't need a semi-colon after the closing brace of a function. 2003-01-20 07:18:59 +00:00
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
simonb 2eaedc2774 Remove variables that are only assigned too but not referenced. 2003-01-20 01:35:11 +00:00
thorpej 20ba6d6368 Regen to get correct RCS ID. 2003-01-19 16:49:12 +00:00
thorpej 39279e53b5 Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
thorpej f17177355f Regen for correct RCS ID. 2003-01-18 23:43:25 +00:00
thorpej d88bc9c3a2 Regen for correct RCS ID. 2003-01-18 23:36:48 +00:00
thorpej 9509ca1682 Regen for correct RCS IDs. 2003-01-18 23:36:09 +00:00
thorpej 6f62ffcd13 Regen to get correct RCS IDs. 2003-01-18 23:34:34 +00:00
thorpej a03cb2b851 Regen to get correct RCS ID. 2003-01-18 23:28:15 +00:00
christos c0b8b6d8c6 add compat_ossaudio 2003-01-18 22:34:23 +00:00
jdolecek 79509d7602 LWPify 2003-01-18 21:26:36 +00:00
thorpej 41978f782e Merge the nathanw_sa branch. 2003-01-18 21:21:28 +00:00
thorpej 8c0ee6a16b Merge the nathanw_sa branch. 2003-01-18 17:31:06 +00:00
thorpej 6576211dc0 Regen: Merge the nathanw_sa branch. 2003-01-18 08:49:59 +00:00
thorpej 71f181a907 Merge the nathanw_sa branch. 2003-01-18 08:49:22 +00:00
thorpej 6881e93b29 Regen: Merge the nathanw_sa branch. 2003-01-18 08:45:04 +00:00
thorpej 9b46ebe0bd Merge the nathanw_sa branch. 2003-01-18 08:44:26 +00:00
thorpej 84797271c2 Regen: Merge the nathanw_sa branch. 2003-01-18 08:38:50 +00:00
thorpej 540ba7bda5 Merge the nathanw_sa branch. 2003-01-18 08:38:14 +00:00
thorpej afdb47f3fb Regen: Merge the nathanw_sa branch. 2003-01-18 08:36:45 +00:00
thorpej fc54d21534 Merge the nathanw_sa branch. 2003-01-18 08:36:15 +00:00
thorpej 8cb74219bb Regen: Merge the nathanw_sa branch. 2003-01-18 08:35:00 +00:00
thorpej ca3240e089 Merge the nathanw_sa branch. 2003-01-18 08:33:08 +00:00
thorpej 34d5235cfa Regen: Merge the nathanw_sa branch. 2003-01-18 08:32:33 +00:00
thorpej df6b501dd4 Merge the nathanw_sa branch. 2003-01-18 08:32:04 +00:00
thorpej 27bb1001b7 Regen: Merge the nathanw_sa branch. 2003-01-18 08:29:08 +00:00
thorpej 6acc60d22d Merge the nathanw_sa branch. 2003-01-18 08:28:25 +00:00
thorpej 53e750d150 Regen: Merge the nathanw_sa branch. 2003-01-18 08:19:32 +00:00
thorpej 7024ec54cc Merge the nathanw_sa branch. 2003-01-18 08:18:50 +00:00
thorpej 9653eab062 Regen: Merge the nathanw_sa branch. 2003-01-18 08:07:52 +00:00
thorpej 3d60b73d4f Merge the nathanw_sa branch. 2003-01-18 08:06:20 +00:00
thorpej 42f134e02f Regen: Merge the nathanw_sa branch. 2003-01-18 08:05:32 +00:00
thorpej 46141a3135 Merge the nathanw_sa branch. 2003-01-18 08:02:46 +00:00
thorpej 16311b53c0 Regen: Merge the nathanw_sa branch. 2003-01-18 07:45:34 +00:00
thorpej 064d091d71 Merge the nathanw_sa branch. 2003-01-18 07:44:50 +00:00
thorpej 062c115a84 Regen: Merge the nathanw_sa branch. 2003-01-18 07:41:34 +00:00
thorpej a9d45e7ce9 Merge the nathanw_sa branch. 2003-01-18 07:40:44 +00:00
thorpej 790d584247 Regen: Merge the nathanw_sa branch. 2003-01-18 07:37:32 +00:00
thorpej f12607ba9f Merge the nathanw_sa branch. 2003-01-18 07:36:56 +00:00
thorpej acac9c96bb Regen: Merge the nathanw_sa branch. 2003-01-18 07:33:52 +00:00
thorpej 6762b37e5a Merge the nathanw_sa branch. 2003-01-18 07:28:34 +00:00
thorpej a83ddff873 Regen: Merge the nathanw_sa branch. 2003-01-18 07:21:52 +00:00
thorpej 179f14e286 Merge the nathanw_sa branch. 2003-01-18 07:21:14 +00:00
thorpej 85cf298c95 Regen: Merge the nathanw_sa branch. 2003-01-18 07:18:30 +00:00
thorpej d2275d51e1 Merge the nathanw_sa branch. 2003-01-18 06:55:21 +00:00
jdolecek 98cb17d023 add support for SNDCTL_DSP_SETDUPLEX ioctl to ossaudio emulation code
code provided by Andreas Wrede in PR kern/19793
2003-01-12 08:20:05 +00:00
oki 1b09272dff Use text size in COFF header instead of size of section header
marked as COFF_STYP_TEXT.
2003-01-08 17:43:51 +00:00
oki 31789669fa Use uprintf for debug print. 2003-01-08 12:29:44 +00:00
simonb 775343ebae Fix a tyop. 2003-01-08 00:39:44 +00:00
wiz 1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
wiz c053751628 compatibility, not compatiblity. 2003-01-06 13:26:24 +00:00
wiz 617b132aac Spell output with two ts. 2003-01-04 23:43:02 +00:00
manu f656d621e7 Here we enter the land of IOKit where the shadows lie.
There are two new mach traps:
mach_vm_make_memory_entry, mach_host_get_io_master. Now we need to find
the documentation to understand what they are supposed to do.
2003-01-04 15:15:01 +00:00
manu 4b219b054a I don't know where I saw this 8 bit shift for the inherit argument of
vm_inherit, but it's not usefull (it's even harmful), so remove it.
WindowServer still crashes but later.
2003-01-04 13:17:07 +00:00
manu 7f468ee029 Bug fixes for the fake pid hack.
WindowServer is now able to talk with mach_init to exchange bootstrap
information.
2003-01-03 14:47:27 +00:00
manu 80d406d8fe FIxed the way rights are recycled: the refcount makes only sense for
send, send once, and dead names, not for port sets and receive rights.
This make vi and telnet able to work again.

Also removed the all process right list and its lock, which got useless. The
all process lock is replaced by a per process lock, located in struct
mach_emuldata.

Also one bug fix: we did not correctly called Mach hooks for struct emuldata
initialization and release for Darwin processes.
2003-01-03 13:40:04 +00:00
manu 2c04ce0604 A better implementation of right carried by messages. We now correctly create
the right in the destination process.

This is a small step backward for functionnality: vi does not work anymore
because our right checks cause some spurious errors, but this will be fixed
later.
2003-01-02 12:46:06 +00:00
manu 0d5c4544d1 The first int on the stack is not the page size, it's the address of the
mach-O header. This is a guess based on what we have on Darwin, we need
to check other Mach systems to see if this value is Darwin specific or not.
Also updated copyright and removed useless debug
2003-01-01 15:18:25 +00:00
manu f3e11e72e9 Introduce port names, deallocate mach ressources at Darwin process exit 2002-12-31 15:47:37 +00:00
manu 6f978415df When the kernel transmits a message to a processs, remote and local port
are swapped. Also added some debug.
2002-12-31 13:09:38 +00:00
manu 48ad3f41b6 Remove some debug and make it build again wihout DEBUG_MACH 2002-12-31 09:32:03 +00:00
manu 1d1b901b90 bug fix: in debug functions, the port set right and the port set members
wer mixed up
2002-12-30 19:32:15 +00:00
manu d9f2a8dbcd - When mach_init saves the bootstrap port, make it the default bootstrap port
for any program we will launch later. This is a hack to avoid the need
of launching any Darwin binary as a child of mach_init
- More and more debug
2002-12-30 18:44:33 +00:00
manu f449715c66 When allocating a receive right on a port, don't forget to change
the reciever.
2002-12-30 12:46:19 +00:00
manu 27427542f4 When the right is not a port set, set the port set head to the right
itself. That way when we want to wakeup a receiver, we just have to
wakeup the port set head, it will work either for port set and for non
port sets.
2002-12-30 12:41:52 +00:00