X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fthread_info.h;h=f84290f439cf1647e56d5030ec150d83c9e265f5;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=4ef147f97281a24971b4a20eab0b9fc16d90a6ad;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/include/asm-i386/thread_info.h b/include/asm-i386/thread_info.h index 4ef147f97..f84290f43 100644 --- a/include/asm-i386/thread_info.h +++ b/include/asm-i386/thread_info.h @@ -10,6 +10,7 @@ #ifdef __KERNEL__ #include +#include #include #ifndef __ASSEMBLY__ @@ -30,13 +31,14 @@ 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: 0-0xBFFFFFFF for user-thead 0-0xFFFFFFFF for kernel-thread */ + void *sysenter_return; struct restart_block restart_block; unsigned long previous_esp; /* ESP of the previous stack in case @@ -47,11 +49,11 @@ struct thread_info { #else /* !__ASSEMBLY__ */ -#include +#include #endif -#define PREEMPT_ACTIVE 0x4000000 +#define PREEMPT_ACTIVE 0x10000000 #ifdef CONFIG_4KSTACKS #define THREAD_SIZE (4096) #else @@ -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,8 +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_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<