Questions about L4 virtual machines
Hi! I'm trying to port an OSEK OS to L4. I know that a guest OS runs as a L4 process from Fiasco's point of view. But I have also noticed relevent APIs such as the l4vcpu_* family, VM API for SVM, VMX, and TZ, and the vCPU API of threads. My questions are as follows: 1. What are the differences between a VM and an ordinary process? 2. Is it possible to run a guest OS without utilizing VM/vCPU APIs? 3. What does a guest OS have to do in order to run on L4Re and Fiasco? Is there a guide for doing this? I'm new to L4 and probably need concrete instructions. Thank you in advance!
On Mon, Jul 09, 2012 at 05:02:07PM +0800, ZhangEditing wrote:
2. Is it possible to run a guest OS without utilizing VM/vCPU APIs?
Yes. Earlier versions of L4Linux did that.
3. What does a guest OS have to do in order to run on L4Re and Fiasco? Is there a guide for doing this?
Maybe you should start reading the master thesis on how OpenBSD was ported to Fiasco.OC (Porting OpenBSD to Fiasco [1]). Matthias. [1] http://www.isti.tu-berlin.de/security_in_telecommunications/menue/teaching/d... -- Dipl.-Inf. Matthias Lange <mlange@sec.t-labs.tu-berlin.de> Security in Telecommunications TU Berlin / Telekom Innovation Laboratories Ernst-Reuter-Platz 7, 10587 Berlin Phone: +49 - 30 - 8353 58 553 Mobile: +49 - 160 - 587 28 07 Web: http://www.t-labs.tu-berlin.de/sect
Hi, On Mon Jul 09, 2012 at 17:02:07 +0800, ZhangEditing wrote:
1. What are the differences between a VM and an ordinary process?
A VM can be a nested page table, and can be used in conjunction with VM* operations to enter a VM etc. Support for VT/SVM is built using VMs to cover the extra functionality required. Besides that memory can be mapped into a VM as it can be mapped into a normal task. Specifically a VM is derived from a task. Adam -- Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
participants (3)
-
Adam Lackorzynski -
Matthias Lange -
ZhangEditing