diff options
Diffstat (limited to 'c/src/librtems++')
-rw-r--r-- | c/src/librtems++/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/librtems++/src/rtemsInterrupt.cc | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/c/src/librtems++/ChangeLog b/c/src/librtems++/ChangeLog index 6c64385cbc..ceccfe9f34 100644 --- a/c/src/librtems++/ChangeLog +++ b/c/src/librtems++/ChangeLog @@ -1,3 +1,8 @@ +2009-08-06 Chris Johns <chrisj@rtems.org> + + * src/rtemsInterrupt.cc: Fixed the code to compile on targets with + CPU_SIMPLE_VECTORED_INTERRUPTS defined to true. + 2008-12-16 Joel Sherrill <joel.sherrill@oarcorp.com> * include/rtems++/rtemsEvent.h, include/rtems++/rtemsMessageQueue.h, diff --git a/c/src/librtems++/src/rtemsInterrupt.cc b/c/src/librtems++/src/rtemsInterrupt.cc index 21b875b414..6d92d592f4 100644 --- a/c/src/librtems++/src/rtemsInterrupt.cc +++ b/c/src/librtems++/src/rtemsInterrupt.cc @@ -75,10 +75,13 @@ const rtems_status_code rtemsInterrupt::isr_catch(const rtems_vector_number vec) interrupt_table[vec] = this; vector = vec; +#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) set_status_code(rtems_interrupt_catch(redirector, vector, &old_handler)); - +#else + set_status_code(RTEMS_NOT_DEFINED); +#endif if (successful()) caught = true; else @@ -96,10 +99,13 @@ const rtems_status_code rtemsInterrupt::release(void) { if (caught) { +#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) set_status_code(rtems_interrupt_catch(old_handler, vector, &old_handler)); - +#else + set_status_code(RTEMS_NOT_DEFINED); +#endif interrupt_table[vector] = old_interrupt; old_interrupt = 0; old_handler = 0; |