kernel
| KrnAddIRQHandler() | KrnFmtAlertInfo() | KrnGetCPUAttr() | KrnGetSystemAttr() |
| KrnScheduleCPU() |
KrnAddIRQHandler()
Synopsis
void * KrnAddIRQHandler(
uint32_t irq,
irqhandler_t * handler,
void * handlerData,
void * handlerData2 );
Function
Add a raw hardware IRQ handler to the chain of handlers.
Inputs
num - hardware-specific IRQ number
handler - Pointer to a handler function
handlerData,
handlerData2 - User-defined data which is passed to the
handler.
Handler function uses a C calling convention and must be
declared as follows:
void IRQHandler(void *handlerData, void *handlerData2)
handlerData and handlerData2 will be values passed to the
KrnAddExceptionHandler() function.
There is no return code for the IRQ handler.
Result
An opaque handle that can be used for handler removal or NULL in case of failure (like unsupported exception number).
See also
KrnFmtAlertInfo()
Synopsis
void KrnFmtAlertInfo(
STRPTR * TemplatePtr,
IPTR * ParamPtr );
KrnGetCPUAttr()
Synopsis
intptr_t KrnGetCPUAttr(
uint32_t id,
uint32_t cpu );
Function
Get the value of a per-CPU attribute, for the given CPU. See rom/kernel/getcpuattr.c for documentation.
Inputs
id - ID of the attribute to get cpu - CPU number, 0 .. KrnGetCPUCount() - 1
Result
Value of the attribute, or -1 when the attribute (or the CPU) is not known.
See also
KrnGetSystemAttr()
Synopsis
intptr_t KrnGetSystemAttr(
uint32_t id );
Function
Get value of internal system attributes. Currently defined attributes are: KATTR_Architecture [.G] (char *) - Name of architecture the kernel built for. KATTR_PeripheralBase [.G] IPTR - IO Base address for ARM peripherals
Inputs
id - ID of the attribute to get
Result
Value of the attribute
KrnScheduleCPU()
Synopsis
void KrnScheduleCPU(
void * cpu_mask );
Function
Run task scheduling sequence on all CPUs given in the cpu_mask
Inputs
None
Result
None
Notes
This entry point directly calls task scheduling routine in supervisor mode. It neither performs any checks of caller status nor obeys interrupt enable state. This function is safe to call only from within user mode. This function is considered internal, and not meant to be called by user's software.


