A unified event representing something happening on the child process. Wraps
nixβs WaitStatus and our custom signals so it can all be done with one
match statement.
Allows us to get common arguments from the user_regs_t across architectures.
Normally this would land us ABI hell, but thankfully all of our usecases
consist of functions with a small number of register-sized integer arguments.
See https://man7.org/linux/man-pages/man2/syscall.2.html for sources.
This is the main loop of the supervisor process. It runs in a separate
process from the rest of Miri (but because we fork, addresses for anything
created before the fork - like statics - are the same).