An error occurred fetching the project authors.
  1. 21 Sep, 2011 1 commit
    • Suresh Siddha's avatar
      x86, x2apic: Enable the bios request for x2apic optout · 41750d31
      Suresh Siddha authored
      On the platforms which are x2apic and interrupt-remapping
      capable, Linux kernel is enabling x2apic even if the BIOS
      doesn't. This is to take advantage of the features that x2apic
      brings in.
      
      Some of the OEM platforms are running into issues because of
      this, as their bios is not x2apic aware. For example, this was
      resulting in interrupt migration issues on one of the platforms.
      Also if the BIOS SMI handling uses APIC interface to send SMI's,
      then the BIOS need to be aware of x2apic mode that OS has
      enabled.
      
      On some of these platforms, BIOS doesn't have a HW mechanism to
      turnoff the x2apic feature to prevent OS from enabling it.
      
      To resolve this mess, recent changes to the VT-d2 specification:
      
       http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
      
      includes a mechanism that provides BIOS a way to request system
      software to opt out of enabling x2apic mode.
      
      Look at the x2apic optout flag in the DMAR tables before
      enabling the x2apic mode in the platform. Also print a warning
      that we have disabled x2apic based on the BIOS request.
      
      Kernel boot parameter "intremap=no_x2apic_optout" can be used to
      override the BIOS x2apic optout request.
      Signed-off-by: default avatarYouquan Song <youquan.song@intel.com>
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: yinghai@kernel.org
      Cc: joerg.roedel@amd.com
      Cc: tony.luck@intel.com
      Cc: dwmw2@infradead.org
      Link: http://lkml.kernel.org/r/20110824001456.171766616@sbsiddha-desk.sc.intel.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
      41750d31
  2. 26 Jul, 2011 1 commit
  3. 12 Jul, 2011 1 commit
  4. 08 Jul, 2011 1 commit
    • Vivek Goyal's avatar
      x86, boot: Wait for boot cpu to show up if nr_cpus limit is about to hit · 14cb6dcf
      Vivek Goyal authored
      nr_cpus allows one to specify number of possible cpus in the system.
      Current assumption seems to be that first cpu to show up is boot cpu
      and this assumption will be broken in kdump scenario where we can be
      booting on a non boot cpu with nr_cpus=1.
      
      It might happen that first cpu we parse is not the cpu we boot on and
      later we ignore boot cpu. Though code later seems to recognize this
      anomaly and forcibly sets boot cpu in physical cpu map with following
      warning.
      
      if (!physid_isset(hard_smp_processor_id(), phys_cpu_present_map)) {
              printk(KERN_WARNING
                      "weird, boot CPU (#%d) not listed by the BIOS.\n",
                      hard_smp_processor_id());
      
              physid_set(hard_smp_processor_id(), phys_cpu_present_map);
      }
      
      This patch waits for boot cpu to show up and starts ignoring the cpus
      once we have hit (nr_cpus - 1) number of cpus. So effectively we are
      reserving one slot out of nr_cpus for boot cpu explicitly.
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
      Link: http://lkml.kernel.org/r/20110708171926.GF2930@redhat.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      14cb6dcf
  5. 09 Jun, 2011 2 commits
  6. 30 May, 2011 1 commit
  7. 20 May, 2011 1 commit
  8. 02 May, 2011 2 commits
    • Tejun Heo's avatar
      x86-32, NUMA: Make apic->x86_32_numa_cpu_node() optional · 84914ed0
      Tejun Heo authored
      NUMAQ is the only meaningful user of this callback and
      setup_local_APIC() the only callsite.  Stop torturing everyone else by
      making the callback optional and removing all the boilerplate
      implementations and assignments.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      84914ed0
    • Tejun Heo's avatar
      x86-32, NUMA: Automatically set apicid -> node in setup_local_APIC() · c4b90c11
      Tejun Heo authored
      Some x86-32 NUMA implementations (NUMAQ) don't initialize apicid ->
      node mapping using set_apicid_to_node() during NUMA init but implement
      custom apic->x86_32_numa_cpu_node() instead.
      
      This patch automatically initializes the default apic -> node mapping
      table from apic->x86_32_numa_cpu_node() from setup_local_APIC() such
      that the mapping table is in sync with the actual mapping.
      
      As the table isn't used by custom implementations, this doesn't make
      any difference at this point.  This is in preparation of unifying
      numa_cpu_node() between x86-32 and 64.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      c4b90c11
  9. 19 Apr, 2011 1 commit
    • Youquan Song's avatar
      x86, apic: Print verbose error interrupt reason on apic=debug · 2b398bd9
      Youquan Song authored
      End users worry about the error interrupt printout we generate
      currently:
      
      	pr_debug("APIC error on CPU%d: %02x(%02x)\n",
      	smp_processor_id(), v , v1);
      
      ... and would like to know the reason why error interrupts are generated.
      
      This patch prints out more detailed debug information.
      
      Another practical problem is that dynamic debug is not initialized yet
      when the APIC initializes, so the pr_debug() will not output the error
      interrupt debug information on bootup. In this patch, we use
      apic_printk(APIC_DEBUG, ...), so the apic=debug boot option will print
      verbose error interupts during bootup.
      Signed-off-by: default avatarYouquan Song <youquan.song@intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: hpa@linux.intel.com
      Cc: suresh.b.siddha@intel.com
      Cc: yong.y.wang@linux.intel.com
      Cc: jbaron@redhat.com
      Cc: trenn@suse.de
      Cc: kent.liu@intel.com
      Cc: chaohong.guo@intel.com
      Link: http://lkml.kernel.org/r/1302762968-24380-2-git-send-email-youquan.song@intel.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
      2b398bd9
  10. 29 Mar, 2011 1 commit
    • Christoph Lameter's avatar
      x86: A fast way to check capabilities of the current cpu · 349c004e
      Christoph Lameter authored
      Add this_cpu_has() which determines if the current cpu has a certain
      ability using a segment prefix and a bit test operation.
      
      For that we need to add bit operations to x86s percpu.h.
      
      Many uses of cpu_has use a pointer passed to a function to determine
      the current flags. That is no longer necessary after this patch.
      
      However, this patch only converts the straightforward cases where
      cpu_has is used with this_cpu_ptr. The rest is work for later.
      
      -tj: Rolled up patch to add x86_ prefix and use percpu_read() instead
           of percpu_read_stable().
      Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      349c004e
  11. 23 Mar, 2011 1 commit
    • Rafael J. Wysocki's avatar
      x86: Use syscore_ops instead of sysdev classes and sysdevs · f3c6ea1b
      Rafael J. Wysocki authored
      Some subsystems in the x86 tree need to carry out suspend/resume and
      shutdown operations with one CPU on-line and interrupts disabled and
      they define sysdev classes and sysdevs or sysdev drivers for this
      purpose.  This leads to unnecessarily complicated code and excessive
      memory usage, so switch them to using struct syscore_ops objects for
      this purpose instead.
      
      Generally, there are three categories of subsystems that use
      sysdevs for implementing PM operations: (1) subsystems whose
      suspend/resume callbacks ignore their arguments entirely (the
      majority), (2) subsystems whose suspend/resume callbacks use their
      struct sys_device argument, but don't really need to do that,
      because they can be implemented differently in an arguably simpler
      way (io_apic.c), and (3) subsystems whose suspend/resume callbacks
      use their struct sys_device argument, but the value of that argument
      is always the same and could be ignored (microcode_core.c).  In all
      of these cases the subsystems in question may be readily converted to
      using struct syscore_ops objects for power management and shutdown.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      f3c6ea1b
  12. 11 Mar, 2011 1 commit
  13. 25 Feb, 2011 1 commit
    • Thomas Gleixner's avatar
      x86: dt: Cleanup local apic setup · a906fdaa
      Thomas Gleixner authored
      Up to now we force enable the local apic in the devicetree setup
      uncoditionally and set smp_found_config unconditionally to 1 when a
      devicetree blob is available. This breaks, when local apic is disabled
      in the Kconfig.
      
      Make it consistent by initializing device tree explicitely before
      smp_get_config() so a non lapic configuration could be used as well.
      To be functional that would require to implement PIT as an interrupt
      host, but the only user of this code until now is ce4100 which
      requires apics to be available. So we leave this up to those who need
      it.
      Tested-by: default avatarSebastian Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a906fdaa
  14. 23 Feb, 2011 2 commits
  15. 14 Feb, 2011 1 commit
    • Yinghai Lu's avatar
      x86: Fix and clean up generic_processor_info() · e5fea868
      Yinghai Lu authored
      One of the error printouts in generic_processor_info() prints out
      the APIC version instead of the cpu index the warning text describes.
      
      Move version validation down, after we get the right cpu index.
      
      -v2: add comments about reason why we can have cpu=0 there.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4D5240A9.4080703@kernel.org>
      [ Cleaned up and made the BIOS bug printouts more consistent ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e5fea868
  16. 10 Feb, 2011 1 commit
    • Jan Beulich's avatar
      x86: Fix section mismatch in LAPIC initialization · 2fb270f3
      Jan Beulich authored
      Additionally doing things conditionally upon smp_processor_id()
      being zero is generally a bad idea, as this means CPU 0 cannot
      be offlined and brought back online later again.
      
      While there may be other places where this is done, I think adding
      more of those should be avoided so that some day SMP can really
      become "symmetrical".
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      LKML-Reference: <4D525C7E0200007800030EE1@vpn.id2.novell.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      2fb270f3
  17. 28 Jan, 2011 6 commits
    • Tejun Heo's avatar
      x86: Fix build failure on X86_UP_APIC · 4e62445b
      Tejun Heo authored
      Commit 4c321ff8 (x86: Replace cpu_2_logical_apicid[] with early
      percpu variable) and following changes introduced and used
      x86_cpu_to_logical_apicid percpu variable.  It was declared and
      defined inside CONFIG_SMP && CONFIG_X86_32 but if
      CONFIG_X86_UP_APIC is set UP configuration makes use of it and
      build fails.
      
      Fix it by declaring and defining it inside CONFIG_X86_LOCAL_APIC
      && CONFIG_X86_32.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: penberg@kernel.org
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <20110128162248.GA25746@htj.dyndns.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4e62445b
    • Tejun Heo's avatar
      x86: Unify cpu/apicid <-> NUMA node mapping between 32 and 64bit · bbc9e2f4
      Tejun Heo authored
      The mapping between cpu/apicid and node is done via
      apicid_to_node[] on 64bit and apicid_2_node[] +
      apic->x86_32_numa_cpu_node() on 32bit. This difference makes it
      difficult to further unify 32 and 64bit NUMA handling.
      
      This patch unifies it by replacing both apicid_to_node[] and
      apicid_2_node[] with __apicid_to_node[] array, which is accessed
      by two accessors - set_apicid_to_node() and numa_cpu_node().  On
      64bit, numa_cpu_node() always consults __apicid_to_node[]
      directly while 32bit goes through apic->numa_cpu_node() method
      to allow apic implementations to override it.
      
      srat_detect_node() for amd cpus contains workaround for broken
      NUMA configuration which assumes relationship between APIC ID,
      HT node ID and NUMA topology.  Leave it to access
      __apicid_to_node[] directly as mapping through CPU might result
      in undesirable behavior change.  The comment is reformatted and
      updated to note the ugliness.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reviewed-by: default avatarPekka Enberg <penberg@kernel.org>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <1295789862-25482-14-git-send-email-tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: David Rientjes <rientjes@google.com>
      bbc9e2f4
    • Tejun Heo's avatar
      x86: Replace apic->apicid_to_node() with ->x86_32_numa_cpu_node() · 89e5dc21
      Tejun Heo authored
      apic->apicid_to_node() is 32bit specific apic operation which
      determines NUMA node for a CPU.  Depending on the APIC
      implementation, it can be easier to determine NUMA node from
      either physical or logical apicid.  Currently,
      ->apicid_to_node() takes @logical_apicid and calls
      hard_smp_processor_id() if the physical apicid is needed.
      
      This prevents NUMA mapping from being queried from a different
      CPU, which in turn makes it impossible to initialize NUMA
      mapping before SMP bringup.
      
      This patch replaces apic->apicid_to_node() with
      ->x86_32_numa_cpu_node() which takes @cpu, from which both
      logical and physical apicids can easily be determined.  While at
      it, drop duplicate implementations from bigsmp_32 and summit_32,
      and use the default one.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reviewed-by: default avatarPekka Enberg <penberg@kernel.org>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <1295789862-25482-13-git-send-email-tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      89e5dc21
    • Tejun Heo's avatar
      x86: Add apic->x86_32_early_logical_apicid() · acb8bc09
      Tejun Heo authored
      On x86_32, the mapping between cpu and logical apic ID differs
      depending on the specific apic implementation in use.  The
      mapping is initialized while bringing up CPUs; however, this
      makes early inits ignore memory topology.
      
      Add a x86_32 specific apic->x86_32_early_logical_apicid() which
      is called early during boot to query the mapping.  The mapping
      is later verified against the result of init_apic_ldr().  The
      method is allowed to return BAD_APICID if it can't be determined
      early.
      
      noop variant which always returns BAD_APICID is implemented and
      added to all x86_32 apic implementations.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: penberg@kernel.org
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <1295789862-25482-8-git-send-email-tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      acb8bc09
    • Tejun Heo's avatar
      x86: Always use x86_cpu_to_logical_apicid for cpu -> logical apic id · 6f802c4b
      Tejun Heo authored
      Currently, cpu -> logical apic id translation is done by
      apic->cpu_to_logical_apicid() callback which may or may not use
      x86_cpu_to_logical_apicid.  This is unnecessary as it should
      always equal logical_smp_processor_id() which is known early
      during CPU bring up.
      
      Initialize x86_cpu_to_logical_apicid after apic->init_apic_ldr()
      in setup_local_APIC() and always use x86_cpu_to_logical_apicid
      for cpu -> logical apic id mapping.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: penberg@kernel.org
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <1295789862-25482-6-git-send-email-tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6f802c4b
    • Tejun Heo's avatar
      x86: Replace cpu_2_logical_apicid[] with early percpu variable · 4c321ff8
      Tejun Heo authored
      Unlike x86_64, on x86_32, the mapping from cpu to logical apicid
      may vary depending on apic in use.  cpu_2_logical_apicid[] array
      is used for this mapping.  Replace it with early percpu variable
      x86_cpu_to_logical_apicid to make it better aligned with other
      mappings.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: eric.dumazet@gmail.com
      Cc: yinghai@kernel.org
      Cc: brgerst@gmail.com
      Cc: gorcunov@gmail.com
      Cc: penberg@kernel.org
      Cc: shaohui.zheng@intel.com
      Cc: rientjes@google.com
      LKML-Reference: <1295789862-25482-5-git-send-email-tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4c321ff8
  18. 10 Jan, 2011 1 commit
    • Pierre Tardy's avatar
      x86, lapic-timer: Increase the max_delta to 31 bits · 4aed89d6
      Pierre Tardy authored
      Latest atom socs(penwell) does not have hpet timer.
      
      As their local APIC timer is clocked at 400KHZ, and the current
      code limit their Initial Counter register to 23 bits, they
      cannot sleep more than 1.34 seconds which leads to ~2 spurious
      wakeup per second (1 per thread)
      
      These SOCs support 32bit timer so we change the max_delta to at
      least 31bits. So we can at least sleep for 300 seconds.
      
      We could not find any previous chip errata where lapic would
      only have 23 bit precision As powertop is suggesting to activate
      HPET to "sleep longer", this could mean this problem is already
      known.
      
      Problem is here since very first implementation of lapic timer
      as a clock event e9e2cdb4 [PATCH] clockevents: i386 drivers.
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: default avatarPierre Tardy <pierre.tardy@intel.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Adrian Bunk <bunk@stusta.de>
      Cc: H. Peter Anvin <hpa@linux.intel.com>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Andi Kleen <ak@suse.de>
      LKML-Reference: <1294327409-19426-1-git-send-email-pierre.tardy@intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4aed89d6
  19. 07 Jan, 2011 1 commit
  20. 30 Dec, 2010 1 commit
  21. 23 Dec, 2010 1 commit
  22. 14 Dec, 2010 1 commit
  23. 10 Dec, 2010 1 commit
    • Tejun Heo's avatar
      x86: apic: Cleanup and simplify setup_local_APIC() · 0aa002fe
      Tejun Heo authored
      setup_local_APIC() is used to setup local APIC early during CPU
      initialization and already assumes that preemption is disabled on
      entry. However, The function unnecessarily disables and enables
      preemption and uses smp_processor_id() multiple times in and out of
      the nested preemption disabled section. This gives the wrong
      impression that the function might be able to handle being called with
      preemption enabled and/or migrated to another processor in the middle.
      
      Make it clear that the function is always called with preemption
      disabled, drop the confusing preemption disable block and call
      smp_processor_id() once at the beginning of the function.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      Reviewed-by: default avatarPekka Enberg <penberg@kernel.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: brgerst@gmail.com
      LKML-Reference: <4D00B3B9.7060702@kernel.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      0aa002fe
  24. 09 Dec, 2010 4 commits
  25. 18 Nov, 2010 1 commit
    • Don Zickus's avatar
      x86, nmi_watchdog: Remove all stub function calls from old nmi_watchdog · 072b198a
      Don Zickus authored
      Now that the bulk of the old nmi_watchdog is gone, remove all
      the stub variables and hooks associated with it.
      
      This touches lots of files mainly because of how the io_apic
      nmi_watchdog was implemented.  Now that the io_apic nmi_watchdog
      is forever gone, remove all its fingers.
      
      Most of this code was not being exercised by virtue of
      nmi_watchdog != NMI_IO_APIC, so there shouldn't be anything to
      risky here.
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      Cc: fweisbec@gmail.com
      Cc: gorcunov@openvz.org
      LKML-Reference: <1289578944-28564-3-git-send-email-dzickus@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      072b198a
  26. 10 Nov, 2010 1 commit
  27. 25 Oct, 2010 1 commit
  28. 23 Oct, 2010 1 commit
    • Thomas Gleixner's avatar
      x86: Allow platforms to force enable apic · 5a7ae78f
      Thomas Gleixner authored
      Some embedded x86 platforms don't setup the APIC in the
      BIOS/bootloader and would be forced to add "lapic" on the kernel
      command line. That's a bit akward.
      
      Split out the force enable code from detect_init_APIC() and allow
      platform code to call it from the platform setup. That avoids the
      command line parameter and possible replication of the MSR dance in
      the force enable code.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      LKML-Reference: <1287510389-8388-1-git-send-email-dirk.brandewie@gmail.com>
      Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
      5a7ae78f
  29. 20 Oct, 2010 1 commit
    • Robert Richter's avatar
      apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets · 27afdf20
      Robert Richter authored
      We want the BIOS to setup the EILVT APIC registers. The offsets
      were hardcoded and BIOS settings were overwritten by the OS.
      Now, the subsystems for MCE threshold and IBS determine the LVT
      offset from the registers the BIOS has setup. If the BIOS setup
      is buggy on a family 10h system, a workaround enables IBS. If
      the OS determines an invalid register setup, a "[Firmware Bug]:
      " error message is reported.
      
      We need this change also for upcomming cpu families.
      Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
      LKML-Reference: <1286360874-1471-3-git-send-email-robert.richter@amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      27afdf20