|
RetroArch
|
#include <stdlib.h>#include <string.h>#include "asm.h"#include "cache.h"#include "context.h"#include "processor.h"#include "lwp_threads.h"#include "irq.h"#include "console.h"Classes | |
| struct | irq_handler_s |
Macros | |
| #define | CPU_STACK_ALIGNMENT 8 |
| #define | CPU_MINIMUM_STACK_FRAME_SIZE 16 |
| #define | _SHIFTL(v, s, w) ((u32) (((u32)(v) & ((0x01 << (w)) - 1)) << (s))) |
| #define | _SHIFTR(v, s, w) ((u32)(((u32)(v) >> (s)) & ((0x01 << (w)) - 1))) |
Functions | |
| void | __exception_load (u32, void *, u32, void *) |
| void | c_irqdispatcher (frame_context *ctx) |
| static u32 | __SetInterrupts (u32 iMask, u32 nMask) |
| void | __UnmaskIrq (u32 nMask) |
| void | __MaskIrq (u32 nMask) |
| void | __irq_init () |
| raw_irq_handler_t | IRQ_Request (u32 nIrq, raw_irq_handler_t pHndl, void *pCtx) |
| Register an interrupt handler. More... | |
| raw_irq_handler_t | IRQ_GetHandler (u32 nIrq) |
| Get the handler from interrupt number. More... | |
| raw_irq_handler_t | IRQ_Free (u32 nIrq) |
| Free an interrupt handler. More... | |
| u32 | IRQ_Disable () |
| Disable the complete IRQ subsystem. No interrupts will be served. Multithreading kernel fully disabled. More... | |
| void | IRQ_Restore (u32 level) |
| Restore the IRQ subsystem with the given level. This is function should be used together with IRQ_Disable() More... | |
Variables | |
| struct irq_handler_s | __attribute__ |
| static u64 | spuriousIrq = 0 |
| static u32 | prevIrqMask = 0 |
| static u32 | currIrqMask = 0 |
| static struct irq_handler_s | g_IRQHandler [32] |
| static vu32 *const | _piReg = (u32*)0xCC003000 |
| static vu16 *const | _memReg = (u16*)0xCC004000 |
| static vu16 *const | _dspReg = (u16*)0xCC005000 |
| static u32 const | _irqPrio [] |
| s8 | irqhandler_start [] |
| s8 | irqhandler_end [] |
| u8 | __intrstack_addr [] |
| u8 | __intrstack_end [] |
| return | |
| #define CPU_MINIMUM_STACK_FRAME_SIZE 16 |
| #define CPU_STACK_ALIGNMENT 8 |
| void c_irqdispatcher | ( | frame_context * | ctx | ) |
Disable the complete IRQ subsystem. No interrupts will be served. Multithreading kernel fully disabled.
| raw_irq_handler_t IRQ_Free | ( | u32 | nIrq | ) |
Free an interrupt handler.
| [in] | nIrq | interrupt number for which to free the handler |
| raw_irq_handler_t IRQ_GetHandler | ( | u32 | nIrq | ) |
Get the handler from interrupt number.
| [in] | nIrq | interrupt number for which to retrieve the handler |
| raw_irq_handler_t IRQ_Request | ( | u32 | nIrq, |
| raw_irq_handler_t | pHndl, | ||
| void * | pCtx | ||
| ) |
Register an interrupt handler.
| [in] | nIrq | interrupt number to which to register the handler |
| [in] | pHndl | pointer to the handler callback function which to call when interrupt has triggered |
| [in] | pCtx | pointer to user data to pass with, when handler is called |
Restore the IRQ subsystem with the given level. This is function should be used together with IRQ_Disable()
| [in] | level | IRQ level to restore to. |
| struct irq_handler_s __attribute__ |
| u8 __intrstack_addr[] |
| u8 __intrstack_end[] |
|
static |
|
static |
| s8 irqhandler_end[] |
| s8 irqhandler_start[] |
|
static |
| return |
|
static |
1.8.15