summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/irq-extension.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-11 11:20:06 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-12 07:46:55 +0200
commitccc87c8b9ed61d2bcf01c5721a0336a611be970e (patch)
tree23683ea298a6bf31de5ac565aa68c779d55f4841 /cpukit/include/rtems/irq-extension.h
parentAdd interrupt server set affinity (diff)
downloadrtems-ccc87c8b9ed61d2bcf01c5721a0336a611be970e.tar.bz2
Add interrupt server move
Update #3071.
Diffstat (limited to 'cpukit/include/rtems/irq-extension.h')
-rw-r--r--cpukit/include/rtems/irq-extension.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/cpukit/include/rtems/irq-extension.h b/cpukit/include/rtems/irq-extension.h
index 9cade113ad..e3fb4c5fea 100644
--- a/cpukit/include/rtems/irq-extension.h
+++ b/cpukit/include/rtems/irq-extension.h
@@ -362,6 +362,32 @@ rtems_status_code rtems_interrupt_server_handler_iterate(
);
/**
+ * @brief Moves the interrupt handlers installed on the specified source
+ * interrupt server to the destination interrupt server.
+ *
+ * This function must be called from thread context. It may block. Calling
+ * this function within the context of an interrupt server is undefined
+ * behaviour.
+ *
+ * @param[in] source_server_index The source interrupt server index. Use
+ * @c RTEMS_INTERRUPT_SERVER_DEFAULT to specify the default server.
+ * @param[in] vector The interrupt vector number.
+ * @param[in] destination_server_index The destination interrupt server index.
+ * Use @c RTEMS_INTERRUPT_SERVER_DEFAULT to specify the default server.
+ *
+ * @retval RTEMS_SUCCESSFUL Successful operation
+ * @retval RTEMS_INCORRECT_STATE The interrupt servers are not initialized.
+ * @retval RTEMS_INVALID_ID The destination interrupt server index is invalid.
+ * @retval RTEMS_INVALID_ID The vector number is invalid.
+ * @retval RTEMS_INVALID_ID The destination interrupt server index is invalid.
+ */
+rtems_status_code rtems_interrupt_server_move(
+ uint32_t source_server_index,
+ rtems_vector_number vector,
+ uint32_t destination_server_index
+);
+
+/**
* @brief Suspends the specified interrupt server.
*
* A suspend request is sent to the specified interrupt server. This function