Skip to content

shubham0d/ProtoVirt

Repository files navigation

ProtoVirt

(A minimalistic hypervisor)

Ever thought how hypervisor works to provide a virtual enviornment?
Are hypervisor complex to create?
Yes, they are complex and even more when you are following Intel's developer manual for this.
To explain this complex process I have started this project to create my own hypervisor in linux. It will help understanding what minimal VT-X functionality you require as well as what bits to set and what not.
I have developed it as linux kernel module and will try to keep it update with new functionalities.
Technical explanation can be found in this blog series: https://nixhacker.com/developing-hypervisior-from-scratch-part-1/

Usage

Step 1: make
Step 2: sudo insmod protovirt.ko

Modifications

guest_code() is the function that will run after vmlaunch (VM Non-root code). Change it according to your requirement. Don't forget to update GUEST_STACK_SIZE macro for bigger stack for guest.

About

An ongoing attempt to create own hypervisior from scratch in linux.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors