Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
intc.c File Reference
#include <linux/types.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <asm/traps.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>

Go to the source code of this file.

Macros

#define EIRQ1   25
 
#define EIRQ7   31
 

Functions

void mcf_setimr (int index)
 
void mcf_clrimr (int index)
 
void mcf_maskimr (unsigned int mask)
 
void mcf_autovector (int irq)
 
void __init init_IRQ (void)
 

Variables

unsigned char mcf_irq2imr [NR_IRQS]
 

Macro Definition Documentation

#define EIRQ1   25

Definition at line 34 of file intc.c.

#define EIRQ7   31

Definition at line 35 of file intc.c.

Function Documentation

void __init init_IRQ ( void  )

The hexagon core comes with a first-level interrupt controller with 32 total possible interrupts. When the core is embedded into different systems/platforms, it is typically wrapped by macro cells that provide one or more second-level interrupt controllers that are cascaded into one or more of the first-level interrupts handled here. The precise wiring of these other irqs varies from platform to platform, and are set up & configured in the platform-specific files.

The first-level interrupt controller is wrapped by the VM, which virtualizes the interrupt controller for us. It provides a very simple, fast & efficient API, and so the fasteoi handler is appropriate for this case.

Definition at line 138 of file intc.c.

void mcf_autovector ( int  irq)

Definition at line 102 of file intc.c.

void mcf_clrimr ( int  index)

Definition at line 76 of file intc.c.

void mcf_maskimr ( unsigned int  mask)

Definition at line 83 of file intc.c.

void mcf_setimr ( int  index)

Definition at line 69 of file intc.c.

Variable Documentation

unsigned char mcf_irq2imr[NR_IRQS]

Definition at line 28 of file intc.c.