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

No packages published