/ProtoVirt

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

Primary LanguageMakefileGNU General Public License v3.0GPL-3.0

ProtoVirt

(A minimalistic hypervisor)

Ever tought how hypervisor works to provide a virtual enviornment?
Is hypervisor are complex to create? Yes, they are complex and even more when you are following it though the Intel's developer manual.
To explain this complex process I have started this project to create my own hypervisor in linux. It will help you to understand 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 continously adding new functionality.

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.