--- 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 );
Register a hardware IRQ handler.
irq - Hardware-specific interrupt number.
handler - IRQ callback with the signature:
void IRQHandler(void *handlerData, void *handlerData2);
handlerData - First argument passed to the callback.
handlerData2 - Second argument passed to the callback.
Opaque handler handle, or NULL if registration fails.
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 KATTR_AffinityMask [.G] IPTR - Bitmap of the CPUs, by CPU number
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.