Commit Graph

58 Commits

Author SHA1 Message Date
Roland McGrath 92c7a8e20e Previously uncontrolled files put into CVS. 1995-02-18 00:05:51 +00:00
Roland McGrath 1eae31ac32 Initial revision 1995-02-08 03:06:52 +00:00
Roland McGrath 8548d4c084 Use spin lock operations on sigstate lock.
Don't expect _hurd_self_sigstate to lock it.
1995-02-07 04:25:56 +00:00
Roland McGrath 14b832adfd (_hurd_setup_sighandler): Use `long int' for sigcode.
Use explicit register numbers instead of names.
(_hurdsig_rcv_interrupted_p): Use _hurdsig_catch_fault.
1995-02-03 23:20:27 +00:00
Roland McGrath 37da91a00d Use `long int' for sigcode. 1995-02-03 23:15:48 +00:00
Roland McGrath 1cec31f4d4 Converted to use weak aliases with macros from libc-symbols.h. 1995-01-21 15:40:54 +00:00
Roland McGrath ca194bd9da (_hurd_setup_sighandler): Remove A macro; just use `asm volatile' with
proper quotes in each line.
1994-12-15 00:12:48 +00:00
Roland McGrath 33aa4240f6 (CALL_WITH_SP): Put parens around jmp target register. 1994-12-15 00:09:43 +00:00
Roland McGrath edae2ab8af Use `long int' for sigcode values.
Use _hurdsig_catch_fault.
Pass address of __sigreturn in $27, SCP value in $25.
In trampoline code, use those regs.
1994-12-12 06:43:12 +00:00
Roland McGrath 94cd6ef1f8 Use asms instead of global register vars to restore FP regs.
Fix typo in REI invocation.
1994-12-12 06:41:03 +00:00
Roland McGrath d61ce4f4b8 Include <mach/machine/alpha_instruction.h> to define op_chmk. 1994-12-10 05:17:13 +00:00
Roland McGrath 25e6db514e Use `long int' for sigcode values. 1994-12-10 04:41:06 +00:00
Roland McGrath d73a59163e (ENTRY): New macro. 1994-12-09 20:00:58 +00:00
Roland McGrath 60bbd54df8 (START_MACHDEP): Add missing backslashes.
(CALL_WITH_SP): Cast FN to long int.
1994-12-09 05:47:43 +00:00
Roland McGrath 8b0538623b (struct machine_thread_all_state): New member `exc'. 1994-12-09 05:42:09 +00:00
Roland McGrath 946b6e002a Remove ".set noreorder" et al; GCC already emits them.
Fix register constraints in asms.
Set RTN in C, not asm.
1994-12-09 05:05:05 +00:00
Roland McGrath 157aaa4ee6 Remove ".set noreorder" et al; GCC already emits them. 1994-12-09 03:42:31 +00:00
Roland McGrath a11dbdebf0 Rename variable `sp' to avoid conflict with #define in <mach/alpha/asm.h>. 1994-12-08 19:45:02 +00:00
Roland McGrath 89347dc3e9 Remove unused variable. 1994-12-08 19:43:43 +00:00
Roland McGrath 5a8d8a2049 Initial revision 1994-12-07 20:02:38 +00:00
Roland McGrath ccd1325bd5 Use ENV[0].__jmpbuf[0]. 1994-12-05 17:57:43 +00:00
Roland McGrath 69edd206e9 Use ENV[0].__jmpbuf. 1994-12-05 17:55:41 +00:00
Roland McGrath 5c87d70ba0 Set up frame for `rei' to restore on user stack, aligned to an 8-word
boundary and with a PS value that restores user's stack alignment.
1994-12-03 14:00:08 +00:00
Roland McGrath 39edbfd9c8 (sigcontext
): Fixed typo.
1994-12-03 13:57:03 +00:00
Roland McGrath 239291e1db (struct sigcontext): Use `__sigset_t' instead of `sigset_t' for `sc_mask'. 1994-11-22 22:29:25 +00:00
Roland McGrath cef89fdba9 Initial revision 1994-11-15 10:39:12 +00:00
Roland McGrath 8e576015fb entered into RCS 1994-11-15 06:48:25 +00:00
Roland McGrath 7d99e5148d entered into RCS 1994-11-10 09:58:40 +00:00
Roland McGrath 18b0df639c Formerly ./mach/hurd/alpha/trampoline.c.~2~ 1994-11-10 09:29:41 +00:00
Roland McGrath 9bcfb9b9bc Initial revision 1994-11-10 04:41:19 +00:00
Roland McGrath 0d92fbeca7 entered into RCS 1994-11-10 04:35:29 +00:00
Roland McGrath 1db9e43738 Initial revision 1994-11-09 12:23:25 +00:00
Roland McGrath eacddc0a20 entered into RCS 1994-11-08 23:34:47 +00:00
Roland McGrath 72dd53ade3 Initial revision 1994-11-08 23:32:22 +00:00
Roland McGrath 2131138c90 entered into RCS 1994-11-08 22:33:29 +00:00
Roland McGrath 7704bac4de Restore FPU state. Code from kkojima. 1994-09-03 02:31:57 +00:00
Roland McGrath 3635a08757 Initial revision 1994-08-30 12:38:38 +00:00
Roland McGrath 1e5c57652a (SYSRETURN): New macro. 1994-08-22 19:00:39 +00:00
Roland McGrath 92ae11d456 (__sigreturn): Arg is not const.
After restoring SCP->sc_mask, check for pending signals (newly unblocked);
if any, set SS->context to SCP, clear SS->intr_port, and send sig_post
to the signal thread to deliver the pending signals.
Don't write $1 value into the user stack.  Instead, write it into the word
just past SCP->sc_pc; then point $1 at SCP->sc_pc and use `op_sigreturn'
pseudo-instruction to restore the PC and $1 from that.
1994-08-22 09:06:46 +00:00
Roland McGrath 62833ce689 Include "thread_state.h" instead of <mach/thread_status.h>.
(struct mach_msg_trap_args): New type.
(trampoline): Function removed.
(_hurd_setup_sighandler): Take struct hurd_sigstate * arg instead of FLAGS
and SIGALTSTACK args; take new flag arg RPC_WAIT; use struct
machine_thread_all_state * for STATE arg.
New declared labels `trampoline', `rpc_wait_trampoline' mark asm code at
end of function (after return).
Add another struct sigcontext * to STACKFRAME after the first one, for the
arg to __sigreturn.
If SS->context is set, fill registers in SCP from that instead of STATE,
and reset SS->INTR_PORT from it.
If RPC_WAIT is set, set up to use rpc_wait_trampoline and frob args to
mach_msg_trap syscall in progress so that it will retry the receive
operation (but not resend!).
{rpc_wait_trampoline, trampoline}: New trampoline code.
(_hurd_rcv_interrupted_p): New function.
1994-08-22 05:02:49 +00:00
Roland McGrath 817a880cc1 Don't #include <mach/thread_status.h>. 1994-08-16 06:06:18 +00:00
Roland McGrath 275f772878 Add #include_next <thread_state.h> at end. 1994-08-16 06:04:07 +00:00
Roland McGrath cd582f3e94 (sc_mips_thread_state, sc_mips_exc_state, sc_mips_float_state): New macros,
marking members that correspond to thread_state.h structs.
1994-08-16 05:58:17 +00:00
Roland McGrath 2a1ec466ab (struct sigcontext): Renamed member `sc_err' to `sc_error'. 1994-08-11 00:26:03 +00:00
Roland McGrath b87619900a (_hurd_exception2signal): Take new arg `int *error'; set it. 1994-08-08 22:54:44 +00:00
Roland McGrath bd2a5f499d (struct sigcontext): Added member `sc_err'. 1994-08-08 07:58:38 +00:00
Roland McGrath c693c1caaf (struct machine_thread_all_state): New type. 1994-08-08 07:39:58 +00:00
Roland McGrath d85eb528c4 Rearranged structure so machine-dependent portion is laid out like `struct
mips_thread_state; struct mips_exc_state; struct mips_float_state;'.
1994-08-03 16:32:47 +00:00
Roland McGrath b8f04323dc Compare *reply_port to MACH_PORT_NULL, not implicit zero.
(restore_gpr): Use N-1 as subscript into sc_gpr (sc_gpr[0] => $1).
Before general regs, restore from sc_mdlo and sc_mdhi.
Don't treat sp, fp specially; use restore_gpr for them too.
For final return, store user $1 value beyond top of user stack ahead of
time; Then use $1 to hold the user PC, and restore it from the stack in the
delay slot.
1994-08-03 06:45:59 +00:00
Roland McGrath 8d2f85c668 (_hurd_setup_sighandler): Copy TS to SCP all at once. 1994-08-03 01:38:43 +00:00