fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-parisc / thread_info.h
index 07c1a9f..f2f83b0 100644 (file)
@@ -12,18 +12,21 @@ struct thread_info {
        unsigned long flags;            /* thread_info flags (see TIF_*) */
        mm_segment_t addr_limit;        /* user-level address space limit */
        __u32 cpu;                      /* current CPU */
-       __s32 preempt_count;            /* 0=premptable, <0=BUG; will also serve as bh-counter */
+       int preempt_count;              /* 0=premptable, <0=BUG; will also serve as bh-counter */
        struct restart_block restart_block;
 };
 
 #define INIT_THREAD_INFO(tsk)                  \
 {                                              \
-       task:           &tsk,                   \
-       exec_domain:    &default_exec_domain,   \
-       flags:          0,                      \
-       cpu:            0,                      \
-       addr_limit:     KERNEL_DS,              \
-       preempt_count:  0,                      \
+       .task           = &tsk,                 \
+       .exec_domain    = &default_exec_domain, \
+       .flags          = 0,                    \
+       .cpu            = 0,                    \
+       .addr_limit     = KERNEL_DS,            \
+       .preempt_count  = 1,                    \
+       .restart_block  = {                     \
+               .fn = do_no_restart_syscall     \
+       }                                       \
 }
 
 #define init_thread_info        (init_thread_union.thread_info)
@@ -40,16 +43,14 @@ struct thread_info {
 #define alloc_thread_info(tsk) ((struct thread_info *) \
                        __get_free_pages(GFP_KERNEL, THREAD_ORDER))
 #define free_thread_info(ti)    free_pages((unsigned long) (ti), THREAD_ORDER)
-#define get_thread_info(ti)     get_task_struct((ti)->task)
-#define put_thread_info(ti)     put_task_struct((ti)->task)
-
 
 /* how to get the thread information struct from C */
 #define current_thread_info()  ((struct thread_info *)mfctl(30))
 
 #endif /* !__ASSEMBLY */
 
-#define PREEMPT_ACTIVE          0x4000000
+#define PREEMPT_ACTIVE_BIT     28
+#define PREEMPT_ACTIVE         (1 << PREEMPT_ACTIVE_BIT)
 
 /*
  * thread information flags
@@ -60,6 +61,7 @@ struct thread_info {
 #define TIF_NEED_RESCHED       3       /* rescheduling necessary */
 #define TIF_POLLING_NRFLAG     4       /* true if poll_idle() is polling TIF_NEED_RESCHED */
 #define TIF_32BIT               5       /* 32 bit binary */
+#define TIF_MEMDIE             6
 
 #define _TIF_SYSCALL_TRACE     (1 << TIF_SYSCALL_TRACE)
 #define _TIF_NOTIFY_RESUME     (1 << TIF_NOTIFY_RESUME)