Files

38 lines
918 B
Plaintext

@startuml
scale max 900*520
skinparam backgroundColor transparent
skinparam shadowing false
skinparam defaultFontName "DejaVu Sans Mono"
skinparam defaultFontSize 13
skinparam objectBorderColor #2b6f8e
skinparam objectBackgroundColor #edf6fa
skinparam ArrowColor #8295a0
top to bottom direction
title A7 RUNTIME — three stacks and context-selected return
object "01 waiter TCB" as Waiter {
priority = 3
waiter_sp
state: Blocked → Running
}
object "02 stimulus TCB" as Stimulus {
priority = 2
stimulus_sp
interrupted after SET_IRQ
}
object "03 xISRStack" as ISR {
isr_sp
mcause = 0x8000000b
source_after_clear = 0
}
object "04 binary semaphore" as Sem
object "05 evidence[9]" as Evidence {
E07 waiter before E08 stimulus
}
Stimulus --> ISR : interrupt
ISR --> Sem : GiveFromISR
Sem --> Waiter : unblock
ISR --> Waiter : restore selected context
Waiter --> Evidence
Stimulus --> Evidence
@enduml