Added prototypes for arch_{store|restore}_fork_frame().

Removed broken arch_thread::current_iframe field.
Introduced new arch_fork_arg structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9295 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2004-10-12 03:57:31 +00:00
parent a52cce2963
commit a8673f45bf
2 changed files with 18 additions and 5 deletions

View File

@ -1,6 +1,6 @@
/*
** Copyright 2002-2004, The OpenBeOS Team. All rights reserved.
** Distributed under the terms of the OpenBeOS License.
** Copyright 2002-2004, The Haiku Team. All rights reserved.
** Distributed under the terms of the Haiku License.
**
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
@ -35,6 +35,9 @@ status_t arch_setup_signal_frame(struct thread *t, struct sigaction *sa, int sig
int64 arch_restore_signal_frame(void);
void arch_check_syscall_restart(struct thread *t);
void arch_store_fork_frame(struct arch_fork_arg *arg);
void arch_restore_fork_frame(struct arch_fork_arg *arg);
// for any inline overrides
#include <arch_thread.h>

View File

@ -1,13 +1,20 @@
/*
** Copyright 2002-2004, The Haiku Team. All rights reserved.
** Distributed under the terms of the Haiku License.
**
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
*/
#ifndef _KERNEL_ARCH_x86_THREAD_STRUCT_H
#define _KERNEL_ARCH_x86_THREAD_STRUCT_H
#include <arch_cpu.h>
struct farcall {
unsigned int *esp;
unsigned int *ss;
uint32 *esp;
uint32 *ss;
};
#define IFRAME_TRACE_DEPTH 4
@ -18,7 +25,6 @@ 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;
@ -30,4 +36,8 @@ struct arch_team {
// nothing here
};
struct arch_fork_arg {
struct iframe iframe;
};
#endif /* _KERNEL_ARCH_x86_THREAD_STRUCT_H */