#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.
|
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) |
|
unsigned long from_irq_stack |
( |
int |
nested | ) |
|
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.
Definition at line 33 of file irq.c.
unsigned long to_irq_stack |
( |
unsigned long * |
mask_out | ) |
|