RTEMS: bsps/shared/irq/irq-server.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Functions
irq-server.c File Reference
Board Support Packages » Shared » BSP Interrupt Support

This source file contains the interrupt server implementation. More...

`#include <stdlib.h>`
`#include <string.h>`
`#include <rtems.h>`
`#include <rtems/chain.h>`
`#include <rtems/score/assert.h>`
`#include <bsp/irq-generic.h>`

## Data Structures
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.
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.
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.
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.
rtems_status_code | rtems_interrupt_server_create (rtems_interrupt_server_control *s, const rtems_interrupt_server_config *config, uint32_t *server_index)
| Creates an interrupt server.
rtems_status_code | rtems_interrupt_server_delete (uint32_t server_index)
| Destroys the interrupt server.
rtems_status_code | rtems_interrupt_server_entry_initialize (uint32_t server_index, rtems_interrupt_server_entry *entry)
| Initializes the specified interrupt server entry.
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.
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.
rtems_status_code | rtems_interrupt_server_entry_move (rtems_interrupt_server_entry *entry, uint32_t destination_server_index)
| Moves the interrupt server entry to the specified destination interrupt server.
void | rtems_interrupt_server_entry_destroy (rtems_interrupt_server_entry *entry)
| Destroys the specified interrupt server entry.
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.
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.
rtems_status_code | rtems_interrupt_server_suspend (uint32_t server_index)
| Suspends the specified interrupt server.
rtems_status_code | rtems_interrupt_server_resume (uint32_t server_index)
| Resumes the specified interrupt server.
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.

## Detailed Description

This source file contains the interrupt server implementation.