[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