Commit Graph

268 Commits

Author SHA1 Message Date
christos
3f0deeffa7 stack police: don't allocate PAGE_SIZE bytes on the stack. 2006-06-12 00:07:24 +00:00
christos
fc6d984beb kauth fallout 2006-05-15 00:05:16 +00:00
elad
874fef3711 integrate kauth. 2006-05-14 21:19:33 +00:00
christos
fc33769a12 gcc 4 does not like LHS casts. 2006-05-14 05:28:45 +00:00
drochner
2f9ef14bcf make this compile w/o KTRACE,
resolves PR kern/33212 by KIYOHARA Takashi
2006-04-07 09:23:16 +00:00
thorpej
be8b235384 Clean up fallout proc_is_traced_p() change:
- proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and
  trace_exit().
- trace_is_enabled() becomes a real function.
- Remove unnecessary include files from various files that used to care
  about KTRACE and SYSTRACE, but do no more.
2006-03-07 03:32:04 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
simonb
a21c456e2e Call nanotime() directly, instead of doing the
microtime()/TIMEVAL_TO_TIMESPEC() dance.
2005-11-11 07:07:42 +00:00
yamt
209478cccf protect p_nrlwps by sched_lock. 2005-09-17 14:35:51 +00:00
christos
758a209d23 64 bit inode changes. 2005-08-19 02:03:49 +00:00
christos
7a55962329 the exception numbers are MI. 2005-06-25 08:28:34 +00:00
christos
fb4b40b7e8 - sprinkle const.
- add XXXUNCONST to the emul_find() pbuf argument free'ing. XXX: this needs
  an api change.
- avoid variable shadowing.
2005-05-29 22:08:16 +00:00
fvdl
c487efe4a7 Fix some things regarding COMPAT_NETBSD32 and limits/VM addresses.
* For sparc64 and amd64, define *SIZ32 VM constants.
* Add a new function pointer to struct emul, pointing at a function
  that will return the default VM map address. The default function
  is uvm_map_defaultaddr, which just uses the VM_DEFAULT_ADDRESS
  macro. This gives emulations control over the default map address,
  and allows things to be mapped at the right address (in 32bit range)
  for COMPAT_NETBSD32.
* Add code to adjust the data and stack limits when a COMPAT_NETBSD32
  or COMPAT_SVR4_32 binary is executed.
* Don't use USRSTACK in kern_resource.c, use p_vmspace->vm_minsaddr
  instead (emulations might have set it differently)
* Since this changes struct emul, bump kernel version to 3.99.2

Tested on amd64, compile-tested on sparc64.
2005-03-26 05:12:34 +00:00
perry
77f2a006d0 regen 2005-02-26 23:58:19 +00:00
perry
bcaf99655c remove trailing whitespace after the "created from: NetBSD..." line. 2005-02-26 23:55:49 +00:00
perry
6377fcfee3 make this rebuild generated files by default, and don't build .bak files 2005-02-26 23:43:15 +00:00
perry
834b86bb6d eliminate creation of .bak files -- we have source control 2005-02-26 23:42:13 +00:00
perry
fa91538c32 make this rebuild generated files by default 2005-02-26 23:35:00 +00:00
perry
a7f74206ba regen 2005-02-26 23:20:00 +00:00
perry
477853c351 nuke trailing whitespace 2005-02-26 22:58:54 +00:00
yamt
0994e6acb8 introduce a function, proclist_foreach_call, to iterate all procs on
a proclist and call the specified function for each of them.
primarily to fix a procfs locking problem, but i think that it's useful for
others as well.

while i'm here, introduce PROCLIST_FOREACH macro, which is similar to
LIST_FOREACH but skips marker entries which are used by proclist_foreach_call.
2004-10-01 16:30:52 +00:00
hubertf
4592bf2278 Fix copyright notice - OK'd by the copyright holder. 2004-08-21 18:58:31 +00:00
jdolecek
74436be135 pass the fork flags down to the emulation fork hook, so that emulation
code can use the information for setup
2004-08-08 08:42:03 +00:00
manu
6c669327ef Add the emul.mach.exception.hang sysctl, which helps catching programs
that die before they disapear. This is usefull because we cannot start
Mach-O binaries under gdb. We attach the hung process instead.
2004-07-27 22:01:56 +00:00
manu
7e06aa42fb Regen 2004-07-24 15:47:23 +00:00
manu
4bc8afece2 Added port_get_refs and port_mod_refs 2004-07-24 15:46:02 +00:00
manu
f58d4a42e1 bugfix: vm_copy was only copying the first page 2004-07-18 23:19:52 +00:00
manu
4d933c5be0 Mark the thread id as clean in cthread_set_self 2004-07-03 09:44:04 +00:00
drochner
d19f706361 all ports define __HAVE_SIGINFO now, so remove the CPP conditionals 2004-03-26 17:34:18 +00:00
pooka
8b2eb5b87e Use PR_WAITOK instead of M_WAITOK for pool_get(). This is polite,
since M_WAITOK happens to be PR_NOWAIT.
2004-03-24 16:55:07 +00:00
manu
29638672ea off-by-one error in ary subscript. 2004-01-02 02:09:52 +00:00
manu
996e659ce6 Try to do a better job at Mach port refcount. That's not perfect, though. 2004-01-01 22:48:54 +00:00
manu
d1845c906c - Rework the Mach semaphore code to handle threads instead of processes
- Add 2 system calls: semaphore_signal_thread and sempaphore_signal_all (the
latter being untested)
- semaphore_signal_thread arguments list was wrong
2003-12-30 00:15:46 +00:00
manu
1a96ea0da6 In DPRINTF? replace uprintf, so that we get debug output for daemons too. 2003-12-30 00:14:20 +00:00
manu
7ab97b2c76 Added Mach services (no real implementation, just empty shells to make
userland happy)
processor_set_default, host_processor_set_priv, and thread_set_policy
2003-12-29 01:30:27 +00:00
manu
31b3c2a056 Added the semaphore_wait_signal_trap Mach system call (untested) 2003-12-28 23:00:36 +00:00
manu
2c772b20d9 When the catcher of an exception dies before releasing the thread that
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-28 13:28:39 +00:00
manu
d0de7398af union without a name does not build on i386... 2003-12-26 16:31:29 +00:00
manu
834aafd284 Rework Mach exception and Darwin's ptrace. gdb is now able to attach a
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-24 23:22:22 +00:00
manu
ebbd46991b clock_sleep was 10 times too fast because of a wrong constant. 2003-12-21 14:44:43 +00:00
simonb
740725d725 Fix usage of fifth argument to pool_init(). 2003-12-21 07:53:58 +00:00
manu
066436a916 Provide a kernel port for each thread. This makes the emulation of
Mach threads much more accurate: we do not confuse threads and tasks
anymore.
2003-12-20 19:43:17 +00:00
fvdl
d99705e941 Put back Emmanuel's sigfilter hooks, as decided by Core. 2003-12-20 19:01:29 +00:00
manu
b23b73b953 Introduce lwp_emuldata and the associated hooks. No hook is provided for the
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-20 18:22:16 +00:00
grant
44ed233ab5 KNF, spelling and english fixes to some comments. remove trailing
whitespace.
2003-12-18 01:10:20 +00:00
manu
780bd92b51 Catch signals in clock_sleep, so that sleeping processes can be interupted. 2003-12-09 22:04:25 +00:00
manu
10f0bf745b Fix various broken sanity checks in iokit emulation.
Add some methods to IOFramebuffer (DARWIN_IOFBSETBOUNDS,
DARWIN_IOFBSETCURSORVISIBLE) and to IOHIDSystem (DARWIN_IOHIDPOSTEVENT),
all are unimplemented empty shells.
2003-12-09 17:13:18 +00:00
manu
98c34875d4 In mach_msg_error, don't display error message when the error
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-09 17:10:02 +00:00
manu
b50934fc19 Move exception related code to a dedicated file 2003-12-09 12:13:44 +00:00