Henry Wang
0d01eac1d4
vmm: Do the downcast of GicDevice in a safer way for AArch64
...
Downcasting of GicDevice trait might fail. Therefore we try to
downcast the trait first and only if the downcasting succeeded we
can then use the object to call methods. Otherwise, do nothing and
log the failure.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2021-09-02 15:18:41 +01:00
Henry Wang
46c60183cd
arch, vmm: Implement GIC Pausable trait
...
This commit implements the GIC (including both GICv3 and GICv3ITS)
Pausable trait. The pause of device manager will trigger a "pause"
of GIC, where we flush GIC pending tables and ITS tables to the
guest RAM.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2021-09-02 15:18:41 +01:00
Bo Chen
7b80709595
build: Add Jenkinsfile entry for live-migration integration tests
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-09-02 14:57:31 +01:00
Bo Chen
a1a0bc8592
scripts: Add entry for live-migration integration tests
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-09-02 14:57:31 +01:00
Bo Chen
92a506fb06
tests: Add the integration test for live migration
...
This test exercises the local live-migration between two Cloud
Hypervisor VMs on the same host. It ensures the following behaviors:
1. The source VM is up and functional (including various virtio-devices
are working properly);
2. The 'send-migration' and 'receive-migration' command finished
successfully;
3. The source VM terminated gracefully after live migration;
4. The destination VM is functional (including various virtio-devices
are working properly) after live migration.
Note: This test does not use vsock as we can't create two identical
vsock on the same host.
Fixes : #2965
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-09-02 14:57:31 +01:00
Bo Chen
72eb533f56
tests: Refactor test_snapshot_restore
...
This patch adds a dedicate function to include the common checks on the
virtio-devices from the 'test_snapshot_restore' test, which will also be
reused for the upcoming 'test_live_migration' test.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-09-02 14:57:31 +01:00
Rob Bradford
66f0b5b2b6
vmm: Open the serial PTY in non-blocking mode
...
This prevents the boot of the guest kernel from being blocked by
blocking I/O on the serial output since the data will be buffered into
the SerialBuffer.
Fixes : #3004
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-09-02 13:52:18 +01:00
Rob Bradford
d92707afc5
vmm: Introduce a SerialBuffer for buffering serial output
...
Introduce a dynamic buffer for storing output from the serial port. The
SerialBuffer implements std::io::Write and can be used in place of the
direct output for the serial device.
The internals of the buffer is a vector that grows dynamically based on
demand up to a fixed size at which point old data will be overwritten.
Currently the buffer is only flushed upon writes.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-09-02 13:52:18 +01:00
Alyssa Ross
9a634f07cb
build: update Cargo for rust-vmm branch renames
...
The rust-vmm crates we're pulling from git have renamed their main
branches. We need to update the branch names we're giving to Cargo,
or people who don't have these dependencies cached will get errors
like this when trying to build:
error: failed to get `vm-fdt` as a dependency of package `arch v0.1.0 (/home/src/cloud-hypervisor/arch)`
Caused by:
failed to load source for dependency `vm-fdt`
Caused by:
Unable to update https://github.com/rust-vmm/vm-fdt?branch=master#031572a6
Caused by:
object not found - no match for id (031572a6edc2f566a7278f1e17088fc5308d27ab); class=Odb (9); code=NotFound (-3)
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2021-09-02 10:38:25 +01:00
Rob Bradford
d475b953b8
build: Temporarily disable baremetal testing
...
The system has gone offline.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-09-02 09:32:52 +01:00
dependabot[bot]
c331d6b8cd
build: bump vfio-ioctls from d9ee828
to bc30df3
...
Bumps [vfio-ioctls](https://github.com/rust-vmm/vfio-ioctls ) from `d9ee828` to `bc30df3`.
- [Release notes](https://github.com/rust-vmm/vfio-ioctls/releases )
- [Commits](d9ee828538...bc30df33be
)
---
updated-dependencies:
- dependency-name: vfio-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 15:50:54 +00:00
Rob Bradford
4ef4a22e02
build: Update vfio_user's vm-memory dependency
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-09-01 16:16:44 +02:00
dependabot[bot]
ae1ffeacec
build: bump signal-hook from 0.3.9 to 0.3.10 in /fuzz
...
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.3.9 to 0.3.10.
- [Release notes](https://github.com/vorner/signal-hook/releases )
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.9...v0.3.10 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 00:56:42 +00:00
dependabot[bot]
79486d1964
build: bump cc from 1.0.69 to 1.0.70 in /fuzz
...
Bumps [cc](https://github.com/alexcrichton/cc-rs ) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases )
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.69...1.0.70 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 00:56:37 +00:00
dependabot[bot]
19ed8b329a
build: bump cc from 1.0.69 to 1.0.70
...
Bumps [cc](https://github.com/alexcrichton/cc-rs ) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases )
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.69...1.0.70 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 00:56:22 +00:00
dependabot[bot]
b30a95f69a
build: bump signal-hook from 0.3.9 to 0.3.10
...
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.3.9 to 0.3.10.
- [Release notes](https://github.com/vorner/signal-hook/releases )
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.9...v0.3.10 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 00:56:16 +00:00
Rob Bradford
63637eba31
vmm: Simplify epoll handling for VMM main loop
...
Remove the indirection of a dispatch table and simply use the enum as
the event data for the events.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-31 21:30:11 +01:00
Henry Wang
d74a219add
hypervisor: Remove useless check when saving Arm SystemRegs
...
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2021-08-31 09:53:57 +02:00
dependabot[bot]
4e5cbd27bb
build: bump vm-fdt from 146f55c
to 031572a
...
Bumps [vm-fdt](https://github.com/rust-vmm/vm-fdt ) from `146f55c` to `031572a`.
- [Release notes](https://github.com/rust-vmm/vm-fdt/releases )
- [Commits](146f55c09a...031572a6ed
)
---
updated-dependencies:
- dependency-name: vm-fdt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 23:43:45 +00:00
dependabot[bot]
bc7ffdce95
build: bump proc-macro2 from 1.0.28 to 1.0.29 in /fuzz
...
Bumps [proc-macro2](https://github.com/alexcrichton/proc-macro2 ) from 1.0.28 to 1.0.29.
- [Release notes](https://github.com/alexcrichton/proc-macro2/releases )
- [Commits](https://github.com/alexcrichton/proc-macro2/compare/1.0.28...1.0.29 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 23:34:18 +00:00
dependabot[bot]
22d7398139
build: bump proc-macro2 from 1.0.28 to 1.0.29
...
Bumps [proc-macro2](https://github.com/alexcrichton/proc-macro2 ) from 1.0.28 to 1.0.29.
- [Release notes](https://github.com/alexcrichton/proc-macro2/releases )
- [Commits](https://github.com/alexcrichton/proc-macro2/compare/1.0.28...1.0.29 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 23:34:12 +00:00
Jiaqi Gao
a90260ffb6
hypervisor: kvm: Update TDX command INIT_VM
...
Definition of kvm_tdx_init_vm used by INIT_VM has been updated in latest
kernel, needing an update on the Cloud Hypervisor side as well.
Update structure TdxInitVm to fit this change and avoid -EINVAL to be
returned by the kernel.
Signed-off-by: Jiaqi Gao <jiaqi.gao@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2021-08-30 10:24:37 -07:00
Sebastien Boeuf
f3793c08b5
resources: Update to guest kernel 5.14
...
Moving to the latest kernel 5.14 simplifies greatly the list of patches
that we need to carry. Since virtio-iommu has been merged as part of the
5.14 release, the only remaining patches are virtio-watchdog and the EFI
reboot.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2021-08-30 10:23:57 -07:00
dependabot[bot]
8841e63e2d
build: bump thiserror from 1.0.26 to 1.0.28
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.26 to 1.0.28.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.26...1.0.28 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 06:02:02 +00:00
dependabot[bot]
4d673de0fb
build: bump object from 0.26.1 to 0.26.2
...
Bumps [object](https://github.com/gimli-rs/object ) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.26.1...0.26.2 )
---
updated-dependencies:
- dependency-name: object
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 05:50:51 +00:00
dependabot[bot]
e877718b29
build: bump serde from 1.0.129 to 1.0.130
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 05:23:16 +00:00
dependabot[bot]
744b5799a3
build: bump serde_derive from 1.0.129 to 1.0.130 in /fuzz
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde_derive
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 01:33:07 +00:00
dependabot[bot]
b0d8b50b36
build: bump serde_derive from 1.0.129 to 1.0.130
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde_derive
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 00:23:14 +00:00
dependabot[bot]
2349b7e753
build: bump serde_json from 1.0.66 to 1.0.67
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.66 to 1.0.67.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.66...v1.0.67 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 23:28:14 +00:00
dependabot[bot]
45d698ae72
build: bump thiserror from 1.0.26 to 1.0.28 in /fuzz
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.26 to 1.0.28.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.26...1.0.28 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 23:17:07 +00:00
dependabot[bot]
f9098af4e4
build: bump serde from 1.0.129 to 1.0.130 in /fuzz
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 23:03:57 +00:00
dependabot[bot]
47091bd02c
build: bump mshv-bindings from b593a7d
to e83d66e
...
Bumps [mshv-bindings](https://github.com/rust-vmm/mshv ) from `b593a7d` to `e83d66e`.
- [Release notes](https://github.com/rust-vmm/mshv/releases )
- [Commits](b593a7d0d8...e83d66e94f
)
---
updated-dependencies:
- dependency-name: mshv-bindings
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 22:30:39 +00:00
dependabot[bot]
8fae21c10c
build: bump arc-swap from 1.3.1 to 1.3.2
...
Bumps [arc-swap](https://github.com/vorner/arc-swap ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/vorner/arc-swap/releases )
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.3.1...v1.3.2 )
---
updated-dependencies:
- dependency-name: arc-swap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 22:30:31 +00:00
dependabot[bot]
0bd0a65b3a
build: bump arc-swap from 1.3.1 to 1.3.2 in /fuzz
...
Bumps [arc-swap](https://github.com/vorner/arc-swap ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/vorner/arc-swap/releases )
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.3.1...v1.3.2 )
---
updated-dependencies:
- dependency-name: arc-swap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-29 22:30:24 +00:00
Bo Chen
b82bb55927
vmm: openapi: use the right default values
...
This patch fixes couple of typos for the default values from the openapi
yaml file.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-08-27 15:58:23 +01:00
dependabot[bot]
e89345c2c2
build: bump arbitrary from 1.0.1 to 1.0.2 in /fuzz
...
Bumps [arbitrary](https://github.com/rust-fuzz/arbitrary ) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/rust-fuzz/arbitrary/releases )
- [Changelog](https://github.com/rust-fuzz/arbitrary/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/arbitrary/compare/v1.0.1...v1.0.2 )
---
updated-dependencies:
- dependency-name: arbitrary
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-27 00:51:35 +00:00
dependabot[bot]
2b513ece00
build: bump mshv-ioctls from b51905f
to b593a7d
...
Bumps [mshv-ioctls](https://github.com/rust-vmm/mshv ) from `b51905f` to `b593a7d`.
- [Release notes](https://github.com/rust-vmm/mshv/releases )
- [Commits](b51905f5f1...b593a7d0d8
)
---
updated-dependencies:
- dependency-name: mshv-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-27 00:51:23 +00:00
Henry Wang
e1f35628e2
dev_cli: Enable pulling latest dev container on Arm
...
Currently the latest cloudhypervisor/dev docker container is the
multi-arch image. We can pull the arm image directly.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2021-08-26 14:45:19 +01:00
Bo Chen
001ee6794c
docs: Update the live-migration documentation
...
To enable live-migration for vhost-user devices, we now always shutdown
the source VM when the migration is completed. This patch reflects this
change in the documentation.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-08-26 06:01:16 -07:00
dependabot[bot]
f840335922
build: bump libc from 0.2.100 to 0.2.101
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.100 to 0.2.101.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.100...0.2.101 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-26 05:11:06 +00:00
dependabot[bot]
183605f9e1
build: bump vm-fdt from eb345a5
to 146f55c
...
Bumps [vm-fdt](https://github.com/rust-vmm/vm-fdt ) from `eb345a5` to `146f55c`.
- [Release notes](https://github.com/rust-vmm/vm-fdt/releases )
- [Commits](eb345a59e4...146f55c09a
)
---
updated-dependencies:
- dependency-name: vm-fdt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-25 23:52:46 +00:00
dependabot[bot]
e9a1b75ee6
build: bump libc from 0.2.100 to 0.2.101 in /fuzz
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.100 to 0.2.101.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.100...0.2.101 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-25 23:52:41 +00:00
Rob Bradford
e3487c0146
pci: vfio_user: Free BARs associated with vfio-user device
...
This resolves an issue with hotplug -> removal -> hotplug of a vfio-user
device as the allocator was not updated with the now unused entries.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-25 09:58:13 -07:00
Rob Bradford
b075aada8c
docs: Fix the command order in the vfio-user docs
...
The test image file needs to be created before creating the filesystem
on it.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-25 09:47:58 -07:00
Rob Bradford
4d2a4e2805
vmm: Handle epoll events for PTYs separately
...
Use two separate events for the console and serial PTY and then drive
the handling of the inputs on the PTY separately. This results in the
correct behaviour when both console and serial are attached to the PTY
as they are triggered separately on the epoll so events are not lost.
Fixes : #3012
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-25 13:33:32 +01:00
Rob Bradford
6233f6f68e
vmm: Send tty input to correct destination
...
Check the config to find out which device is attached to the tty and
then send the input from the user into that device (serial or
virtio-console.)
Fixes : #3005
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-25 10:08:25 +01:00
dependabot[bot]
c913f7da2f
build: bump rustc-demangle from 0.1.20 to 0.1.21
...
Bumps [rustc-demangle](https://github.com/alexcrichton/rustc-demangle ) from 0.1.20 to 0.1.21.
- [Release notes](https://github.com/alexcrichton/rustc-demangle/releases )
- [Commits](https://github.com/alexcrichton/rustc-demangle/compare/0.1.20...0.1.21 )
---
updated-dependencies:
- dependency-name: rustc-demangle
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-25 04:17:57 +00:00
Rob Bradford
760031103e
build: Update CI infrastructure for "master" -> "main" rename
...
Also remove obsolete Travis build status from the README.md.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-08-24 14:56:45 +01:00
dependabot[bot]
25ed8722c7
build: bump vm-fdt from 65ae235
to eb345a5
...
Bumps [vm-fdt](https://github.com/rust-vmm/vm-fdt ) from `65ae235` to `eb345a5`.
- [Release notes](https://github.com/rust-vmm/vm-fdt/releases )
- [Commits](65ae235a43...eb345a59e4
)
---
updated-dependencies:
- dependency-name: vm-fdt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-24 07:26:40 +00:00
dependabot[bot]
8f6a5f979d
build: bump serde from 1.0.127 to 1.0.129
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.127 to 1.0.129.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.129 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-08-24 07:16:49 +00:00