1. 18 Dec, 2009 1 commit
    • Suresh Siddha's avatar
      x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system · 18374d89
      Suresh Siddha authored
      John Blackwood reported:
      > on an older Dell PowerEdge 6650 system with 8 cpus (4 are hyper-threaded),
      > and  32 bit (x86) kernel, once you change the irq smp_affinity of an irq
      > to be less than all cpus in the system, you can never change really the
      > irq smp_affinity back to be all cpus in the system (0xff) again,
      > even though no error status is returned on the "/bin/echo ff >
      > /proc/irq/[n]/smp_affinity" operation.
      >
      > This is due to that fact that BAD_APICID has the same value as
      > all cpus (0xff) on 32bit kernels, and thus the value returned from
      > set_desc_affinity() via the cpu_mask_to_apicid_and() function is treated
      > as a failure in set_ioapic_affinity_irq_desc(), and no affinity changes
      > are made.
      
      set_desc_affinity() is already checking if the incoming cpu mask
      intersects with the cpu online mask or not. So there is no need
      for the apic op cpu_mask_to_apicid_and() to check again
      and return BAD_APICID.
      
      Remove the BAD_APICID return value from cpu_mask_to_apicid_and()
      and also fix set_desc_affinity() to return -1 instead of using BAD_APICID
      to represent error conditions (as cpu_mask_to_apicid_and() can return
      logical or physical apicid values and BAD_APICID is really to represent
      bad physical apic id).
      Reported-by: default avatarJohn Blackwood <john.blackwood@ccur.com>
      Root-caused-by: default avatarJohn Blackwood <john.blackwood@ccur.com>
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1261103386.2535.409.camel@sbs-t61>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      18374d89
  2. 17 Dec, 2009 8 commits
    • H. Peter Anvin's avatar
      Makefile: Unexport LC_ALL instead of clearing it · 06b5dc64
      H. Peter Anvin authored
      Apparently not all versions of glibc and utilities treat an empty
      LC_ALL as nonexistent, causing error messages to be garbled.  Instead,
      explicitly unexport it from the environment.
      Reported-and-tested-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      LKML-Reference: <4B2AC394.4030108@redhat.com>
      Cc: Michal Marek <mmarek@sues.cz>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      06b5dc64
    • akpm@linux-foundation.org's avatar
      x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk · 8c634507
      akpm@linux-foundation.org authored
      It says
      
      Warning: objdump version  is older than 2.19
      Warning: Skipping posttest.
      
      because it used the wrong field from `objdump -v':
      
      akpm:/usr/src/25> /opt/crosstool/gcc-4.0.2-glibc-2.3.6/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-objdump -v
      GNU objdump 2.16.1
      Copyright 2005 Free Software Foundation, Inc.
      This program is free software; you may redistribute it under the terms of
      the GNU General Public License.  This program has absolutely no warranty.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      LKML-Reference: <200912172326.nBHNQaQl024796@imap1.linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      8c634507
    • Pallipadi, Venkatesh's avatar
      x86: Reenable TSC sync check at boot, even with NONSTOP_TSC · 6c56ccec
      Pallipadi, Venkatesh authored
      Commit 83ce4009 did the following change
      If the TSC is constant and non-stop, also set it reliable.
      
      But, there seems to be few systems that will end up with TSC warp across
      sockets, depending on how the cpus come out of reset. Skipping TSC sync
      test on such systems may result in time inconsistency later.
      
      So, reenable TSC sync test even on constant and non-stop TSC systems.
      Set, sched_clock_stable to 1 by default and reset it in
      mark_tsc_unstable, if TSC sync fails.
      
      This change still gives perf benefit mentioned in 83ce4009 for systems
      where TSC is reliable.
      Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Acked-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <20091217202702.GA18015@linux-os.sc.intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      6c56ccec
    • Roland Dreier's avatar
      x86: Don't use POSIX character classes in gen-insn-attr-x86.awk · 4beb3d6d
      Roland Dreier authored
      Not all awk implementations (including the default awk in Ubuntu 9.10)
      support POSIX character classes.  Since x86-opcode-map.txt is plain
      ASCII, we can just use explicit ranges for lower case, alphabetic, and
      alphanumeric characters instead.
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      LKML-Reference: <adabphy750b.fsf@roland-alpha.cisco.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      4beb3d6d
    • H. Peter Anvin's avatar
      Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C · c051346b
      H. Peter Anvin authored
      There are a number of common Unix constructs like character ranges in
      grep/sed/awk which don't work as expected with LC_COLLATE set to other
      than C.  Similarly, set LC_CTYPE and LC_NUMERIC to C to avoid other
      nasty surprises.
      
      In order to make sure these actually take effect we also have to
      clear LC_ALL.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Acked-by: default avatarMichal Marek <mmarek@sues.cz>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Acked-by: default avatarRoland Dreier <rdreier@cisco.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      LKML-Reference: <4B2A1761.4070904@suse.cz>
      c051346b
    • Yinghai Lu's avatar
      x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA · 6a1e008a
      Yinghai Lu authored
      Due to recent changes wakeup and mptable, we run out of early
      reservations on 32-bit NUMA.  Thus, adjust the available number.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4B22D754.2020706@kernel.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      6a1e008a
    • Yinghai Lu's avatar
      x86: Fix checking of SRAT when node 0 ram is not from 0 · 32996250
      Yinghai Lu authored
      Found one system that boot from socket1 instead of socket0, SRAT get rejected...
      
      [    0.000000] SRAT: Node 1 PXM 0 0-a0000
      [    0.000000] SRAT: Node 1 PXM 0 100000-80000000
      [    0.000000] SRAT: Node 1 PXM 0 100000000-2080000000
      [    0.000000] SRAT: Node 0 PXM 1 2080000000-4080000000
      [    0.000000] SRAT: Node 2 PXM 2 4080000000-6080000000
      [    0.000000] SRAT: Node 3 PXM 3 6080000000-8080000000
      [    0.000000] SRAT: Node 4 PXM 4 8080000000-a080000000
      [    0.000000] SRAT: Node 5 PXM 5 a080000000-c080000000
      [    0.000000] SRAT: Node 6 PXM 6 c080000000-e080000000
      [    0.000000] SRAT: Node 7 PXM 7 e080000000-10080000000
      ...
      [    0.000000] NUMA: Allocated memnodemap from 500000 - 701040
      [    0.000000] NUMA: Using 20 for the hash shift.
      [    0.000000] Adding active range (0, 0x2080000, 0x4080000) 0 entries of 3200 used
      [    0.000000] Adding active range (1, 0x0, 0x96) 1 entries of 3200 used
      [    0.000000] Adding active range (1, 0x100, 0x7f750) 2 entries of 3200 used
      [    0.000000] Adding active range (1, 0x100000, 0x2080000) 3 entries of 3200 used
      [    0.000000] Adding active range (2, 0x4080000, 0x6080000) 4 entries of 3200 used
      [    0.000000] Adding active range (3, 0x6080000, 0x8080000) 5 entries of 3200 used
      [    0.000000] Adding active range (4, 0x8080000, 0xa080000) 6 entries of 3200 used
      [    0.000000] Adding active range (5, 0xa080000, 0xc080000) 7 entries of 3200 used
      [    0.000000] Adding active range (6, 0xc080000, 0xe080000) 8 entries of 3200 used
      [    0.000000] Adding active range (7, 0xe080000, 0x10080000) 9 entries of 3200 used
      [    0.000000] SRAT: PXMs only cover 917504MB of your 1048566MB e820 RAM. Not used.
      [    0.000000] SRAT: SRAT not used.
      
      the early_node_map is not sorted because node0 with non zero start come first.
      
      so try to sort it right away after all regions are registered.
      
      also fixs refression by 8716273c (x86: Export srat physical topology)
      
      -v2: make it more solid to handle cross node case like node0 [0,4g), [8,12g) and node1 [4g, 8g), [12g, 16g)
      -v3: update comments.
      Reported-and-tested-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4B2579D2.3010201@kernel.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      32996250
    • Suresh Siddha's avatar
      x86, cpuid: Add "volatile" to asm in native_cpuid() · 45a94d7c
      Suresh Siddha authored
      xsave_cntxt_init() does something like:
      
      	cpuid(0xd, ..);	// find out what features FP/SSE/.. etc are supported
      
      	xsetbv();	// enable the features known to OS
      
      	cpuid(0xd, ..);	// find out the size of the context for features enabled
      
      Depending on what features get enabled in xsetbv(), value of the
      cpuid.eax=0xd.ecx=0.ebx changes correspondingly (representing the
      size of the context that is enabled).
      
      As we don't have volatile keyword for native_cpuid(), gcc 4.1.2
      optimizes away the second cpuid and the kernel continues to use
      the cpuid information obtained before xsetbv(), ultimately leading to kernel
      crash on processors supporting more state than the legacy FP/SSE.
      
      Add "volatile" for native_cpuid().
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1261009542.2745.55.camel@sbs-t61.sc.intel.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      45a94d7c
  3. 16 Dec, 2009 3 commits
  4. 15 Dec, 2009 8 commits
    • H. Peter Anvin's avatar
      x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers · 0b962d47
      H. Peter Anvin authored
      register_chrdev() hardcodes registering 256 minors, presumably to
      avoid breaking old drivers.  However, we need to register enough
      minors so that we have all possible CPUs.
      
      checkpatch warns on this patch, but the patch is correct: NR_CPUS here
      is a static *upper bound* on the *maximum CPU index* (not *number of
      CPUs!*) and that is what we want.
      Reported-and-tested-by: default avatarRuss Anderson <rja@sgi.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      LKML-Reference: <tip-*@git.kernel.org>
      0b962d47
    • Phillip Lougher's avatar
      initramfs: add missing decompressor error check · 54291362
      Phillip Lougher authored
      The decompressors return error by calling a supplied error function, and/or
      by returning an error return value.  The initramfs code, however, fails to
      check the exit code returned by the decompressor, and only checks the error
      status set by calling the error function.
      
      This patch adds a return code check and calls the error function.
      Signed-off-by: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
      LKML-Reference: <4b26b1ef.0+ZWxT6886olqcSc%phillip@lougher.demon.co.uk>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      54291362
    • Phillip Lougher's avatar
      bzip2: Add missing checks for malloc returning NULL · d4529862
      Phillip Lougher authored
      Signed-off-by: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
      LKML-Reference: <4b26b1ef.ln20bM9Mn4gzB21L%phillip@lougher.demon.co.uk>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      d4529862
    • Phillip Lougher's avatar
      bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure · c1e7c3ae
      Phillip Lougher authored
      The trivial malloc implementation used in the pre-boot environment by the
      decompressors returns a bad pointer on failure (falling through after
      calling error).  This is doubly wrong - the callers expect malloc to
      return NULL on failure, second the error function is intended to be
      used by the decompressors to propagate errors to *their* callers.  The
      decompressors have no access to any state set by the error function.
      Signed-off-by: default avatarPhillip Lougher <phillip@lougher.demon.co.uk>
      LKML-Reference: <4b26b1ef.hIInb2AYPMtImAJO%phillip@lougher.demon.co.uk>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      c1e7c3ae
    • Jonathan Nieder's avatar
      x86: Fix kprobes build with non-gawk awk · 23637568
      Jonathan Nieder authored
      The instruction attribute table generator fails when run by mawk
      or original-awk:
      
       $ mawk -f arch/x86/tools/gen-insn-attr-x86.awk \
      	arch/x86/lib/x86-opcode-map.txt > /dev/null
       Semantic error at 240: Second IMM error
       $ echo $?
       1
      
      Line 240 contains "c8: ENTER Iw,Ib", which indicates that this
      instruction has two immediate operands, the second of which is
      one byte.  The script loops through the immediate operands using
      a for loop.
      
      Unfortunately, there is no guarantee in awk that a for (variable
      in array) loop will return the indices in increasing order.
      Internally, both original-awk and mawk iterate over a hash table
      for this purpose, and both implementations happen to produce the
      index 2 before 1.  The supposed second immediate operand is more
      than one byte wide, producing the error.
      
      So loop over the indices in increasing order instead.  As a
      side-effect, with mawk this means the silly two-entry hash table
      never has to be built.
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Acked-by Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Jim Keniston <jkenisto@us.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091213220437.GA27718@progeny.tock>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      23637568
    • Ingo Molnar's avatar
      Merge branch 'x86/mce' into x86/urgent · bf08b3b1
      Ingo Molnar authored
      Merge reason: Leftover mini-topic from the merge window - merge it.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      bf08b3b1
    • Ingo Molnar's avatar
      Merge branch 'x86/asm' into x86/urgent · ab1eebe7
      Ingo Molnar authored
      Merge reason: it's stable so lets push it upstream.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ab1eebe7
    • FUJITA Tomonori's avatar
      x86: Split swiotlb initialization into two stages · 186a2502
      FUJITA Tomonori authored
      The commit f4780ca0 moves
      swiotlb initialization before dma32_free_bootmem(). It's
      supposed to fix a bug that the commit
      75f1cdf1 introduced, we
      initialize SWIOTLB right after dma32_free_bootmem so we wrongly
      steal memory area allocated for GART with broken BIOS earlier.
      
      However, the above commit introduced another problem, which
      likely breaks machines with huge amount of memory. Such a box
      use the majority of DMA32_ZONE so there is no memory for
      swiotlb.
      
      With this patch, the x86 IOMMU initialization sequence are:
      
      1. We set swiotlb to 1 in the case of (max_pfn > MAX_DMA32_PFN
         && !no_iommu). If swiotlb usage is forced by the boot option,
         we go to the step 3 and finish (we don't try to detect IOMMUs).
      
      2. We call the detection functions of all the IOMMUs. The
         detection function sets x86_init.iommu.iommu_init to the IOMMU
         initialization function (so we can avoid calling the
         initialization functions of all the IOMMUs needlessly).
      
      3. We initialize swiotlb (and set dma_ops to swiotlb_dma_ops) if
         swiotlb is set to 1.
      
      4. If the IOMMU initialization function doesn't need swiotlb
         (e.g. the initialization is sucessful) then sets swiotlb to zero.
      
      5. If we find that swiotlb is set to zero, we free swiotlb
         resource.
      Reported-by: default avatarYinghai Lu <yinghai@kernel.org>
      Reported-by: default avatarRoland Dreier <rdreier@cisco.com>
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      LKML-Reference: <20091215204729A.fujita.tomonori@lab.ntt.co.jp>
      Tested-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      186a2502
  5. 14 Dec, 2009 8 commits
  6. 13 Dec, 2009 1 commit
  7. 11 Dec, 2009 11 commits
    • H. Peter Anvin's avatar
      nvram: Fix write beyond end condition; prove to gcc copy is safe · a01c7800
      H. Peter Anvin authored
      In nvram_write, first of all, correctly handle the case where the file
      pointer is already beyond the end; we should return EOF in that case.
      
      Second, make the logic a bit more explicit so that gcc can statically
      prove that the copy_from_user() is safe.  Once the condition of the
      beyond-end filepointer is eliminated, the copy is safe but gcc can't
      prove it, causing build failures for i386 allyesconfig.
      
      Third, eliminate the entirely superfluous variable "len", and just use
      the passed-in variable "count" instead.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Wim Van Sebroeck <wim@iguana.be>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <tip-*@git.kernel.org>
      a01c7800
    • H. Peter Anvin's avatar
      mm: Adjust do_pages_stat() so gcc can see copy_from_user() is safe · b9255850
      H. Peter Anvin authored
      Slightly adjust the logic for determining the size of the
      copy_form_user() in do_pages_stat(); with this change, gcc can see
      that the copying is safe.
      
      Without this, we get a build error for i386 allyesconfig:
      
      /home/hpa/kernel/linux-2.6-tip.urgent/arch/x86/include/asm/uaccess_32.h:213:
      error: call to ‘copy_from_user_overflow’ declared with attribute
      error: copy_from_user() buffer size is not provably correct
      
      Unlike an earlier patch from Arjan, this doesn't introduce new
      variables; merely reshuffles the compare so that gcc can see that an
      overflow cannot happen.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Brice Goglin <Brice.Goglin@inria.fr>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      LKML-Reference: <20090926205406.30d55b08@infradead.org>
      b9255850
    • Mike Travis's avatar
      x86: Limit the number of processor bootup messages · 2eaad1fd
      Mike Travis authored
      When there are a large number of processors in a system, there
      is an excessive amount of messages sent to the system console.
      It's estimated that with 4096 processors in a system, and the
      console baudrate set to 56K, the startup messages will take
      about 84 minutes to clear the serial port.
      
      This set of patches limits the number of repetitious messages
      which contain no additional information.  Much of this information
      is obtainable from the /proc and /sysfs.   Some of the messages
      are also sent to the kernel log buffer as KERN_DEBUG messages so
      dmesg can be used to examine more closely any details specific to
      a problem.
      
      The new cpu bootup sequence for system_state == SYSTEM_BOOTING:
      
      Booting Node   0, Processors  #1 #2 #3 #4 #5 #6 #7 Ok.
      Booting Node   1, Processors  #8 #9 #10 #11 #12 #13 #14 #15 Ok.
      ...
      Booting Node   3, Processors  #56 #57 #58 #59 #60 #61 #62 #63 Ok.
      Brought up 64 CPUs
      
      After the system is running, a single line boot message is displayed
      when CPU's are hotplugged on:
      
          Booting Node %d Processor %d APIC 0x%x
      
      Status of the following lines:
      
          CPU: Physical Processor ID:		printed once (for boot cpu)
          CPU: Processor Core ID:		printed once (for boot cpu)
          CPU: Hyper-Threading is disabled	printed once (for boot cpu)
          CPU: Thermal monitoring enabled	printed once (for boot cpu)
          CPU %d/0x%x -> Node %d:		removed
          CPU %d is now offline:		only if system_state == RUNNING
          Initializing CPU#%d:		KERN_DEBUG
      Signed-off-by: default avatarMike Travis <travis@sgi.com>
      LKML-Reference: <4B219E28.8080601@sgi.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      2eaad1fd
    • Mike Travis's avatar
      x86: Remove enabling x2apic message for every CPU · 450b1e8d
      Mike Travis authored
      Print only once that the system is supporting x2apic mode.
      Signed-off-by: default avatarMike Travis <travis@sgi.com>
      Acked-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      LKML-Reference: <4B226E92.5080904@sgi.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      450b1e8d
    • H. Peter Anvin's avatar
      doc: Add documentation for bootloader_{type,version} · d75757ab
      H. Peter Anvin authored
      Add documentation for kernel/bootloader_type and
      kernel/bootloader_version to sysctl/kernel.txt.  This should really
      have been done a long time ago.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: Shen Feng <shen@cn.fujitsu.com>
      d75757ab
    • Borislav Petkov's avatar
      x86, msr: Add support for non-contiguous cpumasks · 50542251
      Borislav Petkov authored
      The current rd/wrmsr_on_cpus helpers assume that the supplied
      cpumasks are contiguous. However, there are machines out there
      like some K8 multinode Opterons which have a non-contiguous core
      enumeration on each node (e.g. cores 0,2 on node 0 instead of 0,1), see
      http://www.gossamer-threads.com/lists/linux/kernel/1160268.
      
      This patch fixes out-of-bounds writes (see URL above) by adding per-CPU
      msr structs which are used on the respective cores.
      
      Additionally, two helpers, msrs_{alloc,free}, are provided for use by
      the callers of the MSR accessors.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Doug Thompson <dougthompson@xmission.com>
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      LKML-Reference: <20091211171440.GD31998@aftab>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      50542251
    • H. Peter Anvin's avatar
      5c6baba8
    • Yinghai Lu's avatar
      x86: Use find_e820() instead of hard coded trampoline address · 893f38d1
      Yinghai Lu authored
      Jens found the following crash/regression:
      
      [    0.000000] found SMP MP-table at [ffff8800000fdd80] fdd80
      [    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 0-fff BIOS data page
      
      and
      
      [    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 6000-7fff TRAMPOLINE
      
      and bisected it to b24c2a92 ("x86: Move find_smp_config()
      earlier and avoid bootmem usage").
      
      It turns out the BIOS is using the first 64k for mptable,
      without reserving it.
      
      So try to find good range for the real-mode trampoline instead of
      hard coding it, in case some bios tries to use that range for sth.
      Reported-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Tested-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      LKML-Reference: <4B21630A.6000308@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      893f38d1
    • Linus Torvalds's avatar
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 3ef884b4
      Linus Torvalds authored
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (189 commits)
        drm/radeon/kms: fix warning about cur_placement being uninitialised.
        drm/ttm: Print debug information on memory manager when eviction fails
        drm: Add memory manager debug function
        drm/radeon/kms: restore surface registers on resume.
        drm/radeon/kms/r600/r700: fallback gracefully on ucode failure
        drm/ttm: Initialize eviction placement in case the driver callback doesn't
        drm/radeon/kms: cleanup structure and module if initialization fails
        drm/radeon/kms: actualy set the eviction placements we choose
        drm/radeon/kms: Fix NULL ptr dereference
        drm/radeon/kms/avivo: add support for new pll selection algo
        drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup
        drm/radeon/kms: fix return value from fence function.
        drm/radeon: Remove tests for -ERESTART from the TTM code.
        drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.
        drm/radeon/kms: Convert radeon to new TTM validation API (V2)
        drm/ttm: Rework validation & memory space allocation (V3)
        drm: Add search/get functions to get a block in a specific range
        drm/radeon/kms: fix avivo tiling regression since radeon object rework
        drm/i915: Remove a debugging printk from hangcheck
        drm/radeon/kms: make sure i2c id matches
        ...
      3ef884b4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 4e5df806
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits)
        amd64_edac: bump driver version
        amd64_edac: fix use-uninitialised bug
        amd64_edac: correct sys address to chip select mapping
        amd64_edac: add a leaner syndrome decoding algorithm
        amd64_edac: remove early hw support check
        amd64_edac: detect DDR3 memory type
        edac: add memory types strings for debugging
        edac, mce: update AMD F10h revD check
        amd64_edac: remove unneeded extract_error_address wrapper
        amd64_edac: rename StinkyIdentifier
        amd64_edac: remove superfluous dbg printk
        amd64_edac: enhance address to DRAM bank mapping
        amd64_edac: cleanup f10_early_channel_count
        amd64_edac: dump DIMM sizes on K8 too
        amd64_edac: cleanup rest of amd64_dump_misc_regs
        amd64_edac: cleanup DRAM cfg low debug output
        amd64_edac: wrap-up pci config read error handling
        amd64_edac: unify MCGCTL ECC switching
        cpumask: use modern cpumask style in drivers/edac/amd64_edac.c
        amd64_edac: make DRAM regions output more human-readable
        ...
      4e5df806
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · aa2cf420
      Linus Torvalds authored
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
        MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer
        OMAP: SDP: Enable DSS2 for OMAP3 SDP board
        OMAP: DSS2: Taal DSI command mode panel driver
        OMAP: DSS2: Add generic and Sharp panel drivers
        OMAP: DSS2: omapfb driver
        OMAP: DSS2: DSI driver
        OMAP: DSS2: SDI driver
        OMAP: DSS2: RFBI driver
        OMAP: DSS2: Video encoder driver
        OMAP: DSS2: DPI driver
        OMAP: DSS2: DISPC
        OMAP: DSS2: Add more core files
        OMAP: DSS2: Display Subsystem Driver core
        OMAP: DSS2: Documentation for DSS2
        OMAP: Add support for VRFB rotation engine
        OMAP: Add VRAM manager
        OMAP: OMAPFB: add omapdss device
        OMAP: OMAPFB: split omapfb.h
        OMAP2: Add funcs for writing SMS_ROT_* registers
      aa2cf420