1. 14 7月, 2016 1 次提交
    • P
      x86/kernel: Audit and remove any unnecessary uses of module.h · 186f4360
      Paul Gortmaker 提交于
      Historically a lot of these existed because we did not have
      a distinction between what was modular code and what was providing
      support to modules via EXPORT_SYMBOL and friends.  That changed
      when we forked out support for the latter into the export.h file.
      
      This means we should be able to reduce the usage of module.h
      in code that is obj-y Makefile or bool Kconfig.  The advantage
      in doing so is that module.h itself sources about 15 other headers;
      adding significantly to what we feed cpp, and it can obscure what
      headers we are effectively using.
      
      Since module.h was the source for init.h (for __init) and for
      export.h (for EXPORT_SYMBOL) we consider each obj-y/bool instance
      for the presence of either and replace as needed.  Build testing
      revealed some implicit header usage that was fixed up accordingly.
      
      Note that some bool/obj-y instances remain since module.h is
      the header for some exception table entry stuff, and for things
      like __init_or_module (code that is tossed when MODULES=n).
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/20160714001901.31603-4-paul.gortmaker@windriver.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      186f4360
  2. 06 6月, 2012 1 次提交
  3. 22 5月, 2011 2 次提交
  4. 20 5月, 2011 1 次提交
  5. 14 12月, 2010 1 次提交
  6. 16 9月, 2010 1 次提交
  7. 10 2月, 2010 1 次提交
    • S
      x86, apic: Don't use logical-flat mode when CPU hotplug may exceed 8 CPUs · 681ee44d
      Suresh Siddha 提交于
      We need to fall back from logical-flat APIC mode to physical-flat mode
      when we have more than 8 CPUs.  However, in the presence of CPU
      hotplug(with bios listing not enabled but possible cpus as disabled cpus in
      MADT), we have to consider the number of possible CPUs rather than
      the number of current CPUs; otherwise we may cross the 8-CPU boundary
      when CPUs are added later.
      
      32bit apic code can use more cleanups (like the removal of vendor checks in
      32bit default_setup_apic_routing()) and more unifications with 64bit code.
      Yinghai has some patches in works already. This patch addresses the boot issue
      that is reported in the virtualization guest context.
      
      [ hpa: incorporated function annotation feedback from Yinghai Lu ]
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1265767304.2833.19.camel@sbs-t61.sc.intel.com>
      Acked-by: NShaohui Zheng <shaohui.zheng@intel.com>
      Reviewed-by: NYinghai Lu <yinghai@kernel.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      681ee44d
  8. 19 1月, 2010 1 次提交
  9. 12 1月, 2010 1 次提交
  10. 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
  11. 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
  12. 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
  13. 21 4月, 2009 1 次提交
  14. 18 3月, 2009 2 次提交
  15. 26 2月, 2009 1 次提交
  16. 23 2月, 2009 1 次提交
  17. 18 2月, 2009 4 次提交
  18. 17 2月, 2009 3 次提交
  19. 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
  20. 21 1月, 2009 1 次提交
  21. 18 11月, 2008 1 次提交
  22. 31 7月, 2008 1 次提交
  23. 27 7月, 2008 1 次提交
  24. 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
  25. 12 7月, 2008 5 次提交
  26. 10 6月, 2008 1 次提交