Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / include / asm-i386 / thread_info.h
index da74573..f84290f 100644 (file)
@@ -10,6 +10,7 @@
 #ifdef __KERNEL__
 
 #include <linux/config.h>
+#include <linux/compiler.h>
 #include <asm/page.h>
 
 #ifndef __ASSEMBLY__
@@ -30,7 +31,7 @@ struct thread_info {
        unsigned long           flags;          /* low level flags */
        unsigned long           status;         /* thread-synchronous flags */
        __u32                   cpu;            /* current CPU */
-       __s32                   preempt_count; /* 0 => preemptable, <0 => BUG */
+       int                     preempt_count;  /* 0 => preemptable, <0 => BUG */
 
 
        mm_segment_t            addr_limit;     /* thread address space:
@@ -38,7 +39,6 @@ struct thread_info {
                                                   0-0xFFFFFFFF for kernel-thread
                                                */
        void                    *sysenter_return;
-       void                    *real_stack, *virtual_stack, *user_pgd;
        struct restart_block    restart_block;
 
        unsigned long           previous_esp;   /* ESP of the previous stack in case
@@ -49,15 +49,18 @@ struct thread_info {
 
 #else /* !__ASSEMBLY__ */
 
-#include <asm/asm_offsets.h>
+#include <asm/asm-offsets.h>
 
 #endif
 
-#define PREEMPT_ACTIVE         0x4000000
-#define THREAD_SIZE            (1<<CONFIG_STACK_SIZE_SHIFT)
-#define STACK_WARN             (CONFIG_STACK_WARN)
-#define STACK_PANIC            (0x200ul)
+#define PREEMPT_ACTIVE         0x10000000
+#ifdef CONFIG_4KSTACKS
+#define THREAD_SIZE            (4096)
+#else
+#define THREAD_SIZE            (8192)
+#endif
 
+#define STACK_WARN             (THREAD_SIZE/8)
 /*
  * macros/functions for gaining access to the thread information structure
  *
@@ -65,7 +68,7 @@ struct thread_info {
  */
 #ifndef __ASSEMBLY__
 
-#define INIT_THREAD_INFO(tsk, thread_info)     \
+#define INIT_THREAD_INFO(tsk)                  \
 {                                              \
        .task           = &tsk,                 \
        .exec_domain    = &default_exec_domain, \
@@ -76,7 +79,6 @@ struct thread_info {
        .restart_block = {                      \
                .fn = do_no_restart_syscall,    \
        },                                      \
-       .real_stack     = &thread_info,         \
 }
 
 #define init_thread_info       (init_thread_union.thread_info)
@@ -92,12 +94,7 @@ static inline struct thread_info *current_thread_info(void)
 }
 
 /* how to get the current stack pointer from C */
-static inline unsigned long current_stack_pointer(void)
-{
-       unsigned long ti;
-       __asm__("movl %%esp,%0; ":"=r" (ti) : );
-       return ti;
-}
+register unsigned long current_stack_pointer asm("esp") __attribute_used__;
 
 /* thread information allocation */
 #ifdef CONFIG_DEBUG_STACK_USAGE
@@ -115,8 +112,6 @@ static inline unsigned long current_stack_pointer(void)
 #endif
 
 #define free_thread_info(info) kfree(info)
-#define get_thread_info(ti) get_task_struct((ti)->task)
-#define put_thread_info(ti) put_task_struct((ti)->task)
 
 #else /* !__ASSEMBLY__ */
 
@@ -143,9 +138,12 @@ static inline unsigned long current_stack_pointer(void)
 #define TIF_NEED_RESCHED       3       /* rescheduling necessary */
 #define TIF_SINGLESTEP         4       /* restore singlestep on return to user mode */
 #define TIF_IRET               5       /* return with iret */
-#define TIF_DB7                        6       /* has debug registers */
+#define TIF_SYSCALL_EMU                6       /* syscall emulation active */
 #define TIF_SYSCALL_AUDIT      7       /* syscall auditing active */
+#define TIF_SECCOMP            8       /* secure computing */
+#define TIF_RESTORE_SIGMASK    9       /* restore signal mask in do_signal() */
 #define TIF_POLLING_NRFLAG     16      /* true if poll_idle() is polling TIF_NEED_RESCHED */
+#define TIF_MEMDIE             17
 
 #define _TIF_SYSCALL_TRACE     (1<<TIF_SYSCALL_TRACE)
 #define _TIF_NOTIFY_RESUME     (1<<TIF_NOTIFY_RESUME)
@@ -153,14 +151,18 @@ static inline unsigned long current_stack_pointer(void)
 #define _TIF_NEED_RESCHED      (1<<TIF_NEED_RESCHED)
 #define _TIF_SINGLESTEP                (1<<TIF_SINGLESTEP)
 #define _TIF_IRET              (1<<TIF_IRET)
+#define _TIF_SYSCALL_EMU       (1<<TIF_SYSCALL_EMU)
 #define _TIF_SYSCALL_AUDIT     (1<<TIF_SYSCALL_AUDIT)
-#define _TIF_DB7               (1<<TIF_DB7)
+#define _TIF_SECCOMP           (1<<TIF_SECCOMP)
+#define _TIF_RESTORE_SIGMASK   (1<<TIF_RESTORE_SIGMASK)
 #define _TIF_POLLING_NRFLAG    (1<<TIF_POLLING_NRFLAG)
 
 /* work to do on interrupt/exception return */
 #define _TIF_WORK_MASK \
-  (0x0000FFFF & ~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT))
-#define _TIF_ALLWORK_MASK      0x0000FFFF      /* work to do on any return to u-space */
+  (0x0000FFFF & ~(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
+                 _TIF_SECCOMP | _TIF_SYSCALL_EMU))
+/* work to do on any return to u-space */
+#define _TIF_ALLWORK_MASK      (0x0000FFFF & ~_TIF_SECCOMP)
 
 /*
  * Thread-synchronous status.