--- testsuites/smptests/smpcache01/init.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/testsuites/smptests/smpcache01/init.c b/testsuites/smptests/smpcache01/init.c index dd2f9f1..48154d4 100644 --- a/testsuites/smptests/smpcache01/init.c +++ b/testsuites/smptests/smpcache01/init.c @@ -20,6 +20,8 @@ const char rtems_test_name[] = "SMPCACHE 1"; +char test_is_applicable = 1; + #define CPU_COUNT 32 #define WORKER_PRIORITY 100 @@ -33,7 +35,19 @@ _Cache_manager_Send_smp_msg( Cache_manager_Function_ptr func, const void * addr, size_t size - ); + ) __attribute__((weak)); + +void +_Cache_manager_Send_smp_msg( + const size_t setsize, + const cpu_set_t *set, + Cache_manager_Function_ptr func, + const void * addr, + size_t size + ) +{ + test_is_applicable = 0; +} typedef struct { SMP_barrier_Control barrier; @@ -44,6 +58,11 @@ static test_context ctx = { .barrier = SMP_BARRIER_CONTROL_INITIALIZER, }; +static void test_applicable( const void *d_addr, size_t n_bytes ) +{ + test_is_applicable = 1; +} + static void test_cache_message( const void *d_addr, size_t n_bytes ) { rtems_test_assert(n_bytes == 123); @@ -260,12 +279,16 @@ static void test_smp_cache_manager( void ) all_tests(); } - static void Init(rtems_task_argument arg) { TEST_BEGIN(); - test_smp_cache_manager(); + _Cache_manager_Send_smp_msg( 0, 0, test_applicable, 0, 123 ); + + if ( test_is_applicable ) + test_smp_cache_manager(); + else + printf("Test not applicable!\n"); TEST_END(); rtems_test_exit(0); -- 2.1.0 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel