kernel
KrnAddIRQHandler() | KrnFmtAlertInfo() | 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 );
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.