Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Jun 2009 22:49:10 +0000 (15:49 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 Jun 2009 22:49:10 +0000 (15:49 -0700)
* 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, 64-bit: ifdef out struct thread_struct::ip
  x86, 32-bit: ifdef out struct thread_struct::fs
  x86: clean up alternative.h

1  2 
arch/x86/include/asm/processor.h
arch/x86/kernel/kgdb.c

index 6469866a7410f4100eb63b0ce7a84359fefb80a5,a9ba7436821e409bf2869d6b1fd629b65b1c0544..b0431a4f066f581ffc1a09aaf1f9cbd5dc317526
@@@ -135,8 -135,7 +135,8 @@@ extern struct cpuinfo_x86  boot_cpu_data
  extern struct cpuinfo_x86     new_cpu_data;
  
  extern struct tss_struct      doublefault_tss;
 -extern __u32                  cleared_cpu_caps[NCAPINTS];
 +extern __u32                  cpu_caps_cleared[NCAPINTS];
 +extern __u32                  cpu_caps_set[NCAPINTS];
  
  #ifdef CONFIG_SMP
  DECLARE_PER_CPU_SHARED_ALIGNED(struct cpuinfo_x86, cpu_info);
@@@ -428,8 -427,12 +428,12 @@@ struct thread_struct 
        unsigned short          fsindex;
        unsigned short          gsindex;
  #endif
+ #ifdef CONFIG_X86_32
        unsigned long           ip;
+ #endif
+ #ifdef CONFIG_X86_64
        unsigned long           fs;
+ #endif
        unsigned long           gs;
        /* Hardware debugging registers: */
        unsigned long           debugreg0;
@@@ -815,7 -818,6 +819,7 @@@ extern unsigned int                BIOS_revision
  
  /* Boot loader type from the setup header: */
  extern int                    bootloader_type;
 +extern int                    bootloader_version;
  
  extern char                   ignore_fpu_irq;
  
@@@ -876,7 -878,6 +880,6 @@@ static inline void spin_lock_prefetch(c
        .vm86_info              = NULL,                                   \
        .sysenter_cs            = __KERNEL_CS,                            \
        .io_bitmap_ptr          = NULL,                                   \
-       .fs                     = __KERNEL_PERCPU,                        \
  }
  
  /*
diff --combined arch/x86/kernel/kgdb.c
index b1f4dffb919e8c708421cb8c29af80ad50d6a7c9,d07706f1976a60a85671ea4d6297205f1a627e95..8d82a77a3f3b96ea3c0dc37e91551dddc7e10b51
@@@ -88,7 -88,6 +88,7 @@@ void pt_regs_to_gdb_regs(unsigned long 
        gdb_regs[GDB_SS]        = __KERNEL_DS;
        gdb_regs[GDB_FS]        = 0xFFFF;
        gdb_regs[GDB_GS]        = 0xFFFF;
 +      gdb_regs[GDB_SP]        = (int)&regs->sp;
  #else
        gdb_regs[GDB_R8]        = regs->r8;
        gdb_regs[GDB_R9]        = regs->r9;
        gdb_regs32[GDB_PS]      = regs->flags;
        gdb_regs32[GDB_CS]      = regs->cs;
        gdb_regs32[GDB_SS]      = regs->ss;
 -#endif
        gdb_regs[GDB_SP]        = regs->sp;
 +#endif
  }
  
  /**
@@@ -142,7 -141,7 +142,7 @@@ void sleeping_thread_to_gdb_regs(unsign
        gdb_regs32[GDB_PS]      = *(unsigned long *)(p->thread.sp + 8);
        gdb_regs32[GDB_CS]      = __KERNEL_CS;
        gdb_regs32[GDB_SS]      = __KERNEL_DS;
-       gdb_regs[GDB_PC]        = p->thread.ip;
+       gdb_regs[GDB_PC]        = 0;
        gdb_regs[GDB_R8]        = 0;
        gdb_regs[GDB_R9]        = 0;
        gdb_regs[GDB_R10]       = 0;