posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -18,6 +18,10 @@ void arch_thread_switch_kstack_and_call(struct thread *t, addr new_kstack, void
|
||||
//struct thread *arch_thread_get_current_thread(void);
|
||||
//void arch_thread_set_current_thread(struct thread *t);
|
||||
|
||||
void arch_setup_signal_frame(struct thread *t, struct sigaction *sa, int sig, int sig_mask);
|
||||
int64 arch_restore_signal_frame(void);
|
||||
void arch_check_syscall_restart(struct thread *t);
|
||||
|
||||
// for any inline overrides
|
||||
#include <arch_thread.h>
|
||||
|
||||
|
||||
@@ -95,6 +95,8 @@ struct iframe {
|
||||
unsigned int edx;
|
||||
unsigned int ecx;
|
||||
unsigned int eax;
|
||||
unsigned int orig_eax;
|
||||
unsigned int orig_edx;
|
||||
unsigned int vector;
|
||||
unsigned int error_code;
|
||||
unsigned int eip;
|
||||
@@ -112,6 +114,10 @@ void i386_enter_uspace(addr entry, void *args, addr ustack_top);
|
||||
void i386_set_kstack(addr kstack);
|
||||
void i386_switch_stack_and_call(addr stack, void (*func)(void *), void *arg);
|
||||
void i386_swap_pgdir(addr new_pgdir);
|
||||
void i386_fsave(void *fpu_state);
|
||||
void i386_fxsave(void *fpu_state);
|
||||
void i386_frstor(void *fpu_state);
|
||||
void i386_fxrstor(void *fpu_state);
|
||||
void i386_fsave_swap(void *old_fpu_state, void *new_fpu_state);
|
||||
void i386_fxsave_swap(void *old_fpu_state, void *new_fpu_state);
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ extern "C" {
|
||||
void i386_push_iframe(struct thread *t, struct iframe *frame);
|
||||
void i386_pop_iframe(struct thread *t);
|
||||
|
||||
void i386_return_from_signal();
|
||||
void i386_end_return_from_signal();
|
||||
|
||||
|
||||
static
|
||||
inline struct thread *
|
||||
|
||||
@@ -18,6 +18,7 @@ struct arch_thread {
|
||||
struct farcall interrupt_stack;
|
||||
|
||||
// used to track interrupts on this thread
|
||||
struct iframe *current_iframe;
|
||||
struct iframe *iframes[IFRAME_TRACE_DEPTH];
|
||||
int iframe_ptr;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user