![]() |
RTEMS
5.0.0
|
Generic BSP interrupt server implementation. More...
#include <stdlib.h>
#include <rtems.h>
#include <rtems/chain.h>
#include <rtems/score/assert.h>
#include <bsp/irq-generic.h>
Data Structures | |
struct | bsp_interrupt_server_context |
struct | bsp_interrupt_server_iterate_entry |
struct | bsp_interrupt_server_helper_data |
struct | bsp_interrupt_server_handler_iterate_helper_data |
Macros | |
#define | BSP_INTERRUPT_SERVER_MANAGEMENT_VECTOR (BSP_INTERRUPT_VECTOR_MAX + 1) |
Functions | |
rtems_status_code | rtems_interrupt_server_handler_install (uint32_t server_index, rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler handler, void *arg) |
Installs the interrupt handler routine handler for the interrupt vector with number vector on the server server. More... | |
rtems_status_code | rtems_interrupt_server_handler_remove (uint32_t server_index, rtems_vector_number vector, rtems_interrupt_handler handler, void *arg) |
Removes the interrupt handler routine handler with argument arg for the interrupt vector with number vector from the server server. More... | |
rtems_status_code | rtems_interrupt_server_handler_iterate (uint32_t server_index, rtems_vector_number vector, rtems_interrupt_per_handler_routine routine, void *arg) |
Iterates over all interrupt handler of the interrupt vector with number vector which are installed on the interrupt server specified by server. More... | |
rtems_status_code | rtems_interrupt_server_initialize (rtems_task_priority priority, size_t stack_size, rtems_mode modes, rtems_attribute attributes, uint32_t *server_count) |
Initializes the interrupt server tasks. More... | |
rtems_status_code | rtems_interrupt_server_entry_initialize (uint32_t server_index, rtems_interrupt_server_entry *entry) |
Initializes the specified interrupt server entry. More... | |
void | rtems_interrupt_server_action_prepend (rtems_interrupt_server_entry *entry, rtems_interrupt_server_action *action, rtems_interrupt_handler handler, void *arg) |
Prepends the specified interrupt server action to the list of actions of the specified interrupt server entry. More... | |
void | rtems_interrupt_server_entry_submit (rtems_interrupt_server_entry *entry) |
Submits the specified interrupt server entry so that its interrupt server actions can be invoked by the specified interrupt server. More... | |
void | rtems_interrupt_server_entry_destroy (rtems_interrupt_server_entry *entry) |
Destroys the specified interrupt server entry. More... | |
rtems_status_code | rtems_interrupt_server_request_initialize (uint32_t server_index, rtems_interrupt_server_request *request, rtems_interrupt_handler handler, void *arg) |
Initializes the specified interrupt server request. More... | |
rtems_status_code | rtems_interrupt_server_move (uint32_t source_server_index, rtems_vector_number vector, uint32_t destination_server_index) |
Moves the interrupt handlers installed on the specified source interrupt server to the destination interrupt server. More... | |
rtems_status_code | rtems_interrupt_server_suspend (uint32_t server_index) |
Suspends the specified interrupt server. More... | |
rtems_status_code | rtems_interrupt_server_resume (uint32_t server_index) |
Resumes the specified interrupt server. More... | |
rtems_status_code | rtems_interrupt_server_set_affinity (uint32_t server_index, size_t affinity_size, const cpu_set_t *affinity, rtems_task_priority priority) |
Sets the processor affinity of the specified interrupt server. More... | |
Generic BSP interrupt server implementation.