ToroV
Posted: Sun Oct 10, 2021 11:59 am
Hello everyone, I have started to play with a new idea that would like to share. I am working on a minimalist Virtual Machine Monitor that exposes a POSIX API to the guest. This POSIX API is implemented as a hypercall interface. The PoC is hosted at https://github.com/torokernel/torov. The idea is that the VMM intercepts the syscalls that the app does, and invokes the corresponding service to the host. This allows to partially exposes the host to the guest. The guest does not require an OS to run. It is simply a user application in which the RTL, e.g., libc, has been modified to trigger a VMEXIT during a syscall. I have developed two examples: a simple HelloWorld, and a TCP Echo server. These examples are meant to show the use of different sorts of syscalls. To have an idea, the whole cycle of the HelloWorld example takes only about 8ms. If you have a comment or question about the design, feel free to let me know.