freebsd-dev/sys/alpha/osf1
Juli Mallett 1226f694e6 First half of implementation of ksiginfo, signal queues, and such. This
gets signals operating based on a TailQ, and is good enough to run X11,
GNOME, and do job control.  There are some intricate parts which could be
more refined to match the sigset_t versions, but those require further
evaluation of directions in which our signal system can expand and contract
to fit our needs.

After this has been in the tree for a while, I will make in kernel API
changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo
more robustly, such that we can actually pass information with our
(queued) signals to the userland.  That will also result in using a
struct ksiginfo pointer, rather than a signal number, in a lot of
kern_sig.c, to refer to an individual pending signal queue member, but
right now there is no defined behaviour for such.

CODAFS is unfinished in this regard because the logic is unclear in
some places.

Sponsored by:	New Gold Technology
Reviewed by:	bde, tjr, jake [an older version, logic similar]
2002-09-30 20:20:22 +00:00
..
exec_ecoff.h
imgact_osf1.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +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_ioctl.c Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
osf1_misc.c Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
osf1_mount.c Teach the OSF/1 emulation layer a little more about mandatory access 2002-08-12 01:16:55 +00:00
osf1_proto.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
osf1_signal.c First half of implementation of ksiginfo, signal queues, and such. This 2002-09-30 20:20:22 +00:00
osf1_signal.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
osf1_syscall.h Regenerate. This seems to have been missed in the last commit. 2001-09-20 05:01:08 +00:00
osf1_sysent.c Regenerate. This seems to have been missed in the last commit. 2001-09-20 05:01:08 +00:00
osf1_sysvec.c Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections to 2002-09-01 21:41:24 +00:00
osf1_util.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
osf1.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +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
syscalls.master Synchronize syscalls.master(s) with recent Giant pushdown work 2001-09-01 19:36:48 +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