cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash
[safe/jmp/linux-2.6] / arch / x86 / include / asm / processor.h
index 72914d0..9874dd9 100644 (file)
@@ -94,7 +94,7 @@ struct cpuinfo_x86 {
        unsigned long           loops_per_jiffy;
 #ifdef CONFIG_SMP
        /* cpus sharing the last level cache: */
-       cpumask_t               llc_shared_map;
+       cpumask_var_t           llc_shared_map;
 #endif
        /* cpuid returned max cores value: */
        u16                      x86_max_cores;
@@ -248,7 +248,6 @@ struct x86_hw_tss {
 #define IO_BITMAP_LONGS                        (IO_BITMAP_BYTES/sizeof(long))
 #define IO_BITMAP_OFFSET               offsetof(struct tss_struct, io_bitmap)
 #define INVALID_IO_BITMAP_OFFSET       0x8000
-#define INVALID_IO_BITMAP_OFFSET_LAZY  0x9000
 
 struct tss_struct {
        /*
@@ -263,11 +262,6 @@ struct tss_struct {
         * be within the limit.
         */
        unsigned long           io_bitmap[IO_BITMAP_LONGS + 1];
-       /*
-        * Cache the current maximum and the last task that used the bitmap:
-        */
-       unsigned long           io_bitmap_max;
-       struct thread_struct    *io_bitmap_owner;
 
        /*
         * .. and then another 0x100 bytes for the emergency kernel stack:
@@ -739,6 +733,7 @@ static inline void __sti_mwait(unsigned long eax, unsigned long ecx)
 extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx);
 
 extern void select_idle_routine(const struct cpuinfo_x86 *c);
+extern void init_c1e_mask(void);
 
 extern unsigned long           boot_option_idle_override;
 extern unsigned long           idle_halt;
@@ -861,6 +856,7 @@ static inline void spin_lock_prefetch(const void *x)
  * User space process size: 3GB (default).
  */
 #define TASK_SIZE              PAGE_OFFSET
+#define TASK_SIZE_MAX          TASK_SIZE
 #define STACK_TOP              TASK_SIZE
 #define STACK_TOP_MAX          STACK_TOP
 
@@ -920,7 +916,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
 /*
  * User space process size. 47bits minus one guard page.
  */
-#define TASK_SIZE64    ((1UL << 47) - PAGE_SIZE)
+#define TASK_SIZE_MAX  ((1UL << 47) - PAGE_SIZE)
 
 /* This decides where the kernel will search for a free chunk of vm
  * space during mmap's.
@@ -929,12 +925,12 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
                                        0xc0000000 : 0xFFFFe000)
 
 #define TASK_SIZE              (test_thread_flag(TIF_IA32) ? \
-                                       IA32_PAGE_OFFSET : TASK_SIZE64)
+                                       IA32_PAGE_OFFSET : TASK_SIZE_MAX)
 #define TASK_SIZE_OF(child)    ((test_tsk_thread_flag(child, TIF_IA32)) ? \
-                                       IA32_PAGE_OFFSET : TASK_SIZE64)
+                                       IA32_PAGE_OFFSET : TASK_SIZE_MAX)
 
 #define STACK_TOP              TASK_SIZE
-#define STACK_TOP_MAX          TASK_SIZE64
+#define STACK_TOP_MAX          TASK_SIZE_MAX
 
 #define INIT_THREAD  { \
        .sp0 = (unsigned long)&init_stack + sizeof(init_stack) \