forked from riscv-non-isa/riscv-sbi-doc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
riscv-sbi-hsm.ditaa
31 lines (31 loc) · 2.05 KB
/
riscv-sbi-hsm.ditaa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
+-------------------+
| |
/--------->|cF78 STOPPED |----------\
| | | |sbi_hart_start()
SBI implementation| +-------------------+ |called by some
stopping hart| |other hart
| v
+ +-------------------------+ +-------------------------+
+ |cCCC STOP_PENDING | |cCCC START_PENDING |
+ +-------------------------+ +-------------------------+
^ |
sbi_hart_stop()| |SBI implementation
called by| |starting hart
hart itself| +-------------------+ |
\----------| |<---------/
|c0DB STARTED |
/--------->| |----------\
| +-------------------+ |sbi_hart_suspend()
SBI implementation| |called by
resuming hart| |hart itself
| v
+-------------------------+ +-------------------------+
|cCCC RESUME_PENDING | |cCCC SUSPEND_PENDING |
+-------------------------+ +-------------------------+
^ |
Hart recieved| |SBI implementation
an interrupt or| +-------------------+ |suspending hart
platform event| | | |
\----------|c1CF SUSPENDED |<---------/
| |
+-------------------+