diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-03-12 14:16:30 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-03-16 14:47:25 +0100 |
commit | 0965b7c8b7956846167f43b813d68f8b5f2a60a1 (patch) | |
tree | 4c04e95b8512923fa6678413f7482e8be739fa89 /testsuites/sptests/spmrsp01 | |
parent | sp14: Fix for SMP or robust thread dispatch (diff) | |
download | rtems-0965b7c8b7956846167f43b813d68f8b5f2a60a1.tar.bz2 |
rtems: Require RTEMS_PRIORITY for MrsP semaphores
MrsP semaphores are a generalization of the priority ceiling semaphores
for SMP configurations. Priority ceiling semaphores are required to use
the priority task wait queue discipline. Require this discipline also
for MrsP semaphores.
Close #4347.
Diffstat (limited to 'testsuites/sptests/spmrsp01')
-rw-r--r-- | testsuites/sptests/spmrsp01/init.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/testsuites/sptests/spmrsp01/init.c b/testsuites/sptests/spmrsp01/init.c index a5f645d534..ca35d90595 100644 --- a/testsuites/sptests/spmrsp01/init.c +++ b/testsuites/sptests/spmrsp01/init.c @@ -53,8 +53,8 @@ static void test_mrsp_create_errors(void) sc = rtems_semaphore_create( rtems_build_name('M', 'R', 'S', 'P'), 1, - RTEMS_MULTIPROCESSOR_RESOURCE_SHARING - | RTEMS_BINARY_SEMAPHORE, + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY + | RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, UINT32_MAX, &id ); @@ -63,29 +63,33 @@ static void test_mrsp_create_errors(void) create_not_defined( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING | RTEMS_COUNTING_SEMAPHORE + | RTEMS_PRIORITY ); create_not_defined( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING | RTEMS_SIMPLE_BINARY_SEMAPHORE + | RTEMS_PRIORITY ); create_not_defined( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING | RTEMS_BINARY_SEMAPHORE - | RTEMS_PRIORITY + | RTEMS_FIFO ); create_not_defined( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING | RTEMS_INHERIT_PRIORITY | RTEMS_BINARY_SEMAPHORE + | RTEMS_PRIORITY ); create_not_defined( RTEMS_MULTIPROCESSOR_RESOURCE_SHARING | RTEMS_PRIORITY_CEILING | RTEMS_BINARY_SEMAPHORE + | RTEMS_PRIORITY ); create_not_defined( @@ -93,6 +97,7 @@ static void test_mrsp_create_errors(void) | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY_CEILING | RTEMS_BINARY_SEMAPHORE + | RTEMS_PRIORITY ); } @@ -116,8 +121,8 @@ static void test_mrsp_obtain_release(void) sc = rtems_semaphore_create( rtems_build_name('M', 'R', 'S', 'P'), 1, - RTEMS_MULTIPROCESSOR_RESOURCE_SHARING - | RTEMS_BINARY_SEMAPHORE, + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | + RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, 1, &id ); @@ -202,8 +207,8 @@ static void test_mrsp_set_priority(void) sc = rtems_semaphore_create( rtems_build_name('M', 'R', 'S', 'P'), 1, - RTEMS_MULTIPROCESSOR_RESOURCE_SHARING - | RTEMS_BINARY_SEMAPHORE, + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | + RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, 1, &id ); @@ -266,8 +271,8 @@ static void test_mrsp_timeout_and_not_owner_of_resource(void) sc = rtems_semaphore_create( rtems_build_name('M', 'R', 'S', 'P'), 1, - RTEMS_MULTIPROCESSOR_RESOURCE_SHARING - | RTEMS_BINARY_SEMAPHORE, + RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | + RTEMS_MULTIPROCESSOR_RESOURCE_SHARING, 1, &id ); |