--- Cannot embed stylesheet: [Errno 2] No such file or directory: '../../../aros.css' --->
| KrnAddIRQHandler() | KrnFmtAlertInfo() | KrnGetCPUAttr() | KrnGetSystemAttr() |
| KrnScheduleCPU() |
void * KrnAddIRQHandler(
uint32_t irq,
irqhandler_t * handler,
void * handlerData,
void * handlerData2 );
Add a raw hardware IRQ handler to the chain of handlers.
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.
An opaque handle that can be used for handler removal or NULL in case of failure (like unsupported exception number).
void KrnFmtAlertInfo(
STRPTR * TemplatePtr,
IPTR * ParamPtr );
intptr_t KrnGetCPUAttr(
uint32_t id,
uint32_t cpu );
Get the value of a per-CPU attribute, for the given CPU. See rom/kernel/getcpuattr.c for documentation.
id - ID of the attribute to get cpu - CPU number, 0 .. KrnGetCPUCount() - 1
Value of the attribute, or -1 when the attribute (or the CPU) is not known.
intptr_t KrnGetSystemAttr(
uint32_t id );
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
id - ID of the attribute to get
Value of the attribute
void KrnScheduleCPU(
void * cpu_mask );
Run task scheduling sequence on all CPUs given in the cpu_mask
None
None
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.