A Virtual Machine Monitor for modern Cloud workloads.
Go to file
Sebastien Boeuf b67e0b3dad vmm: Use virtio-blk to support booting from disk image
After the virtio-blk device support has been introduced in the
previous commit, the vmm need to rely on this new device to boot
from disk images instead of initrd built into the kernel.

In order to achieve the proper support of virtio-blk, this commit
had to handle a few things:

  - Register an ioevent fd for each virtqueue. This important to be
    notified from the virtio driver that something has been written
    on the queue.

  - Fix the retrieval of 64bits BAR address. This is needed to provide
    the right address which need to be registered as the notification
    address from the virtio driver.

  - Fix the write_bar and read_bar functions. They were both assuming
    to be provided with an address, from which they were trying to
    find the associated offset. But the reality is that the offset is
    directly provided by the Bus layer.

  - Register a new virtio-blk device as a virtio-pci device from the
    vm.rs code. When the VM is started, it expects a block device to
    be created, using this block device as the VM rootfs.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-05-08 08:55:09 +02:00
arch cloud-hypervisor: Add the architecture crates 2019-05-07 18:40:40 +02:00
arch_gen cloud-hypervisor: Add the architecture crates 2019-05-07 18:40:40 +02:00
devices devices: Add PCI configuration registers method to the BusDevice Trait 2019-05-08 08:55:06 +02:00
pci vmm: Use virtio-blk to support booting from disk image 2019-05-08 08:55:09 +02:00
qcow qcow: Add qcow support 2019-05-08 08:55:09 +02:00
src cloud-hypervisor: Add the --memory option 2019-05-08 08:40:42 +02:00
virtio-bindings virtio-bindings: Add virtio bindgen generated bindings 2019-05-08 08:55:06 +02:00
vm-allocator allocator: Add a basic resource allocation crate 2019-05-08 08:55:06 +02:00
vm-virtio vmm: Use virtio-blk to support booting from disk image 2019-05-08 08:55:09 +02:00
vmm vmm: Use virtio-blk to support booting from disk image 2019-05-08 08:55:09 +02:00
.gitignore cloud-hypervisor: Initial commit 2019-05-07 10:19:57 +02:00
Cargo.lock vmm: Use virtio-blk to support booting from disk image 2019-05-08 08:55:09 +02:00
Cargo.toml cloud-hypervisor: Call into the test_vm() routine 2019-05-07 16:06:21 +02:00
README.md README: Placeholder to create a usable initial repo 2019-05-06 17:08:29 +02:00

Cloud Hypervisor