Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
irq.c File Reference
#include <linux/cpumask.h>
#include <linux/hardirq.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <as-layout.h>
#include <kern_util.h>
#include <os.h>

Go to the source code of this file.

Data Structures

struct  irq_and_dev
 

Functions

void free_irqs (void)
 
void sigio_handler (int sig, struct siginfo *unused_si, struct uml_pt_regs *regs)
 
void free_irq_by_fd (int fd)
 
void reactivate_fd (int fd, int irqnum)
 
void deactivate_fd (int fd, int irqnum)
 
 EXPORT_SYMBOL (deactivate_fd)
 
int deactivate_all_fds (void)
 
unsigned int do_IRQ (int irq, struct uml_pt_regs *regs)
 
void um_free_irq (unsigned int irq, void *dev)
 
 EXPORT_SYMBOL (um_free_irq)
 
int um_request_irq (unsigned int irq, int fd, int type, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)
 
 EXPORT_SYMBOL (um_request_irq)
 
 EXPORT_SYMBOL (reactivate_fd)
 
void __init init_IRQ (void)
 
unsigned long to_irq_stack (unsigned long *mask_out)
 
unsigned long from_irq_stack (int nested)
 

Function Documentation

int deactivate_all_fds ( void  )

Definition at line 269 of file irq.c.

void deactivate_fd ( int  fd,
int  irqnum 
)

Definition at line 243 of file irq.c.

unsigned int do_IRQ ( int  irq,
struct uml_pt_regs regs 
)

Definition at line 290 of file irq.c.

EXPORT_SYMBOL ( deactivate_fd  )
EXPORT_SYMBOL ( um_free_irq  )
EXPORT_SYMBOL ( um_request_irq  )
EXPORT_SYMBOL ( reactivate_fd  )
void free_irq_by_fd ( int  fd)

Definition at line 190 of file irq.c.

void free_irqs ( void  )

Definition at line 204 of file chan_kern.c.

unsigned long from_irq_stack ( int  nested)

Definition at line 452 of file irq.c.

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 349 of file irq.c.

void reactivate_fd ( int  fd,
int  irqnum 
)

Definition at line 225 of file irq.c.

void sigio_handler ( int  sig,
struct siginfo unused_si,
struct uml_pt_regs regs 
)

Definition at line 33 of file irq.c.

unsigned long to_irq_stack ( unsigned long mask_out)

Definition at line 408 of file irq.c.

void um_free_irq ( unsigned int  irq,
void dev 
)

Definition at line 300 of file irq.c.

int um_request_irq ( unsigned int  irq,
int  fd,
int  type,
irq_handler_t  handler,
unsigned long  irqflags,
const char devname,
void dev_id 
)

Definition at line 307 of file irq.c.