1. 29 1月, 2009 7 次提交
    • I
      x86, apic: clean up target_cpus methods · 0a9cc20b
      Ingo Molnar 提交于
      Impact: cleanup
      
      Clean up all the target_cpus() namespace overlap that exists
      between bigsmp, es7000, mach-default, numaq and summit - by
      separating the different functions into different names.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0a9cc20b
    • I
      x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE · 1b1bcb3f
      Ingo Molnar 提交于
      Impact: cleanup
      
      They were only used in a single place and obscured the apic_numaq template.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1b1bcb3f
    • I
      x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE · 9b5bc8dc
      Ingo Molnar 提交于
      Remove the wrapper macros IRQ_DEST_MODE and IRQ_DELIVERY_MODE.
      
      The typical 32-bit and the 64-bit build all dereference via the genapic,
      so it's pointless to hide that indirection via these ugly macros.
      
      Furthermore, it also obscures subarchitecture details.
      
      So replace it with apic->irq_dest_mode / etc. accesses.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9b5bc8dc
    • I
      x86, genapic: rename int_delivery_mode, et. al. · f8987a10
      Ingo Molnar 提交于
      int_delivery_mode is supposed to mean 'interrupt delivery mode', but
      it's quite a misnomer as 'int' we usually think of as an integer type ...
      
      The standard naming for such attributes is 'irq' - so rename the following
      fields and macros:
      
       int_delivery_mode => irq_delivery_mode
       INT_DELIVERY_MODE => IRQ_DELIVERY_MODE
       int_dest_mode     => irq_dest_mode
       INT_DEST_MODE     => IRQ_DEST_MODE
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f8987a10
    • I
      x86: clean up apic->apic_id_registered() methods · 7ed248da
      Ingo Molnar 提交于
      Impact: cleanup
      
      x86 subarchitectures each defined a "apic_id_registered()" method,
      which could be an inline function depending on which subarch we build
      for, and which was also the name of a genapic field.
      
      Untangle this namespace spaghetti by giving each of the instances
      a separate name.
      
      Also remove wrapper macro obfuscation.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7ed248da
    • 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, genapic: cleanup 32-bit apic_numaq template · fea3437a
      Ingo Molnar 提交于
      Clean up the APIC driver template:
      
       - order fields properly
       - use the macro names explicitly (so that they can be renamed later)
       - fill in NULL entries as well
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fea3437a
  2. 04 1月, 2009 1 次提交
  3. 17 12月, 2008 1 次提交
    • M
      x86 smp: modify send_IPI_mask interface to accept cpumask_t pointers · e7986739
      Mike Travis 提交于
      Impact: cleanup, change parameter passing
      
        * Change genapic interfaces to accept cpumask_t pointers where possible.
      
        * Modify external callers to use cpumask_t pointers in function calls.
      
        * Create new send_IPI_mask_allbutself which is the same as the
          send_IPI_mask functions but removes smp_processor_id() from list.
          This removes another common need for a temporary cpumask_t variable.
      
        * Functions that used a temp cpumask_t variable for:
      
      	cpumask_t allbutme = cpu_online_map;
      
      	cpu_clear(smp_processor_id(), allbutme);
      	if (!cpus_empty(allbutme))
      		...
      
          become:
      
      	if (!cpus_equal(cpu_online_map, cpumask_of_cpu(cpu)))
      		...
      
        * Other minor code optimizations (like using cpus_clear instead of
          CPU_MASK_NONE, etc.)
      
      Applies to linux-2.6.tip/master.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      e7986739
  4. 16 10月, 2008 1 次提交
    • Y
      x86: make 32bit support per_cpu vector · 497c9a19
      Yinghai Lu 提交于
      so we can merge io_apic_32.c and io_apic_64.c
      
      v2: Use cpu_online_map as target cpus for bigsmp, just like 64-bit is doing.
      
      Also remove some unused TARGET_CPUS macro.
      
      v3: need to check if desc is null in smp_irq_move_cleanup
      
      also migration needs to reset vector too, so copy __target_IO_APIC_irq
      from 64bit.
      
      (the duplication will go away once the two files are unified.)
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      497c9a19
  5. 26 7月, 2008 1 次提交
  6. 12 7月, 2008 1 次提交
  7. 10 6月, 2008 1 次提交