ao_ir_task.h
Task interrupts

Notes

This module declares functions for controlling the task interrupts as well as a callback function for the interrupt handlers. This module is abstract, that is, an implementation must be provided by a port in order to support multitasking.

Porting

The port must implement the necessary interrupt handlers, which in turn must execute the callback function. On start-up, the task interrupts must be disabled.

Include

ao_core.h
stdbool.h

Functions

ao_ir_task

void ao_ir_task(ao_core_t c);

Notifies the kernel of a task switch. This function is the callback for the task interrupt handlers. It is implemented by the ao_task_sched.h module.

ao_ir_task_enable

ao_ir_task_disable

void ao_ir_task_enable (ao_core_t c);
void ao_ir_task_disable(ao_core_t c);

Enables or disables the interrupt on the specified processor core.

ao_ir_task_request

ao_ir_task_reply

void ao_ir_task_request(ao_core_t c);
void ao_ir_task_reply  (ao_core_t c);

Requests the interrupt or replies thereto on the specified processor core.

ao_ir_task_is_pending

bool ao_ir_task_is_pending(ao_core_t c);

Determines whether the interrupt is pending on the specified processor core.