Merge commit 'v2.6.34-rc6' into perf/core
authorIngo Molnar <mingo@elte.hu>
Fri, 30 Apr 2010 07:56:41 +0000 (09:56 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 30 Apr 2010 07:56:44 +0000 (09:56 +0200)
Merge reason: update to the latest -rc.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
1  2 
MAINTAINERS
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/process_64.c

diff --combined MAINTAINERS
@@@ -4353,13 -4353,13 +4353,13 @@@ M:   Paul Mackerras <paulus@samba.org
  M:    Ingo Molnar <mingo@elte.hu>
  M:    Arnaldo Carvalho de Melo <acme@redhat.com>
  S:    Supported
 -F:    kernel/perf_event.c
 +F:    kernel/perf_event*.c
  F:    include/linux/perf_event.h
 -F:    arch/*/kernel/perf_event.c
 -F:    arch/*/kernel/*/perf_event.c
 -F:    arch/*/kernel/*/*/perf_event.c
 +F:    arch/*/kernel/perf_event*.c
 +F:    arch/*/kernel/*/perf_event*.c
 +F:    arch/*/kernel/*/*/perf_event*.c
  F:    arch/*/include/asm/perf_event.h
 -F:    arch/*/lib/perf_event.c
 +F:    arch/*/lib/perf_event*.c
  F:    arch/*/kernel/perf_callchain.c
  F:    tools/perf/
  
@@@ -4482,17 -4482,17 +4482,17 @@@ S:   Maintaine
  F:    drivers/ata/sata_promise.*
  
  PS3 NETWORK SUPPORT
- M:    Geoff Levand <geoffrey.levand@am.sony.com>
+ M:    Geoff Levand <geoff@infradead.org>
  L:    netdev@vger.kernel.org
  L:    cbe-oss-dev@ozlabs.org
- S:    Supported
+ S:    Maintained
  F:    drivers/net/ps3_gelic_net.*
  
  PS3 PLATFORM SUPPORT
- M:    Geoff Levand <geoffrey.levand@am.sony.com>
+ M:    Geoff Levand <geoff@infradead.org>
  L:    linuxppc-dev@ozlabs.org
  L:    cbe-oss-dev@ozlabs.org
- S:    Supported
+ S:    Maintained
  F:    arch/powerpc/boot/ps3*
  F:    arch/powerpc/include/asm/lv1call.h
  F:    arch/powerpc/include/asm/ps3*.h
@@@ -12,6 -12,7 +12,6 @@@
  #include <asm/processor.h>
  #include <asm/pgtable.h>
  #include <asm/msr.h>
 -#include <asm/ds.h>
  #include <asm/bugs.h>
  #include <asm/cpu.h>
  
@@@ -46,6 -47,27 +46,27 @@@ static void __cpuinit early_init_intel(
                (c->x86 == 0x6 && c->x86_model >= 0x0e))
                set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
  
+       /*
+        * Atom erratum AAE44/AAF40/AAG38/AAH41:
+        *
+        * A race condition between speculative fetches and invalidating
+        * a large page.  This is worked around in microcode, but we
+        * need the microcode to have already been loaded... so if it is
+        * not, recommend a BIOS update and disable large pages.
+        */
+       if (c->x86 == 6 && c->x86_model == 0x1c && c->x86_mask <= 2) {
+               u32 ucode, junk;
+               wrmsr(MSR_IA32_UCODE_REV, 0, 0);
+               sync_core();
+               rdmsr(MSR_IA32_UCODE_REV, junk, ucode);
+               if (ucode < 0x20e) {
+                       printk(KERN_WARNING "Atom PSE erratum detected, BIOS microcode update recommended\n");
+                       clear_cpu_cap(c, X86_FEATURE_PSE);
+               }
+       }
  #ifdef CONFIG_X86_64
        set_cpu_cap(c, X86_FEATURE_SYSENTER32);
  #else
@@@ -366,6 -388,7 +387,6 @@@ static void __cpuinit init_intel(struc
                        set_cpu_cap(c, X86_FEATURE_BTS);
                if (!(l1 & (1<<12)))
                        set_cpu_cap(c, X86_FEATURE_PEBS);
 -              ds_init_intel(c);
        }
  
        if (c->x86 == 6 && c->x86_model == 29 && cpu_has_clflush)
@@@ -49,6 -49,7 +49,6 @@@
  #include <asm/ia32.h>
  #include <asm/idle.h>
  #include <asm/syscalls.h>
 -#include <asm/ds.h>
  #include <asm/debugreg.h>
  
  asmlinkage extern void ret_from_fork(void);
@@@ -275,12 -276,12 +275,12 @@@ int copy_thread(unsigned long clone_fla
  
        set_tsk_thread_flag(p, TIF_FORK);
  
        p->thread.io_bitmap_ptr = NULL;
  
        savesegment(gs, p->thread.gsindex);
+       p->thread.gs = p->thread.gsindex ? 0 : me->thread.gs;
        savesegment(fs, p->thread.fsindex);
+       p->thread.fs = p->thread.fsindex ? 0 : me->thread.fs;
        savesegment(es, p->thread.es);
        savesegment(ds, p->thread.ds);
  
                if (err)
                        goto out;
        }
 -
 -      clear_tsk_thread_flag(p, TIF_DS_AREA_MSR);
 -      p->thread.ds_ctx = NULL;
 -
 -      clear_tsk_thread_flag(p, TIF_DEBUGCTLMSR);
 -      p->thread.debugctlmsr = 0;
 -
        err = 0;
  out:
        if (err && p->thread.io_bitmap_ptr) {