Changeset e0609ac in rtems for c/src/lib/libbsp/shared/include/irq-generic.h
- Timestamp:
- 03/03/14 08:49:12 (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 718124e
- Parents:
- 8b50a55
- git-author:
- Sebastian Huber <sebastian.huber@…> (03/03/14 08:49:12)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (03/06/14 08:43:58)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/shared/include/irq-generic.h
r8b50a55 re0609ac 10 10 * Based on concepts of Pavel Pisa, Till Straumann and Eric Valette. 11 11 * 12 * Copyright (c) 2008-201 2embedded brains GmbH.12 * Copyright (c) 2008-2014 embedded brains GmbH. 13 13 * 14 14 * embedded brains GmbH 15 * Obere Lagerstr. 3015 * Dornierstr. 4 16 16 * 82178 Puchheim 17 17 * Germany … … 30 30 #include <rtems/irq-extension.h> 31 31 32 #ifdef RTEMS_SMP 33 #include <rtems/score/atomic.h> 34 #endif 35 32 36 #include <bsp/irq.h> 33 37 … … 53 57 #ifndef BSP_INTERRUPT_HANDLER_TABLE_SIZE 54 58 #define BSP_INTERRUPT_HANDLER_TABLE_SIZE BSP_INTERRUPT_VECTOR_NUMBER 59 #endif 60 61 /* Internal macros for SMP support, do not use externally */ 62 #ifdef RTEMS_SMP 63 #define bsp_interrupt_disable(level) do { (void) level; } while (0) 64 #define bsp_interrupt_enable(level) do { } while (0) 65 #define bsp_interrupt_fence(order) _Atomic_Fence(order) 66 #else 67 #define bsp_interrupt_disable(level) rtems_interrupt_disable(level) 68 #define bsp_interrupt_enable(level) rtems_interrupt_enable(level) 69 #define bsp_interrupt_fence(order) do { } while (0) 55 70 #endif 56 71 … … 239 254 { 240 255 if (bsp_interrupt_is_valid_vector(vector)) { 241 bsp_interrupt_handler_entry *e =256 const bsp_interrupt_handler_entry *e = 242 257 &bsp_interrupt_handler_table [bsp_interrupt_handler_index(vector)]; 243 258 244 259 do { 245 (*e->handler)(e->arg); 260 rtems_interrupt_handler handler; 261 void *arg; 262 263 arg = e->arg; 264 bsp_interrupt_fence(ATOMIC_ORDER_ACQUIRE); 265 handler = e->handler; 266 (*handler)(arg); 267 246 268 e = e->next; 247 269 } while (e != NULL);
Note: See TracChangeset
for help on using the changeset viewer.