DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: os Rolle: heuristic Konfidenz: 75%

SNIP_CLASSIC_OS_SECTION_7_9_28_1_Requirements

Quelle: SWS_OS.pdf (Seite 115) • Ziel-Anforderung: SWS_Os_00709

Wortlaut

7.9.28.1 Requirements [SWS_Os_00648] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall provide a spinlock mechanism that works across cores.⌋ [SWS_Os_00649] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall provide a GetSpinlock function which occupies a spinlock. If the spinlock is already occupied, GetSpinlock shall keep on trying to occupy the spinlock until it succeeds.⌋ [SWS_Os_00650] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈GetSpinlock shall be callable from Task level.⌋ [SWS_Os_00651] Upstream requirements: SRS_Os_80021 ⌈GetSpinlock shall be callable from Category 2 ISR level.⌋ The behavior of GetSpinlock is undefined if called from a category 1 ISR [SWS_Os_00652] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall provide a TryToGetSpinlock function which occupies a spinlock. If the spinlock is already occupied by a Task, TryToGetSpinlock shall return.⌋ [SWS_Os_00653] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈TryToGetSpinlock shall be callable from Task level.⌋ [SWS_Os_00654] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈TryToGetSpinlock shall be callable from Category 2 ISR level.⌋ [SWS_Os_00655] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall provide a ReleaseSpinlock function which releases an occupied spinlock. If the spinlock is not occupied an error shall be returned.⌋ [SWS_Os_00656] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈ReleaseSpinlock shall be callable from Task level.⌋ [SWS_Os_00657] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈ReleaseSpinlock shall be callable from Category 2 ISR level.⌋ [SWS_Os_00658] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall generate an error if a Task tries to occupy a spinlock that is assigned to a Task/Category 2 ISR on the same core (including itself).⌋ [SWS_Os_00659] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall generate an error if an Category 2 ISR tries to occupy a spinlock that is assigned to a Task/Category 2 ISR on the same core.⌋ [SWS_Os_00660] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈A unique order in which multiple spinlocks can be occupied by a Task/Category 2 ISR on one core should be configurable in the AUTOSAR Operating System. This might be realized by the configuration item (OsSpinlockSuccessor{NEXT_SPINLOCK}) where NEXT_SPINLOCK refers to the consecutive spinlock. (See OsSpinlockSuccessor)⌋ [SWS_Os_00661] Upstream requirements: SRS_Os_80018, SRS_Os_80021 ⌈The AUTOSAR Operating System shall generate an error if a Task/Category 2 ISR on a core, where the same or a different Task/ISR already holds a spinlock, tries to seize another spinlock that has not been configured as a direct or indirect successor of the latest acquired spinlock (by means of the OsSpinlockSuccessor configuration parameter) or if no successor is configured.⌋

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

TryToGetSpinlock nesting deadlock error

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_OS.pdf
Dokumentseite Seite 115
Ziel-Modul os (classic)
Ziel-Anforderung SWS_Os_00709
Semantische Rolle heuristic
Automatisierungs-Konfidenz 0.75