1. 19 9月, 2009 1 次提交
    • S
      x86, apic: Use logical flat on intel with <= 8 logical cpus · 2fbd07a5
      Suresh Siddha 提交于
      On Intel platforms, we can use logical flat mode if there are <= 8
      logical cpu's (irrespective of physical apic id values). This will
      enable simplified and efficient IPI and device interrupt routing on
      such platforms.
      
      Fix the relevant comments while we are at it.
      
      We can clean up default_setup_apic_routing() by using apic->probe()
      but that is a different item.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: "yinghai@kernel.org" <yinghai@kernel.org>
      LKML-Reference: <1253327399.3948.747.camel@sbs-t61.sc.intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2fbd07a5
  2. 26 8月, 2009 1 次提交
    • Y
      x86: Fix vSMP boot crash · 295594e9
      Yinghai Lu 提交于
      2.6.31-rc7 does not boot on vSMP systems:
      
      [    8.501108] CPU31: Thermal monitoring enabled (TM1)
      [    8.501127] CPU 31 MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8
      [    8.650254] CPU31: Intel(R) Xeon(R) CPU           E5540  @ 2.53GHz stepping 04
      [    8.710324] Brought up 32 CPUs
      [    8.713916] Total of 32 processors activated (162314.96 BogoMIPS).
      [    8.721489] ERROR: parent span is not a superset of domain->span
      [    8.727686] ERROR: domain->groups does not contain CPU0
      [    8.733091] ERROR: groups don't span domain->span
      [    8.737975] ERROR: domain->cpu_power not set
      [    8.742416]
      
      Ravikiran Thirumalai bisected it to:
      
      | commit 2759c328
      | x86: don't call read_apic_id if !cpu_has_apic
      
      The problem is that on vSMP systems the CPUID derived
      initial-APICIDs are overlapping - so we need to fall
      back on hard_smp_processor_id() which reads the local
      APIC.
      
      Both come from the hardware (influenced by firmware
      though) so it's a tough call which one to trust.
      
      Doing the quirk expresses the vSMP property properly
      and also does not affect other systems, so we go for
      this solution instead of a revert.
      Reported-and-Tested-by: NRavikiran Thirumalai <kiran@scalex86.org>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Shai Fultheim <shai@scalex86.org>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <4A944D3C.5030100@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      295594e9
  3. 05 8月, 2009 1 次提交
    • G
      x86/apic: Enable x2APIC without interrupt remapping under KVM · ce69a784
      Gleb Natapov 提交于
      KVM would like to provide x2APIC interface to a guest without emulating
      interrupt remapping device. The reason KVM prefers guest to use x2APIC
      is that x2APIC interface is better virtualizable and provides better
      performance than mmio xAPIC interface:
      
       - msr exits are faster than mmio (no page table walk, emulation)
       - no need to read back ICR to look at the busy bit
       - one 64 bit ICR write instead of two 32 bit writes
       - shared code with the Hyper-V paravirt interface
      
      Included patch changes x2APIC enabling logic to enable it even if IR
      initialization failed, but kernel runs under KVM and no apic id is
      greater than 255 (if there is one spec requires BIOS to move to x2apic
      mode before starting an OS).
      
      -v2: fix build
      -v3: fix bug causing compiler warning
      Signed-off-by: NGleb Natapov <gleb@redhat.com>
      Acked-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Sheng Yang <sheng@linux.intel.com>
      Cc: "avi@redhat.com" <avi@redhat.com>
      LKML-Reference: <20090720122417.GR5638@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ce69a784
  4. 21 4月, 2009 1 次提交
  5. 18 3月, 2009 2 次提交
  6. 26 2月, 2009 1 次提交
  7. 23 2月, 2009 1 次提交
  8. 18 2月, 2009 4 次提交
  9. 17 2月, 2009 3 次提交
  10. 29 1月, 2009 4 次提交
    • I
      x86, apic: untangle the send_IPI_*() jungle · dac5f412
      Ingo Molnar 提交于
      Our send_IPI_*() methods and definitions are a twisted mess: the same
      symbol is defined to different things depending on .config details,
      in a non-transparent way.
      
       - spread out the quirks into separately named per apic driver methods
      
       - prefix the standard PC methods with default_
      
       - get rid of wrapper macro obfuscation
      
       - clean up various details
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      dac5f412
    • I
      x86, apic: clean up ->setup_apic_routing() · 72ce0165
      Ingo Molnar 提交于
      - separate the namespace
      
       - remove macros
      
       - remove namespace clash on 64-bit
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      72ce0165
    • I
      x86: clean up apic->acpi_madt_oem_check methods · 306db03b
      Ingo Molnar 提交于
      Impact: refactor code
      
      x86 subarchitectures each defined a "acpi_madt_oem_check()" method,
      which could be an inline function, or an extern, or a static function,
      and which was also the name of a genapic field.
      
      Untangle this namespace spaghetti by setting ->acpi_madt_oem_check()
      to NULL on those subarchitectures that have no detection quirks,
      and rename the other ones (summit, es7000) that do.
      
      Also change default_acpi_madt_oem_check() to handle NULL entries,
      and clean its control flow up as well.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      306db03b
    • I
      x86: rename 'genapic' to 'apic' · c8d46cf0
      Ingo Molnar 提交于
      Rename genapic-> to apic-> references because in a future chagne we'll
      open-code all the indirect calls (instead of obscuring them via macros),
      so we want this reference to be as short as possible.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c8d46cf0
  11. 21 1月, 2009 1 次提交
  12. 18 11月, 2008 1 次提交
  13. 31 7月, 2008 1 次提交
  14. 27 7月, 2008 1 次提交
  15. 22 7月, 2008 1 次提交
    • Y
      x86: add apic probe for genapic 64bit, v2 · 1b9b89e7
      Yinghai Lu 提交于
      introducing an APIC handling probing abstraction:
      
       static struct genapic *apic_probe[] __initdata = {
      	&apic_x2apic_uv_x,
      	&apic_x2apic_phys,
      	&apic_x2apic_cluster,
      	&apic_physflat,
      	NULL,
       };
      
      This way we can remove UV, x2apic specific code from genapic_64.c and
      move them to their specific genapic files.
      
      [ v2: fix compiling when CONFIG_ACPI is not set ]
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1b9b89e7
  16. 12 7月, 2008 5 次提交
  17. 10 6月, 2008 1 次提交
  18. 01 5月, 2008 1 次提交
  19. 26 4月, 2008 1 次提交
  20. 17 4月, 2008 6 次提交
  21. 30 1月, 2008 2 次提交