summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spmrsp01
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-03-12 14:16:30 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-03-16 14:47:25 +0100
commit0965b7c8b7956846167f43b813d68f8b5f2a60a1 (patch)
tree4c04e95b8512923fa6678413f7482e8be739fa89 /testsuites/sptests/spmrsp01
parentsp14: Fix for SMP or robust thread dispatch (diff)
downloadrtems-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.c23
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
);