Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
intel_irq_remapping.c File Reference
#include <linux/interrupt.h>
#include <linux/dmar.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/jiffies.h>
#include <linux/hpet.h>
#include <linux/pci.h>
#include <linux/irq.h>
#include <asm/io_apic.h>
#include <asm/smp.h>
#include <asm/cpu.h>
#include <linux/intel-iommu.h>
#include <acpi/acpi.h>
#include <asm/irq_remapping.h>
#include <asm/pci-direct.h>
#include <asm/msidef.h>
#include "irq_remapping.h"

Go to the source code of this file.

Data Structures

struct  ioapic_scope
 
struct  hpet_scope
 

Macros

#define IR_X2APIC_MODE(mode)   (mode ? (1 << 11) : 0)
 
#define IRTE_DEST(dest)   ((x2apic_mode) ? dest : dest << 8)
 
#define SVT_NO_VERIFY   0x0 /* no verification is required */
 
#define SVT_VERIFY_SID_SQ   0x1 /* verify using SID and SQ fields */
 
#define SVT_VERIFY_BUS   0x2 /* verify bus of request-id */
 
#define SQ_ALL_16   0x0 /* verify all 16 bits of request-id */
 
#define SQ_13_IGNORE_1
 
#define SQ_13_IGNORE_2
 
#define SQ_13_IGNORE_3
 

Functions

int get_irte (int irq, struct irte *entry)
 
int __init parse_ioapics_under_ir (void)
 
int __init ir_dev_scope_init (void)
 
 rootfs_initcall (ir_dev_scope_init)
 

Variables

struct irq_remap_ops intel_irq_remap_ops
 

Macro Definition Documentation

#define IR_X2APIC_MODE (   mode)    (mode ? (1 << 11) : 0)

Definition at line 34 of file intel_irq_remapping.c.

#define IRTE_DEST (   dest)    ((x2apic_mode) ? dest : dest << 8)

Definition at line 35 of file intel_irq_remapping.c.

#define SQ_13_IGNORE_1
Value:
0x1 /* verify most significant 13 bits, ignore
* the third least significant bit
*/

Definition at line 291 of file intel_irq_remapping.c.

#define SQ_13_IGNORE_2
Value:
0x2 /* verify most significant 13 bits, ignore
* the second and third least significant bits
*/

Definition at line 292 of file intel_irq_remapping.c.

#define SQ_13_IGNORE_3
Value:
0x3 /* verify most significant 13 bits, ignore
* the least three significant bits
*/

Definition at line 293 of file intel_irq_remapping.c.

#define SQ_ALL_16   0x0 /* verify all 16 bits of request-id */

Definition at line 290 of file intel_irq_remapping.c.

#define SVT_NO_VERIFY   0x0 /* no verification is required */

Definition at line 283 of file intel_irq_remapping.c.

#define SVT_VERIFY_BUS   0x2 /* verify bus of request-id */

Definition at line 285 of file intel_irq_remapping.c.

#define SVT_VERIFY_SID_SQ   0x1 /* verify using SID and SQ fields */

Definition at line 284 of file intel_irq_remapping.c.

Function Documentation

int get_irte ( int  irq,
struct irte entry 
)

Definition at line 49 of file intel_irq_remapping.c.

int __init ir_dev_scope_init ( void  )

Definition at line 762 of file intel_irq_remapping.c.

int __init parse_ioapics_under_ir ( void  )

Definition at line 729 of file intel_irq_remapping.c.

rootfs_initcall ( ir_dev_scope_init  )

Variable Documentation

struct irq_remap_ops intel_irq_remap_ops
Initial value:
= {
.supported = intel_irq_remapping_supported,
.prepare = dmar_table_init,
.enable = intel_enable_irq_remapping,
.disable = disable_irq_remapping,
.reenable = reenable_irq_remapping,
.enable_faulting = enable_drhd_fault_handling,
.setup_ioapic_entry = intel_setup_ioapic_entry,
.set_affinity = intel_ioapic_set_affinity,
.free_irq = free_irte,
.compose_msi_msg = intel_compose_msi_msg,
.msi_alloc_irq = intel_msi_alloc_irq,
.msi_setup_irq = intel_msi_setup_irq,
.setup_hpet_msi = intel_setup_hpet_msi,
}

Definition at line 1063 of file intel_irq_remapping.c.