/* ** 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 struct farcall { unsigned int *esp; unsigned int *ss; }; #define IFRAME_TRACE_DEPTH 4 // architecture specific thread info struct arch_thread { struct farcall current_stack; struct farcall interrupt_stack; // used to track interrupts on this thread struct iframe *current_iframe; struct iframe *iframes[IFRAME_TRACE_DEPTH]; int iframe_ptr; // 512 byte floating point save point uint8 fpu_state[512]; }; struct arch_team { // nothing here }; #endif /* _KERNEL_ARCH_x86_THREAD_STRUCT_H */