#ifdef __KERNEL__
#include <linux/config.h>
-#include <linux/compiler.h>
#include <asm/page.h>
#ifndef __ASSEMBLY__
#endif
-#define PREEMPT_ACTIVE 0x10000000
+#define PREEMPT_ACTIVE 0x4000000
#define THREAD_SIZE (1<<CONFIG_STACK_SIZE_SHIFT)
#define STACK_WARN (CONFIG_STACK_WARN)
#define STACK_PANIC (0x200ul)
*/
#ifndef __ASSEMBLY__
-#define INIT_THREAD_INFO(tsk) \
+#define INIT_THREAD_INFO(tsk) \
{ \
.task = &tsk, \
.exec_domain = &default_exec_domain, \
}
/* how to get the current stack pointer from C */
-register unsigned long current_stack_pointer asm("esp") __attribute_used__;
+static inline unsigned long current_stack_pointer(void)
+{
+ unsigned long ti;
+ __asm__("movl %%esp,%0; ":"=r" (ti) : );
+ return ti;
+}
/* thread information allocation */
#ifdef CONFIG_DEBUG_STACK_USAGE