The x86 VMM requires both vt-x and vt-d support. vt-x support is easy enough with qemu+kvm, but I'm not sure what the vt-d support is like. I know vmware supports emulating both vt-x and vt-d.

That is the easy part though. Due to the the way CAmkES and capDL presently work all hardware resources (interrupts, memory mapped IO regions, PCI IOSpaces, etc) must all be described statically offline. For this reason I would not recommend starting with the c162 configuration, as it has many devices described all from a particular hardware board.

I would suggest starting with the optiplex9020_onevm configuration, as the only additional resources specified are for additional memory. See the 'vm0_config.ram = ...' line in apps/optiplex9020_onevm/optiplex9020.camkes. This describes a list of physical memory regions of the form (paddr, n) where the size of the region = 2^n bytes.

Adrian

On Thu 10-Mar-2016 7:26 AM, Corey Richardson wrote:
On Wed, Mar 09, 2016 at 03:10:58PM -0500, Julien Delange wrote:
Any idea about how to run this example with qemu and/or how to test it?

Assuming you're on Linux, to run hypervisors in qemu you'll need to enable
nested vmx. There's some basic instructions here:

    http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/virtual/kvm/nested-vmx.txt#n45

Additionally, you can nest deeper than the two levels described in that
document, but it will get *extremely* slow, so I would not recommend trying
it.

(There may be other nuances in testing that particular project, but I am not
personally aware of them.)



_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel




The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.