• Suresh Siddha's avatar
    x64, x2apic/intr-remap: MSI and MSI-X support for interrupt remapping infrastructure · 75c46fa6
    Suresh Siddha authored
    MSI and MSI-X support for interrupt remapping infrastructure.
    
    MSI address register will be programmed with interrupt-remapping table
    entry(IRTE) index and the IRTE will contain information about the vector,
    cpu destination, etc.
    
    For MSI-X, all the IRTE's will be consecutively allocated in the table,
    and the address registers will contain the starting index to the block
    and the data register will contain the subindex with in that block.
    
    This also introduces a new irq_chip for cleaner irq migration (in the process
    context as opposed to the current irq migration in the context of an interrupt.
    interrupt-remapping infrastructure will help us achieve this).
    
    As MSI is edge triggered, irq migration is a simple atomic update(of vector
    and cpu destination) of IRTE and flushing the hardware cache.
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    Cc: akpm@linux-foundation.org
    Cc: arjan@linux.intel.com
    Cc: andi@firstfloor.org
    Cc: ebiederm@xmission.com
    Cc: jbarnes@virtuousgeek.org
    Cc: steiner@sgi.com
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    75c46fa6
intr_remapping.c 9.61 KB