OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Mar 19, 2024 2:00 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: ToroV
PostPosted: Sun Oct 10, 2021 11:59 am 
Offline
Member
Member

Joined: Sun Apr 03, 2005 11:00 pm
Posts: 61
Location: Grenoble, France
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.


Top
 Profile  
 
 Post subject: Re: ToroV
PostPosted: Sun Oct 10, 2021 1:16 pm 
Offline
Member
Member
User avatar

Joined: Fri Sep 03, 2021 5:20 pm
Posts: 91
Ok, this sounds really interesting. Btw, are you targetting a specific ISA or a specific version of an ISA? Or are you aiming for portability between ISAs? In the long run, I mean.

Also, I'm surprised (not criticizing) by your choice of language, it was unexpected.

_________________
Writing a bootloader in under 15 minutes: https://www.youtube.com/watch?v=0E0FKjvTA0M


Top
 Profile  
 
 Post subject: Re: ToroV
PostPosted: Sun Oct 10, 2021 2:00 pm 
Offline
Member
Member

Joined: Sun Apr 03, 2005 11:00 pm
Posts: 61
Location: Grenoble, France
BigBuda wrote:
Ok, this sounds really interesting. Btw, are you targetting a specific ISA or a specific version of an ISA? Or are you aiming for portability between ISAs? In the long run, I mean.

Also, I'm surprised (not criticizing) by your choice of language, it was unexpected.


I did not think about that yet. For the moment, I am only targetting x86-64.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group