+ * It is highly inspired from the syscalls in a regular operating system, allowing the user code to get some specific
+ * code executed in the kernel context. But here, there is almost no security involved. Parameters get checked for
+ * finiteness but that's all. The main goal remain to ensure reproducible ordering of uncomparable events (in
+ * [parallel] simulation) and observability of events (in model-checking).
+ *
+ * The code passed as argument is supposed to terminate at the exact same simulated timestamp.
+ * Do not use it if your code may block waiting for a subsequent event, e.g. if you lock a mutex,
+ * you may need to wait for that mutex to be unlocked by its current owner.
+ * Potentially blocking simcall must be issued using simcall_blocking(), right below in this file.