1. 14 12月, 2009 4 次提交
  2. 13 12月, 2009 1 次提交
  3. 12 12月, 2009 3 次提交
    • M
      x86: Limit the number of processor bootup messages · 2eaad1fd
      Mike Travis 提交于
      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: NMike Travis <travis@sgi.com>
      LKML-Reference: <4B219E28.8080601@sgi.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      2eaad1fd
    • M
      x86: Remove enabling x2apic message for every CPU · 450b1e8d
      Mike Travis 提交于
      Print only once that the system is supporting x2apic mode.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Acked-by: NCyrill Gorcunov <gorcunov@openvz.org>
      LKML-Reference: <4B226E92.5080904@sgi.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      450b1e8d
    • B
      x86, msr: Add support for non-contiguous cpumasks · 50542251
      Borislav Petkov 提交于
      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: NBorislav Petkov <borislav.petkov@amd.com>
      LKML-Reference: <20091211171440.GD31998@aftab>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      50542251
  4. 11 12月, 2009 2 次提交
    • Y
      x86: Use find_e820() instead of hard coded trampoline address · 893f38d1
      Yinghai Lu 提交于
      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: NJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Tested-by: NJens Axboe <jens.axboe@oracle.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      LKML-Reference: <4B21630A.6000308@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      893f38d1
    • P
      x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map cpumasks · ebb682f5
      Prarit Bhargava 提交于
      The per_cpu cpuid4_info shared_map can contain stale data when CPUs are added
      and removed.
      
      The stale data can lead to a NULL pointer derefernce panic on a remove of a
      CPU that has had siblings previously removed.
      
      This patch resolves the panic by verifying a cpu is actually online before
      adding it to the shared_cpu_map, only examining cpus that are part of
      the same lower level cache, and by updating other siblings lowest level cache
      maps when a cpu is added.
      Signed-off-by: NPrarit Bhargava <prarit@redhat.com>
      LKML-Reference: <20091209183336.17855.98708.sendpatchset@prarit.bos.redhat.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      ebb682f5
  5. 10 12月, 2009 7 次提交
  6. 09 12月, 2009 4 次提交
  7. 08 12月, 2009 1 次提交
  8. 07 12月, 2009 1 次提交
    • T
      x86: Fix bogus warning in apic_noop.apic_write() · a946d8f1
      Thomas Gleixner 提交于
      apic_noop is used to provide dummy apic functions. It's installed
      when the CPU has no APIC or when the APIC is disabled on the kernel
      command line.
      
      The apic_noop implementation of apic_write() warns when the CPU has
      an APIC or when the APIC is not disabled.
      
      That's bogus. The warning should only happen when the CPU has an
      APIC _AND_ the APIC is not disabled. apic_noop.apic_read() has the
      correct check.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: <stable@kernel.org> # in <= .32 this typo resides in native_apic_write_dummy()
      LKML-Reference: <alpine.LFD.2.00.0912071255420.3089@localhost.localdomain>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a946d8f1
  9. 06 12月, 2009 2 次提交
  10. 05 12月, 2009 2 次提交
    • L
      x86: ASUS P4S800 reboot=bios quirk · 4832ddda
      Leann Ogasawara 提交于
      Bug reporter noted their system with an ASUS P4S800 motherboard would
      hang when rebooting unless reboot=b was specified.  Their dmidecode
      didn't contain descriptive System Information for Manufacturer or
      Product Name, so I used their Base Board Information to create a
      reboot quirk patch.  The bug reporter confirmed this patch resolves
      the reboot hang.
      
      Handle 0x0001, DMI type 1, 25 bytes
      System Information
             Manufacturer: System Manufacturer
             Product Name: System Name
             Version: System Version
             Serial Number: SYS-1234567890
             UUID: E0BFCD8B-7948-D911-A953-E486B4EEB67F
             Wake-up Type: Power Switch
      
      Handle 0x0002, DMI type 2, 8 bytes
      Base Board Information
           Manufacturer: ASUSTeK Computer INC.
           Product Name: P4S800
           Version: REV 1.xx
           Serial Number: xxxxxxxxxxx
      
      BugLink: http://bugs.launchpad.net/bugs/366682
      
      ASUS P4S800 will hang when rebooting unless reboot=b is specified.
      Add a quirk to reboot through the bios.
      Signed-off-by: NLeann Ogasawara <leann.ogasawara@canonical.com>
      LKML-Reference: <1259972107.4629.275.camel@emiko>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@kernel.org>
      4832ddda
    • A
      tree-wide: fix misspelling of "definition" in comments · 6070d81e
      Adam Buchbinder 提交于
      "Definition" is misspelled "defintion" in several comments; this
      patch fixes them. No code changes.
      Signed-off-by: NAdam Buchbinder <adam.buchbinder@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      6070d81e
  11. 04 12月, 2009 9 次提交
  12. 03 12月, 2009 4 次提交
    • M
      x86, apic: Enable lapic nmi watchdog on AMD Family 11h · 7d1849af
      Mikael Pettersson 提交于
      The x86 lapic nmi watchdog does not recognize AMD Family 11h,
      resulting in:
      
        NMI watchdog: CPU not supported
      
      As far as I can see from available documentation (the BKDM),
      family 11h looks identical to family 10h as far as the PMU
      is concerned.
      
      Extending the check to accept family 11h results in:
      
        Testing NMI watchdog ... OK.
      
      I've been running with this change on a Turion X2 Ultra ZM-82
      laptop for a couple of weeks now without problems.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
      Cc: Joerg Roedel <joerg.roedel@amd.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <19223.53436.931768.278021@pilspetsen.it.uu.se>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7d1849af
    • X
      x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency · 57fea8f7
      Xiaotian Feng 提交于
      pci_get_device will increase the ref count of found device.
      Although we're going to reset soon, we should use pci_dev_put
      to decrease the ref count for consistency.
      Signed-off-by: NXiaotian Feng <dfeng@redhat.com>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <1259838400-23833-1-git-send-email-dfeng@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      57fea8f7
    • D
      x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree · 4528752f
      Darrick J. Wong 提交于
      On a multi-node x3950M2 system, there's a slight oddity in the
      PCI device tree for all secondary nodes:
      
       30:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
        \-33:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01)
           \-34:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
      
      ...as compared to the primary node:
      
       00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
        \-01:00.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)
       03:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01)
        \-04:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)
      
      In both nodes, the LSI RAID controller hangs off a CalIOC2
      device, but on the secondary nodes, the BIOS hides the VGA
      device and substitutes the device tree ending with the disk
      controller.
      
      It would seem that Calgary devices don't necessarily appear at
      the top of the PCI tree, which means that the current code to
      find the Calgary IOMMU that goes with a particular device is
      buggy.
      
      Rather than walk all the way to the top of the PCI
      device tree and try to match bus number with Calgary descriptor,
      the code needs to examine each parent of the particular device;
      if it encounters a Calgary with a matching bus number, simply
      use that.
      
      Otherwise, we BUG() when the bus number of the Calgary doesn't
      match the bus number of whatever's at the top of the device tree.
      
      Extra note: This patch appears to work correctly for the x3950
      that came before the x3950 M2.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Acked-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Joerg Roedel <joerg.roedel@amd.com>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      Cc: Jon D. Mason <jdmason@kudzu.us>
      Cc: Corinna Schultz <coschult@us.ibm.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <20091202230556.GG10295@tux1.beaverton.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      4528752f
    • A
      KVM: VMX: Fix comparison of guest efer with stale host value · d5696725
      Avi Kivity 提交于
      update_transition_efer() masks out some efer bits when deciding whether
      to switch the msr during guest entry; for example, NX is emulated using the
      mmu so we don't need to disable it, and LMA/LME are handled by the hardware.
      
      However, with shared msrs, the comparison is made against a stale value;
      at the time of the guest switch we may be running with another guest's efer.
      
      Fix by deferring the mask/compare to the actual point of guest entry.
      
      Noted by Marcelo.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      d5696725