summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-06 18:11:33 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-06 19:11:47 +0200
commit129eb365e030f6587ff5a4efc0f7441ae227c094 (patch)
tree87c3176271ae793104b19000f5fd92b22b55e68b
parentvalidation: Fix N/A pre-condition handling (diff)
downloadrtems-central-129eb365e030f6587ff5a4efc0f7441ae227c094.tar.bz2
spec: Fix ceiling enqueue validation
-rw-r--r--spec/rtems/sem/req/obtain.yml12
-rw-r--r--spec/score/tq/req/enqueue-ceiling.yml5
2 files changed, 10 insertions, 7 deletions
diff --git a/spec/rtems/sem/req/obtain.yml b/spec/rtems/sem/req/obtain.yml
index b9cf4858..9174851e 100644
--- a/spec/rtems/sem/req/obtain.yml
+++ b/spec/rtems/sem/req/obtain.yml
@@ -104,12 +104,6 @@ post-conditions:
pre-conditions:
- name: Class
states:
- - name: MrsP
- test-code: |
- ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE |
- RTEMS_MULTIPROCESSOR_RESOURCE_SHARING;
- text: |
- While the semaphore object is a MrsP semaphore.
- name: Counting
test-code: |
ctx->attribute_set |= RTEMS_COUNTING_SEMAPHORE;
@@ -135,6 +129,12 @@ pre-conditions:
ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY;
text: |
While the semaphore object is a priority inheritance semaphore.
+ - name: MrsP
+ test-code: |
+ ctx->attribute_set |= RTEMS_BINARY_SEMAPHORE |
+ RTEMS_MULTIPROCESSOR_RESOURCE_SHARING;
+ text: |
+ While the semaphore object is a MrsP semaphore.
test-epilogue: null
test-prologue: null
- name: Discipline
diff --git a/spec/score/tq/req/enqueue-ceiling.yml b/spec/score/tq/req/enqueue-ceiling.yml
index 6b136894..090f8e1b 100644
--- a/spec/score/tq/req/enqueue-ceiling.yml
+++ b/spec/score/tq/req/enqueue-ceiling.yml
@@ -205,7 +205,10 @@ test-action: |
TQSchedulerRecordStop( ctx->tq_ctx );
TQSurrender( ctx->tq_ctx );
- if ( ctx->other_before || ctx->other_after ) {
+ if (
+ ctx->priority != PRIO_PSEUDO_ISR &&
+ ( ctx->other_before || ctx->other_after )
+ ) {
TQSend( ctx->tq_ctx, TQ_BLOCKER_B, TQ_EVENT_MUTEX_B_RELEASE );
TQSynchronizeRunner();
}