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:
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
** Copyright 2002-2004, The OpenBeOS Team. All rights reserved.
|
** Copyright 2002-2004, The Haiku Team. All rights reserved.
|
||||||
** Distributed under the terms of the OpenBeOS License.
|
** Distributed under the terms of the Haiku License.
|
||||||
**
|
**
|
||||||
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||||
** Distributed under the terms of the NewOS License.
|
** 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);
|
int64 arch_restore_signal_frame(void);
|
||||||
void arch_check_syscall_restart(struct thread *t);
|
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
|
// for any inline overrides
|
||||||
#include <arch_thread.h>
|
#include <arch_thread.h>
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||||
** Distributed under the terms of the NewOS License.
|
** Distributed under the terms of the NewOS License.
|
||||||
*/
|
*/
|
||||||
#ifndef _KERNEL_ARCH_x86_THREAD_STRUCT_H
|
#ifndef _KERNEL_ARCH_x86_THREAD_STRUCT_H
|
||||||
#define _KERNEL_ARCH_x86_THREAD_STRUCT_H
|
#define _KERNEL_ARCH_x86_THREAD_STRUCT_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <arch_cpu.h>
|
||||||
|
|
||||||
|
|
||||||
struct farcall {
|
struct farcall {
|
||||||
unsigned int *esp;
|
uint32 *esp;
|
||||||
unsigned int *ss;
|
uint32 *ss;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define IFRAME_TRACE_DEPTH 4
|
#define IFRAME_TRACE_DEPTH 4
|
||||||
@@ -18,7 +25,6 @@ struct arch_thread {
|
|||||||
struct farcall interrupt_stack;
|
struct farcall interrupt_stack;
|
||||||
|
|
||||||
// used to track interrupts on this thread
|
// used to track interrupts on this thread
|
||||||
struct iframe *current_iframe;
|
|
||||||
struct iframe *iframes[IFRAME_TRACE_DEPTH];
|
struct iframe *iframes[IFRAME_TRACE_DEPTH];
|
||||||
int iframe_ptr;
|
int iframe_ptr;
|
||||||
|
|
||||||
@@ -30,4 +36,8 @@ struct arch_team {
|
|||||||
// nothing here
|
// nothing here
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct arch_fork_arg {
|
||||||
|
struct iframe iframe;
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _KERNEL_ARCH_x86_THREAD_STRUCT_H */
|
#endif /* _KERNEL_ARCH_x86_THREAD_STRUCT_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user