aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-12-05 13:17:26 +0100
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-12-05 14:03:09 +0100
commit41fd52502ce7dcfcca8a67b06dab68a8e4aa35b9 (patch)
treec55ec4c79e1c35f3017608d2dae76ff493679cc5 /include
parent22a681a07ab09922435ad0a9f665290a30f6b85b (diff)
downloadfbos-41fd52502ce7dcfcca8a67b06dab68a8e4aa35b9.tar.gz
fbos-41fd52502ce7dcfcca8a67b06dab68a8e4aa35b9.zip
Add a note on HSM
The hart lottery that we do on initialization is a bit rigged. Write a note on that in the documentation of the 'hart_lottery' variable. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/fbos/init.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/fbos/init.h b/include/fbos/init.h
index 592a7f1..1684518 100644
--- a/include/fbos/init.h
+++ b/include/fbos/init.h
@@ -22,6 +22,12 @@
// full speed. Actually, keeping things under a single hart simplifies things a
// lot.
//
+// Also note that on both platforms I have tested this they had the HSM
+// extension from the SBI specification. In this case, only one hart is woken
+// up, and it's up to the supervisor to wake up the others through the HSM
+// extension. Hence, for the platforms I have tried this the lottery was rigged
+// from the beginning :)
+//
// Instantiated in kernel/main.c
extern atomic32_t hart_lottery;