| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
- Add 2 system calls: semaphore_signal_thread and sempaphore_signal_all (the
latter being untested)
- semaphore_signal_thread arguments list was wrong
|
|
|
|
In DARWIN_IOFBSETCLUTWITHENTRIES, split big tables into 128 items chunks
so that they fit in the stackgap (currently 512 bytes)
|
|
userland happy)
processor_set_default, host_processor_set_priv, and thread_set_policy
|
|
|
|
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.
|
|
Until we really map the whole VRAM, this is 0.
Two missing files in the last commit
|
|
With this, WindowServer blanks hals of my screen before crashing the kernel.
That's sweet.
|
|
|
|
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.
|
|
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)
|
|
|
|
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.
|
|
|
|
|
|
Mach threads much more accurate: we do not confuse threads and tasks
anymore.
|
|
|
|
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.
|
|
whitespace.
|
|
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.
|
|
|
|
|
|
|
|
Add some methods to IOFramebuffer (DARWIN_IOFBSETBOUNDS,
DARWIN_IOFBSETCURSORVISIBLE) and to IOHIDSystem (DARWIN_IOHIDPOSTEVENT),
all are unimplemented empty shells.
|
|
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
|
|
|
|
construction to inline functions. This removes a lot of redundent code
from Mach services
|
|
|
|
mach_ool_copyout.
Handle port namespace and address space translations when OOL
data moves between different processes (untested)
|
|
|
|
descriptor. This changes nothing but it removes a lot of XXX
|
|
know what type a descriptor really is.
|
|
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.
|
|
|
|
|
|
|
|
|
|
This lets FlexLM clients run under compat_svr4_32 on sparc64. Patch
checked by Matt Green.
|
|
red zone in Darwin, and nothing should be mapped there.
While we are here, ifdef DEBUG_MACH_VM all the VM-related debug messages
|
|
process terminate, so that no stale pointer can be used if the port is
still referenced
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|