diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-20 14:48:14 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-07-20 14:48:14 +0000 |
commit | 260e09260a8bf7c5a8451892039beeab688586b7 (patch) | |
tree | ea99b02272dcec0ead35c7a2baa14197be65b58a /testsuites/sptests/spintrcritical_support | |
parent | 72ea4cc86f6e728792392e67809594006ed10c50 (diff) |
2009-07-20 Joel Sherrill <joel.sherrill@OARcorp.com>
* spintrcritical_support/intrcritical.c,
spintrcritical_support/intrcritical.h: Change prototype of delay
method to indicate when counter is reset. This can be used to count
how many iterations we are doing.
Diffstat (limited to 'testsuites/sptests/spintrcritical_support')
-rw-r--r-- | testsuites/sptests/spintrcritical_support/intrcritical.c | 10 | ||||
-rw-r--r-- | testsuites/sptests/spintrcritical_support/intrcritical.h | 11 |
2 files changed, 18 insertions, 3 deletions
diff --git a/testsuites/sptests/spintrcritical_support/intrcritical.c b/testsuites/sptests/spintrcritical_support/intrcritical.c index 63d1b12654..7d1d3ecb0c 100644 --- a/testsuites/sptests/spintrcritical_support/intrcritical.c +++ b/testsuites/sptests/spintrcritical_support/intrcritical.c @@ -57,10 +57,11 @@ void interrupt_critical_section_test_support_initialize( #endif } -void interrupt_critical_section_test_support_delay(void) +bool interrupt_critical_section_test_support_delay(void) { uint32_t counter; Watchdog_Interval initial; + bool retval; if (TSR) { rtems_status_code rc; @@ -72,8 +73,12 @@ void interrupt_critical_section_test_support_delay(void) /* * Count down */ - if ( !Maximum_current ) + if ( !Maximum_current ) { Maximum_current = Maximum; + retval = true; + } else + retval = false; + initial = _Watchdog_Ticks_since_boot; for (counter=Maximum_current ; counter ; counter--) if ( initial != _Watchdog_Ticks_since_boot ) @@ -84,4 +89,5 @@ void interrupt_critical_section_test_support_delay(void) /* * Return so the test can try to generate the condition */ + return retval; } diff --git a/testsuites/sptests/spintrcritical_support/intrcritical.h b/testsuites/sptests/spintrcritical_support/intrcritical.h index 4b523a656d..fb0f2ed26f 100644 --- a/testsuites/sptests/spintrcritical_support/intrcritical.h +++ b/testsuites/sptests/spintrcritical_support/intrcritical.h @@ -21,6 +21,15 @@ void interrupt_critical_section_test_support_initialize( rtems_timer_service_routine (*tsr)( rtems_id, void * ) ); -void interrupt_critical_section_test_support_delay(void); +/** + * @brief Delay Test Support + * + * This method delays a varying amount of time each call. + * + * @return This method returns true each time the delay counter has + * to be reset. + */ +bool interrupt_critical_section_test_support_delay(void); + #endif |