diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-04-26 12:34:10 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-04-26 12:34:10 +0000 |
commit | 314ba53ca7082138720a173f76467a9450f1c371 (patch) | |
tree | 447bc56873da7e7709508ffa166547d935692631 /os/kernel | |
parent | e53a1a32089e2f0d1983cc92d1d4a6d28c4db07f (diff) | |
download | ChibiOS-314ba53ca7082138720a173f76467a9450f1c371.tar.gz ChibiOS-314ba53ca7082138720a173f76467a9450f1c371.tar.bz2 ChibiOS-314ba53ca7082138720a173f76467a9450f1c371.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1892 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel')
-rw-r--r-- | os/kernel/include/chsys.h | 10 | ||||
-rw-r--r-- | os/kernel/templates/chcore.h | 9 |
2 files changed, 18 insertions, 1 deletions
diff --git a/os/kernel/include/chsys.h b/os/kernel/include/chsys.h index 5c773136f..5759d0cca 100644 --- a/os/kernel/include/chsys.h +++ b/os/kernel/include/chsys.h @@ -154,12 +154,20 @@ #define CH_IRQ_EPILOGUE() PORT_IRQ_EPILOGUE()
/**
- * @brief Standard IRQ handler declaration.
+ * @brief Standard normal IRQ handler declaration.
* @note @p id can be a function name or a vector number depending on the
* port implementation.
*/
#define CH_IRQ_HANDLER(id) PORT_IRQ_HANDLER(id)
+/**
+ * @brief Standard fast IRQ handler declaration.
+ * @note @p id can be a function name or a vector number depending on the
+ * port implementation.
+ * @note Not all architectures support fast interrupts.
+ */
+#define CH_FAST_IRQ_HANDLER(id) PORT_FAST_IRQ_HANDLER(id)
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/os/kernel/templates/chcore.h b/os/kernel/templates/chcore.h index c91d45b27..bd5d824b6 100644 --- a/os/kernel/templates/chcore.h +++ b/os/kernel/templates/chcore.h @@ -146,6 +146,15 @@ struct context { */
#define PORT_IRQ_HANDLER(id) void id(void)
+/**
+ * @brief Fast IRQ handler function declaration.
+ * @note @p id can be a function name or a vector number depending on the
+ * port implementation.
+ * @note Not all architectures support fast interrupts, in this case this
+ * macro must be omitted.
+ */
+#define PORT_FAST_IRQ_HANDLER(id) void id(void)
+
#ifdef __cplusplus
extern "C" {
#endif
|