summaryrefslogtreecommitdiff
path: root/sys/compat
AgeCommit message (Collapse)Author
2004-01-02off-by-one error in ary subscript.manu
2004-01-01Try to do a better job at Mach port refcount. That's not perfect, though.manu
2003-12-31Added the getattrlist system call. That was annoying.manu
2003-12-30- Rework the Mach semaphore code to handle threads instead of processesmanu
- Add 2 system calls: semaphore_signal_thread and sempaphore_signal_all (the latter being untested) - semaphore_signal_thread arguments list was wrong
2003-12-30In DPRINTF? replace uprintf, so that we get debug output for daemons too.manu
2003-12-29Added DARWIN_IOFBSETGAMMATABLEmanu
In DARWIN_IOFBSETCLUTWITHENTRIES, split big tables into 128 items chunks so that they fit in the stackgap (currently 512 bytes)
2003-12-29Added Mach services (no real implementation, just empty shells to makemanu
userland happy) processor_set_default, host_processor_set_priv, and thread_set_policy
2003-12-28Added the semaphore_wait_signal_trap Mach system call (untested)manu
2003-12-28When the catcher of an exception dies before releasing the thread thatmanu
raised the exception, don't release the lock, this causes a crash (the lock shall be released by the process that took it). Wakeup the thread instead, it will release the lock itself.
2003-12-27The VRAM offset seems to be the offset of the framebuffer within the VRAM.manu
Until we really map the whole VRAM, this is 0. Two missing files in the last commit
2003-12-26Correctly return the VRAM offset in IOFBGETVRAMMAPOFFSET connect method.manu
With this, WindowServer blanks hals of my screen before crashing the kernel. That's sweet.
2003-12-26union without a name does not build on i386...manu
2003-12-26Chand emul.darwin MIB to fit best current practice.manu
emul.darwin.init.pid instead of emul.darwin.init_pid, and so on. This breaks backward compatibility with the pre-dynamic sysctl(8) for emul.darwin, but it has never been available in a formal release, so it should be alright.
2003-12-24Rework Mach exception and Darwin's ptrace. gdb is now able to attach amanu
remote process. This new implementation also passes all the test programs I've written so far. - When exceptions come from traps, no UNIX signal should evet be sent. - Add a lock to ensure a debugger handles only one exception at a time - Use a structure to hold flavor and behavior in exception ports, instead of stuffing the two argument into an int. - Implement new Mach services: thread_suspend, thread_resume and thread_abort - Implement Darwin's ptrace PT_ATTACHEXC and PT_THUPDATE commands - Handle NULL second argument correctly in sigprocmask. - One mistake in the last commit (darwin_tracesig prototype)
2003-12-24Small prototype mistake (I'm juggling with too much uncommitted files)manu
2003-12-24Move the sigfilter hook to a more adequate location, and rename it to bettermanu
fit what it does. The softsignal feature is used in Darwin to trace processes. When the traced process gets a signal, this raises an exception. The debugger will receive the exception message, use ptrace with PT_THUPDATE to pass the signal to the child or discard it, and then it will send a reply to the exception message, to resume the child. With the hook at the beginnng of kpsignal2, we are in the context of the signal sender, which can be the kill(1) command, for instance. We cannot afford to sleep until the debugger tells us if the signal should be delivered or not. Therefore, the hook to generate the Mach exception must be in the traced process context. That was we can sleep awaiting for the debugger opinion about the signal, this is not a problem. The hook is hence located into issignal, at the place where normally SIGCHILD is sent to the debugger, whereas the traced process is stopped. If the hook returns 0, we bypass thoses operations, the Mach exception mecanism will take care of notifying the debugger (through a Mach exception), and stop the faulting thread.
2003-12-21clock_sleep was 10 times too fast because of a wrong constant.manu
2003-12-21Fix usage of fifth argument to pool_init().simonb
2003-12-20Provide a kernel port for each thread. This makes the emulation ofmanu
Mach threads much more accurate: we do not confuse threads and tasks anymore.
2003-12-20Put back Emmanuel's sigfilter hooks, as decided by Core.fvdl
2003-12-20Introduce lwp_emuldata and the associated hooks. No hook is provided for themanu
exec case, as the emulation already has the ability to intercept that with the e_proc_exec hook. It is the responsability of the emulation to take appropriaye action about lwp_emuldata in e_proc_exec. Patch reviewed by Christos.
2003-12-18KNF, spelling and english fixes to some comments. remove trailinggrant
whitespace.
2003-12-16Darwin's sigprocmask is an hybrid between or modern sigprocmak (old setmanu
argument, large sigset), and the older sigprocset (no old set argument, small sigset). It feature old set argument and small sigset. We now emulates this correctly.
2003-12-16Enable SA_SIGINFO for COMPAT_DARWINmanu
2003-12-09Catch signals in clock_sleep, so that sleeping processes can be interupted.manu
2003-12-09One more property needed by WindowServermanu
2003-12-09Fix various broken sanity checks in iokit emulation.manu
Add some methods to IOFramebuffer (DARWIN_IOFBSETBOUNDS, DARWIN_IOFBSETCURSORVISIBLE) and to IOHIDSystem (DARWIN_IOHIDPOSTEVENT), all are unimplemented empty shells.
2003-12-09In mach_msg_error, don't display error message when the errormanu
is 0 (no error). This function is often used as a shortcut to return a short message with retval = 0. Add error codes to the debug display
2003-12-09Move exception related code to a dedicated filemanu
2003-12-09Move most of the code involved into message header, trailer, and descriptormanu
construction to inline functions. This removes a lot of redundent code from Mach services
2003-12-09make this compile again.christos
2003-12-08Factor the code for OOL data movement into mach_ool_copyin andmanu
mach_ool_copyout. Handle port namespace and address space translations when OOL data moves between different processes (untested)
2003-12-08remove error(1) comment.christos
2003-12-08Use appropriate macro definitions when filling complex messagesmanu
descriptor. This changes nothing but it removes a lot of XXX
2003-12-08When handling complex messages, uses mach_msg_type_descriptor_t until wemanu
know what type a descriptor really is.
2003-12-07When a task to task message carries ports, translate the port names into themanu
receiver namespace. While we are there, refactor mach_msg_overwrite by splitting it into several smaller functions. It had grown too big to be easily maintainable.
2003-12-07Remove useless and verbose debug messagemanu
2003-12-07Added SCHED_INFO flavor in host_infomanu
2003-12-07fix style. Thanks Simon!dmcmahill
2003-12-07regen after schedctl addition.dmcmahill
2003-12-07Add a dummy entry for syscall #206, schedctl, that simply returns zero.dmcmahill
This lets FlexLM clients run under compat_svr4_32 on sparc64. Patch checked by Matt Green.
2003-12-06Don't allow mappings at address zero in vm_allocate: first page is amanu
red zone in Darwin, and nothing should be mapped there. While we are here, ifdef DEBUG_MACH_VM all the VM-related debug messages
2003-12-06Remove the reference to struct proc in kernel and host port once themanu
process terminate, so that no stale pointer can be used if the port is still referenced
2003-12-06Don't send Mach exceptions to dying processesmanu
2003-12-06In task_terminate, unstop the process so that we can really terminate it nowmanu
2003-12-06Fix some panics caused by incorrect Mach exceptions reference countsmanu
2003-12-06Remove a useless debug printfmanu
2003-12-05darwin_sysctl is no more.christos
2003-12-05back the sigfilter emulation hook change offjdolecek
2003-12-05struct darwin_slock is not undefined, it's just machine dependent.manu