1/* 2** Copyright 2001, Travis Geiselbrecht. All rights reserved. 3** Distributed under the terms of the NewOS License. 4*/ 5#ifndef KERNEL_ARCH_M68K_THREAD_TYPES_H 6#define KERNEL_ARCH_M68K_THREAD_TYPES_H 7 8#include <kernel.h> 9 10#define IFRAME_TRACE_DEPTH 4 11 12struct iframe_stack { 13 struct iframe *frames[IFRAME_TRACE_DEPTH]; 14 int32 index; 15}; 16 17// architecture specific thread info 18struct arch_thread { 19 void *sp; // stack pointer 20 void *interrupt_stack; 21 22 // used to track interrupts on this thread 23 struct iframe_stack iframes; 24}; 25 26struct arch_team { 27 // gcc treats empty structures as zero-length in C, but as if they contain 28 // a char in C++. So we have to put a dummy in to be able to use the struct 29 // from both in a consistent way. 30 char dummy; 31}; 32 33struct arch_fork_arg { 34 // gcc treats empty structures as zero-length in C, but as if they contain 35 // a char in C++. So we have to put a dummy in to be able to use the struct 36 // from both in a consistent way. 37 char dummy; 38}; 39 40#endif /* KERNEL_ARCH_M68K_THREAD_TYPES_H */ 41