[GSoC] Virtualization layer

Philipp Eppelt philipp.eppelt at mailbox.tu-dresden.de
Thu May 30 21:19:16 UTC 2013


Hi,

happy summer to all of you :)

The goal of my project is to provide a virtualization layer to ease 
virtualization of RTEMS across different hypervisors.
RTEMS will use the layer, when it needs to access the hardware, e.g. 
IRQs, and the host needs to implement the functionality and provide it 
as a library to RTEMS.

On the project's wiki page, I write about the design and the different 
approaches that came to mind [0].

Two challenging problems await me:
1) Cleanly split the CPU code between score/cpu/i386 and libcpu/i386.
Why? Because i386 has instructions, forbidden in virtual environments, 
e.g. cli,sti,hlt. So the CPU code needs to take this into account.
2) Build the host code on POK and provide the library. As POK is a 
partitioned system, using software partitions to separate different 
applications, it will be challenging to build the library and later run 
RTEMS in exactly this partition.

In the best case, I can implement the layer in two parts, one for the 
CPU and one for the BSP. This would make the BSP reusable on different 
architectures and only the CPU part needs to be rewritten (and of course 
the score-libcpu part).

If I got you interested you can read up about my solutions to this on 
the wiki page [0].
You can find my code on github [1], for the moment split up into a 
virt-bsp and a virt-cpu branch.

So I hope I could deliver a good overview over my project and you are 
now as excited as I am. :)

Regards,
Philipp



[0] 
http://wiki.rtems.org/wiki/index.php/GSOC_2013_-_Paravirtualization_of_RTEMS
[1] https://github.com/phipse/rtems



More information about the users mailing list