No docs I'm afraid :)

The thing with these examples is that the whole point of them is to describe a system that is set up with the particular hardware of the given platform.

We could come up with an example description for a vmware (as it supports both vt-x and vt-d) target, but this would likely be very unstable as there is no guarantee that two slightly different versions of an emulator won't put hardware resources at slightly different locations, rendering the configuration invalid.

In an ideal world we would have a tool that you run from Linux on your target machine (be it virtual or otherwise) and this scrapes the relevant hardware information and generates an appropriate default configuration. This is, unfortunately, something we simply have not had the resources to look into yet.

Adrian

On Thu 10-Mar-2016 12:31 PM, Julien Delange wrote:
Thanks all - it explains a lot now! Is there any paper or doc that explains how to test the VM example with an emulator or does these examples run only on the real hardware?

On Wed, Mar 9, 2016 at 5:09 PM, Adrian Danis <[email protected] <mailto:[email protected]>> wrote:

    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
    [email protected] <mailto:[email protected]>
    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.

    _______________________________________________
    Devel mailing list
    [email protected]
    https://sel4.systems/lists/listinfo/devel



_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to