# HG changeset patch # User nickg # Date 1060191150 0 # Node ID 10a36d0fd6f3490feb62716fb777cf5f55b9a776 # Parent aacbd943879a5e1167434a6cd8769924dd8a5245 * src/drv_api.c: Added definition of cyg_interrupt_post_dsr() for use in those HALs that need it. * include/hal_arbiter.h (hal_call_isr): Removed ifdef on CYGFUN_HAL_COMMON_KERNEL_SUPPORT around test and call to cyg_interrupt_post_dsr(). diff --git a/packages/hal/common/current/ChangeLog b/packages/hal/common/current/ChangeLog --- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,3 +1,12 @@ +2003-08-06 Bob Koninckx + + * src/drv_api.c: Added definition of cyg_interrupt_post_dsr() for + use in those HALs that need it. + + * include/hal_arbiter.h (hal_call_isr): Removed ifdef on + CYGFUN_HAL_COMMON_KERNEL_SUPPORT around test and call to + cyg_interrupt_post_dsr(). + 2003-07-21 Nick Garnett * doc/hal.sgml: Reorganized description of clock and timer related diff --git a/packages/hal/common/current/include/hal_arbiter.h b/packages/hal/common/current/include/hal_arbiter.h --- a/packages/hal/common/current/include/hal_arbiter.h +++ b/packages/hal/common/current/include/hal_arbiter.h @@ -106,11 +106,9 @@ hal_call_isr (cyg_uint32 vector) isr_ret = (*isr) (vector, data); -#ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT if (isr_ret & CYG_ISR_CALL_DSR) { cyg_interrupt_post_dsr (hal_interrupt_objects[vector]); } -#endif return isr_ret & ~CYG_ISR_CALL_DSR; } diff --git a/packages/hal/common/current/src/drv_api.c b/packages/hal/common/current/src/drv_api.c --- a/packages/hal/common/current/src/drv_api.c +++ b/packages/hal/common/current/src/drv_api.c @@ -143,6 +143,15 @@ cyg_interrupt_call_pending_DSRs(void) call_dsrs(); } +//-------------------------------------------------------------------------- +// This is called from springboard ISRs in some HALs. + +externC void +cyg_interrupt_post_dsr(CYG_ADDRWORD data) +{ + cyg_interrupt * intr = (cyg_interrupt *)data; + post_dsr(intr); +} //-------------------------------------------------------------------------- // Interrupt end function called from HAL VSR to tidy up. This is where