Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
iosapic.c File Reference
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <asm/byteorder.h>
#include <asm/pdc.h>
#include <asm/pdcpat.h>
#include <asm/page.h>
#include <asm/io.h>
#include <asm/ropes.h>
#include "iosapic_private.h"

Go to the source code of this file.

Macros

#define MODULE_NAME   "iosapic"
 
#define DBG(x...)
 
#define DBG_IRT(x...)
 
#define COMPARE_IRTE_ADDR(irte, hpa)   ((irte)->dest_iosapic_addr == ((hpa) | 0xffffffff00000000ULL))
 
#define IOSAPIC_REG_SELECT   0x00
 
#define IOSAPIC_REG_WINDOW   0x10
 
#define IOSAPIC_REG_EOI   0x40
 
#define IOSAPIC_REG_VERSION   0x1
 
#define IOSAPIC_IRDT_ENTRY(idx)   (0x10+(idx)*2)
 
#define IOSAPIC_IRDT_ENTRY_HI(idx)   (0x11+(idx)*2)
 
#define IOSAPIC_VERSION_MASK   0x000000ff
 
#define IOSAPIC_VERSION(ver)   ((int) (ver & IOSAPIC_VERSION_MASK))
 
#define IOSAPIC_MAX_ENTRY_MASK   0x00ff0000
 
#define IOSAPIC_MAX_ENTRY_SHIFT   0x10
 
#define IOSAPIC_IRDT_MAX_ENTRY(ver)   (int) (((ver) & IOSAPIC_MAX_ENTRY_MASK) >> IOSAPIC_MAX_ENTRY_SHIFT)
 
#define IOSAPIC_IRDT_ENABLE   0x10000
 
#define IOSAPIC_IRDT_PO_LOW   0x02000
 
#define IOSAPIC_IRDT_LEVEL_TRIG   0x08000
 
#define IOSAPIC_IRDT_MODE_LPRI   0x00100
 
#define IOSAPIC_IRDT_ID_EID_SHIFT   0x10
 

Functions

void __init iosapic_init (void)
 
int iosapic_fixup_irq (void *isi_obj, struct pci_dev *pcidev)
 
voidiosapic_register (unsigned long hpa)
 

Macro Definition Documentation

#define COMPARE_IRTE_ADDR (   irte,
  hpa 
)    ((irte)->dest_iosapic_addr == ((hpa) | 0xffffffff00000000ULL))

Definition at line 174 of file iosapic.c.

#define DBG (   x...)

Definition at line 162 of file iosapic.c.

#define DBG_IRT (   x...)

Definition at line 168 of file iosapic.c.

#define IOSAPIC_IRDT_ENABLE   0x10000

Definition at line 208 of file iosapic.c.

#define IOSAPIC_IRDT_ENTRY (   idx)    (0x10+(idx)*2)

Definition at line 184 of file iosapic.c.

#define IOSAPIC_IRDT_ENTRY_HI (   idx)    (0x11+(idx)*2)

Definition at line 185 of file iosapic.c.

#define IOSAPIC_IRDT_ID_EID_SHIFT   0x10

Definition at line 214 of file iosapic.c.

#define IOSAPIC_IRDT_LEVEL_TRIG   0x08000

Definition at line 210 of file iosapic.c.

#define IOSAPIC_IRDT_MAX_ENTRY (   ver)    (int) (((ver) & IOSAPIC_MAX_ENTRY_MASK) >> IOSAPIC_MAX_ENTRY_SHIFT)

Definition at line 204 of file iosapic.c.

#define IOSAPIC_IRDT_MODE_LPRI   0x00100

Definition at line 211 of file iosapic.c.

#define IOSAPIC_IRDT_PO_LOW   0x02000

Definition at line 209 of file iosapic.c.

#define IOSAPIC_MAX_ENTRY_MASK   0x00ff0000

Definition at line 202 of file iosapic.c.

#define IOSAPIC_MAX_ENTRY_SHIFT   0x10

Definition at line 203 of file iosapic.c.

#define IOSAPIC_REG_EOI   0x40

Definition at line 180 of file iosapic.c.

#define IOSAPIC_REG_SELECT   0x00

Definition at line 178 of file iosapic.c.

#define IOSAPIC_REG_VERSION   0x1

Definition at line 182 of file iosapic.c.

#define IOSAPIC_REG_WINDOW   0x10

Definition at line 179 of file iosapic.c.

#define IOSAPIC_VERSION (   ver)    ((int) (ver & IOSAPIC_VERSION_MASK))

Definition at line 200 of file iosapic.c.

#define IOSAPIC_VERSION_MASK   0x000000ff

Definition at line 199 of file iosapic.c.

#define MODULE_NAME   "iosapic"

Definition at line 151 of file iosapic.c.

Function Documentation

int iosapic_fixup_irq ( void isi_obj,
struct pci_dev pcidev 
)

Definition at line 720 of file iosapic.c.

void __init iosapic_init ( void  )

Definition at line 375 of file iosapic.c.

void* iosapic_register ( unsigned long  hpa)

Definition at line 835 of file iosapic.c.