This PR, to some extent, completes a minimum of upcall support for Twizzler.
Currently, pre-upcall frames need to be restored by the kernel when the upcall returns (a syscall). In the future, user interrupt return instructions might make it possible to avoid a syscall here.
This PR:
Cleans up and corrects the upcall frame generation and the thread upcall register setup
Cleans up to the point of a first draft the upcall API and ABI.
Sets up some proper minimal handling of upcalls for both runtimes, allowing at least for when a thread hits an exception, that thread gets sent an upcall that ultimately will cleanly terminate the thread. Thus thread crashing is more gracefully handled than before.
Future PR:
Once the security contexts are more fully supported, we'll need to do another pass to finish the context switching feature here, and do permission checks.
This PR, to some extent, completes a minimum of upcall support for Twizzler.
Currently, pre-upcall frames need to be restored by the kernel when the upcall returns (a syscall). In the future, user interrupt return instructions might make it possible to avoid a syscall here.
This PR:
Future PR: