Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 May 2012 01:38:11 +0000 (18:38 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 May 2012 01:38:11 +0000 (18:38 -0700)
Pull x86/apic changes from Ingo Molnar:
 "Most of the changes are about helping virtualized guest kernels
  achieve better performance."

Fix up trivial conflicts with the iommu updates to arch/x86/kernel/apic/io_apic.c

* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic: Implement EIO micro-optimization
  x86/apic: Add apic->eoi_write() callback
  x86/apic: Use symbolic APIC_EOI_ACK
  x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it
  x86/xen/apic: Add missing #include <xen/xen.h>
  x86/apic: Only compile local function if used with !CONFIG_GENERIC_PENDING_IRQ
  x86/apic: Fix UP boot crash
  x86: Conditionally update time when ack-ing pending irqs
  xen/apic: implement io apic read with hypercall
  Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'"
  xen/x86: Implement x86_apic_ops
  x86/apic: Replace io_apic_ops with x86_io_apic_ops.

1  2 
arch/x86/kernel/apic/apic.c
arch/x86/kernel/apic/io_apic.c
arch/x86/xen/enlighten.c
arch/x86/xen/mmu.c

Simple merge
index ef0648cd7084a08c57ad3acb4b7f7fce1dbbdfea,e245365670a44b7250d860cdb9ff2d46fda11ac2..ffdc152e507dd842847ab0ee604ebbafe80cb5a2
  #define for_each_irq_pin(entry, head) \
        for (entry = head; entry; entry = entry->next)
  
- static void           __init __ioapic_init_mappings(void);
- static unsigned int   __io_apic_read  (unsigned int apic, unsigned int reg);
- static void           __io_apic_write (unsigned int apic, unsigned int reg, unsigned int val);
- static void           __io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
- static struct io_apic_ops io_apic_ops = {
-       .init   = __ioapic_init_mappings,
-       .read   = __io_apic_read,
-       .write  = __io_apic_write,
-       .modify = __io_apic_modify,
- };
- void __init set_io_apic_ops(const struct io_apic_ops *ops)
- {
-       io_apic_ops = *ops;
- }
 +#ifdef CONFIG_IRQ_REMAP
 +static void irq_remap_modify_chip_defaults(struct irq_chip *chip);
 +static inline bool irq_remapped(struct irq_cfg *cfg)
 +{
 +      return cfg->irq_2_iommu.iommu != NULL;
 +}
 +#else
 +static inline bool irq_remapped(struct irq_cfg *cfg)
 +{
 +      return false;
 +}
 +static inline void irq_remap_modify_chip_defaults(struct irq_chip *chip)
 +{
 +}
 +#endif
 +
  /*
   *      Is the SiS APIC rmw bug present ?
   *      -1 = don't know, 0 = no, 1 = yes
Simple merge
Simple merge