X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-frv%2Fthread_info.h;fp=include%2Fasm-frv%2Fthread_info.h;h=ea426abf01d39449d58d3356ab53d4e5dec9ed3c;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=d66c48e6ef144dcaf0259bcf3428ebfae224f28b;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/include/asm-frv/thread_info.h b/include/asm-frv/thread_info.h index d66c48e6e..ea426abf0 100644 --- a/include/asm-frv/thread_info.h +++ b/include/asm-frv/thread_info.h @@ -19,8 +19,6 @@ #include #endif -#define THREAD_SIZE 8192 - /* * low level task data that entry.S needs immediate access to * - this struct should fit entirely inside of one cache line @@ -48,7 +46,15 @@ struct thread_info { #else /* !__ASSEMBLY__ */ -#include +/* offsets into the thread_info struct for assembly code access */ +#define TI_TASK 0x00000000 +#define TI_EXEC_DOMAIN 0x00000004 +#define TI_FLAGS 0x00000008 +#define TI_STATUS 0x0000000C +#define TI_CPU 0x00000010 +#define TI_PRE_COUNT 0x00000014 +#define TI_ADDR_LIMIT 0x00000018 +#define TI_RESTART_BLOCK 0x0000001C #endif @@ -77,6 +83,12 @@ struct thread_info { #define init_thread_info (init_thread_union.thread_info) #define init_stack (init_thread_union.stack) +#ifdef CONFIG_SMALL_TASKS +#define THREAD_SIZE 4096 +#else +#define THREAD_SIZE 8192 +#endif + /* how to get the thread information struct from C */ register struct thread_info *__current_thread_info asm("gr15"); @@ -99,7 +111,11 @@ register struct thread_info *__current_thread_info asm("gr15"); #define free_thread_info(info) kfree(info) -#endif /* __ASSEMBLY__ */ +#else /* !__ASSEMBLY__ */ + +#define THREAD_SIZE 8192 + +#endif /* * thread information flags