freebsd-src/sys/alpha/osf1
Marcel Moolenaar d034d459da Don't use p->p_sigstk.ss_flags to keep state of whether the
process is on the alternate stack or not. For compatibility
with sigstack(2) state is being updated if such is needed.

We now determine whether the process is on the alternate
stack by looking at its stack pointer. This allows a process
to siglongjmp from a signal handler on the alternate stack
to the place of the sigsetjmp on the normal stack. When
maintaining state, this would have invalidated the state
information and causing a subsequent signal to be delivered
on the normal stack instead of the alternate stack.

PR: 22286
2000-11-30 05:23:49 +00:00
..
exec_ecoff.h Finally add the Alpha OSF/1 compat code. I will add it to the 1999-12-14 22:35:36 +00:00
imgact_osf1.c Add M_ZERO to malloc calls where the result is just bzeroed. 2000-10-27 16:36:26 +00:00
Makefile Don't clobber the sources when plain "make" is run. Just print a message 2000-01-15 19:40:08 +00:00
osf1.h Make MINSIGSTKSZ machine dependent, and have the sigaltstack 2000-11-09 08:25:48 +00:00
osf1_ioctl.c magnetic tape support 2000-07-13 20:04:21 +00:00
osf1_misc.c Update osf1_setuid() and osf1_setgid() to use the new change_euid() and 2000-10-26 15:53:00 +00:00
osf1_mount.c remove unneeded #include <sys/buf.h> 2000-05-05 09:24:00 +00:00
osf1_proto.h Regen. (Fix SYS_exit) 2000-07-29 10:07:38 +00:00
osf1_signal.c Don't use p->p_sigstk.ss_flags to keep state of whether the 2000-11-30 05:23:49 +00:00
osf1_signal.h Simplify and correct OSF/1 signal handling. 2000-11-10 23:00:54 +00:00
osf1_syscall.h Regen. (Fix SYS_exit) 2000-07-29 10:07:38 +00:00
osf1_sysent.c Regen. (Fix SYS_exit) 2000-07-29 10:07:38 +00:00
osf1_sysvec.c Simplify and correct OSF/1 signal handling. 2000-11-10 23:00:54 +00:00
osf1_util.h Finally add the Alpha OSF/1 compat code. I will add it to the 1999-12-14 22:35:36 +00:00
README.mach-traps Add NetBSD's explanation of why it would be hard to emulate the Mach 1999-12-14 22:39:27 +00:00
syscalls.conf Finally add the Alpha OSF/1 compat code. I will add it to the 1999-12-14 22:35:36 +00:00
syscalls.master Sigh. Fix SYS_exit problems. I misunderstood the significance of these 2000-07-29 10:05:25 +00:00

$NetBSD: README.mach-traps,v 1.2 1999/03/23 09:19:25 itohy Exp $
$FreeBSD$

Some Alpha AXP OSF/1 binaries directly use the facilities provided by
the Mach kernel that is the basis for OSF/1.  These include (but are
surely not limited to) 'dd', 'ps', and 'w'.

Invariably, the symptom that these binaries display is that they crash
with an "unimplemented system call" trap (SIGSYS signal) for a syscall
that has a negative number.  In general, binaries that use the Mach
syscalls appear to invoke task_self() as their first syscall.

The name, number, and number of arguments for each Mach syscall is
given below; this information was gleaned by looking through the OSF/1
libmach.a's object files with dbx, then double-checked against the
contents of OSF/1's <mach/syscall_sw.h>.

These calls would be very difficult to implement properly in the
OSF/1 emulation code; by its very nature, NetBSD is not Mach, and we
don't and can't provide the underlying facilities that it does.

-- cgd

trap name			number	nargs	notes
---- ----			------	-----	-----
task_self			-10	0
thread_reply			-11	0
task_notify			-12	0
thread_self			-13	0
msg_send_old			-14	3
msg_receive_old			-15	3
msg_rpc_old			-16	5
msg_send_trap			-20	4
msg_receive_trap		-21	5
msg_rpc_trap			-22	6
lw_wire				-30	3
lw_unwire			-31	1
nxm_task_init			-33	2
nxm_sched_thread		-34	1
nxm_idle			-35	1
nxm_wakeup_idle			-36	1
nxm_set_pthid			-37	2
nxm_thread_kill			-38	2
nxm_thread_block		-39	1
nxm_thread_wakeup		-40	1
inode_swap_preference		-40	3	old call?
init_process			-41	0
map_fd				-43	5
nxm_resched			-44	2
htg_unix_syscall		-52	3
host_self			-55	1
host_priv_self			-56	1
swtch_pri			-59	1
swtch				-60	0
thread_switch			-61	3
semop_fast			-62	4
mach_sctimes_0			-70	0	only if MACH_SCTIMES defined
mach_sctimes_1			-71	1	only if MACH_SCTIMES defined
mach_sctimes_2			-72	2	only if MACH_SCTIMES defined
mach_sctimes_3			-73	3	only if MACH_SCTIMES defined
mach_sctimes_4			-74	4	only if MACH_SCTIMES defined
mach_sctimes_5			-75	5	only if MACH_SCTIMES defined
mach_sctimes_6			-76	6	only if MACH_SCTIMES defined
mach_sctimes_7			-77	0	only if MACH_SCTIMES defined
mach_sctimes_8			-78	6	only if MACH_SCTIMES defined
mach_sctimes_9			-79	1	only if MACH_SCTIMES defined
mach_sctimes_10			-80	2	only if MACH_SCTIMES defined
mach_sctimes_11			-81	2	only if MACH_SCTIMES defined
mach_sctimes_port_alloc_dealloc	-82	1	only if MACH_SCTIMES defined