1. 12 Aug, 2009 1 commit
    • Ondrej Zary's avatar
      x86: Fix oops in identify_cpu() on CPUs without CPUID · e8055139
      Ondrej Zary authored
      Kernel is broken for x86 CPUs without CPUID since 2.6.28. It
      crashes with NULL pointer dereference in identify_cpu():
      
      766        generic_identify(c);
      767
      768-->     if (this_cpu->c_identify)
      769               this_cpu->c_identify(c);
      
      this_cpu is NULL. This is because it's only initialized in
      get_cpu_vendor() function, which is not called if the CPU has
      no CPUID instruction.
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      LKML-Reference: <200908112000.15993.linux@rainbow-software.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e8055139
  2. 11 Aug, 2009 2 commits
  3. 10 Aug, 2009 2 commits
    • Shunichi Fuji's avatar
      x86: Add reboot quirk for every 5 series MacBook/Pro · 3e03bbea
      Shunichi Fuji authored
      Reboot does not work on my MacBook Pro 13 inch (MacBookPro5,5)
      too. It seems all unibody MacBook and MacBookPro require
      PCI reboot handling, i guess.
      
      Following model/machine ID list shows unibody MacBook/Pro have
      the 5 series of model number:
      
         http://www.everymac.com/systems/by_capability/macs-by-machine-model-machine-id.htmlSigned-off-by: default avatarShunichi Fuji <palglowr@gmail.com>
      Cc: Ozan Çağlayan <ozan@pardus.org.tr>
      LKML-Reference: <30046e3b0908101134p6487ddbftd8776e4ddef204be@mail.gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3e03bbea
    • Linus Torvalds's avatar
      x86: Fix serialization in pit_expect_msb() · b6e61eef
      Linus Torvalds authored
      Wei Chong Tan reported a fast-PIT-calibration corner-case:
      
      | pit_expect_msb() is vulnerable to SMI disturbance corner case
      | in some platforms which causes /proc/cpuinfo to show wrong
      | CPU MHz value when quick_pit_calibrate() jumps to success
      | section.
      
      I think that the real issue isn't even an SMI - but the fact
      that in the very last iteration of the loop, there's no
      serializing instruction _after_ the last 'rdtsc'. So even in
      the absense of SMI's, we do have a situation where the cycle
      counter was read without proper serialization.
      
      The last check should be done outside the outer loop, since
      _inside_ the outer loop, we'll be testing that the PIT has
      the right MSB value has the right value in the next iteration.
      
      So only the _last_ iteration is special, because that's the one
      that will not check the PIT MSB value any more, and because the
      final 'get_cycles()' isn't serialized.
      
      In other words:
      
       - I'd like to move the PIT MSB check to after the last
         iteration, rather than in every iteration
      
       - I think we should comment on the fact that it's also a
         serializing instruction and so 'fences in' the TSC read.
      
      Here's a suggested replacement.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatar"Tan, Wei Chong" <wei.chong.tan@intel.com>
      Tested-by: default avatar"Tan, Wei Chong" <wei.chong.tan@intel.com>
      LKML-Reference: <B28277FD4E0F9247A3D55704C440A140D5D683F3@pgsmsx504.gar.corp.intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b6e61eef
  4. 09 Aug, 2009 15 commits
  5. 08 Aug, 2009 10 commits
  6. 07 Aug, 2009 10 commits