Rob Bradford
041724a7cf
hypervisor: Add ability to get dirty logged pages
...
Return a bitmap of pages that have been dirtied (written to) since it
was last called.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-17 16:57:11 +00:00
Rob Bradford
8baa244ec1
hypervisor: Add control for dirty page logging
...
When creating a userspace mapping provide a control for enabling the
logging of dirty pages.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-17 16:57:11 +00:00
Anatol Belski
b399287430
memory_manager: Make addressable space size 64k aligned
...
While the addressable space size reduction of 4k in necessary due to
the Linux bug, the 64k alignment of the addressable space size is
required by Windows. This patch satisfies both.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2020-11-16 16:39:11 +00:00
Rob Bradford
c0827e01b1
build: Update arc-swap dependency to 1.0.0
...
Also bump the vm-memory version to one that depends on arc-swap 1.0.0
too.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-16 14:10:09 +01:00
Rob Bradford
46e736973e
hypervisor: kvm: Correctly share VmmOps between Kvm{Vm,Vcpu}
...
Cloning the ArcSwapOption (like the ArcSwap) does not act like a
.clone() on an Arc, instead an entirely new ArcSwap is created with the
same contents. To correctly share the ArcSwap needs to be placed inside
an Arc.
See: 2433d5719b (diff-6c6d94533c44c19bd1416ef17bad1a878e63dca6e98d59181228fbe8f967c62bR6)
Due to this being wrongly used ::clone() was removed from
ArcSwap/ArcSwapOption in 1.0.0.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-16 14:10:09 +01:00
dependabot-preview[bot]
096d99664d
build(deps): bump ssh2 from 0.8.2 to 0.8.3
...
Bumps [ssh2](https://github.com/alexcrichton/ssh2-rs ) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/alexcrichton/ssh2-rs/releases )
- [Commits](https://github.com/alexcrichton/ssh2-rs/compare/0.8.2...0.8.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-15 16:01:54 +00:00
dependabot-preview[bot]
f7c42dc7d2
build(deps): bump vmm-sys-util from 0.6.1 to 0.7.0
...
Bumps [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util ) from 0.6.1 to 0.7.0.
- [Release notes](https://github.com/rust-vmm/vmm-sys-util/releases )
- [Changelog](https://github.com/rust-vmm/vmm-sys-util/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vmm-sys-util/compare/v0.6.1...v0.7.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-13 15:55:05 +00:00
dependabot-preview[bot]
37f947d614
build(deps): bump unicode-normalization from 0.1.13 to 0.1.14
...
Bumps [unicode-normalization](https://github.com/unicode-rs/unicode-normalization ) from 0.1.13 to 0.1.14.
- [Release notes](https://github.com/unicode-rs/unicode-normalization/releases )
- [Commits](https://github.com/unicode-rs/unicode-normalization/compare/v0.1.13...v0.1.14 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-12 16:18:48 +00:00
dependabot-preview[bot]
47d2421e39
build(deps): bump once_cell from 1.5.1 to 1.5.2
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.5.1...v1.5.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-12 14:02:38 +00:00
dependabot-preview[bot]
04419065a3
build(deps): bump once_cell from 1.5.0 to 1.5.1
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.5.0...v1.5.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 11:19:21 +00:00
Rob Bradford
ca60adda70
vmm: Add support for sending and receiving migration if VM is paused
...
This is tested by:
Source VMM:
target/debug/cloud-hypervisor --kernel ~/src/linux/vmlinux \
--pmem file=~/workloads/focal.raw --cpus boot=1 \
--memory size=2048M \
--cmdline"root=/dev/pmem0p1 console=ttyS0" --serial tty --console off \
--api-socket=/tmp/api1 -v
Destination VMM:
target/debug/cloud-hypervisor --api-socket=/tmp/api2 -v
And the following commands:
target/debug/ch-remote --api-socket=/tmp/api1 pause
target/debug/ch-remote --api-socket=/tmp/api2 receive-migration unix:/tmp/foo &
target/debug/ch-remote --api-socket=/tmp/api1 send-migration unix:/tmp/foo
target/debug/ch-remote --api-socket=/tmp/api2 resume
The VM is then responsive on the destination VMM.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-11 11:07:24 +01:00
Rob Bradford
dfe2dadb3e
vmm: memory_manager: Make the snapshot source directory an Option
...
This allows the code to be reused when creating the VM from a snapshot
when doing VM migration.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-11 11:07:24 +01:00
Rob Bradford
523029449e
bin: ch-remote: Add support for receive/send migration commands
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-11 11:07:24 +01:00
Rob Bradford
7ac764518c
vmm: api: Implement API support for migration
...
Add API entry points with stub implementation for sending and receiving
a VM from one VMM to another.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-11 11:07:24 +01:00
Rob Bradford
aa98589bb4
vm-migration: Add protocol documentation and data structures
...
Add the documentation and basic implementation for supporting migration.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-11 11:07:24 +01:00
dependabot-preview[bot]
ca5f1d6de8
build(deps): bump once_cell from 1.4.1 to 1.5.0
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.4.1...v1.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 08:47:02 +00:00
Julio Montes
270631922d
vmm: openapi: remove omitempty
json tag
...
Due to a known limitation in OpenAPITools/openapi-generator tool,
it's impossible to send go zero types, like false and 0 to
cloud-hypervisor because `omitempty` is added if a field is not
required.
Set cache_size, dax, num_queues and queue_size as required to remove
`omitempty` from the json tag.
fixes #1961
Signed-off-by: Julio Montes <julio.montes@intel.com>
2020-11-10 19:09:17 +01:00
Muminul Islam
465ef3f7ad
scripts: dev_cli: Export volumes for windows test as well
...
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2020-11-09 14:58:26 -08:00
dependabot-preview[bot]
50e0423304
build(deps): bump futures from 0.3.7 to 0.3.8
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.7...0.3.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 21:50:00 +00:00
Anatol Belski
906a1eb18d
doc: Add notes to compile OVMF with legacy support
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2020-11-09 17:41:03 +01:00
Rob Bradford
7b77f1ef90
vmm: Remove self-spawning functionality for vhost-user-{net,block}
...
This also removes the need to lookup up the "exe" symlink for finding
the VMM executable path.
Fixes : #1925
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-09 00:16:15 +01:00
Rob Bradford
0005d11e32
vmm: config: Require a socket when using vhost-user
...
With self-spawning being removed both parameters are now required.
Fixes : #1925
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-09 00:16:15 +01:00
Rob Bradford
ec84abc5c7
tests: Remove self spawning integration tests
...
Fixes : #1925
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-11-09 00:16:15 +01:00
dependabot-preview[bot]
2ea0d8eb91
build(deps): bump cc from 1.0.61 to 1.0.62
...
Bumps [cc](https://github.com/alexcrichton/cc-rs ) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases )
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.61...1.0.62 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 22:50:38 +00:00
dependabot-preview[bot]
6a25aaf6b9
build(deps): bump url from 2.1.1 to 2.2.0
...
Bumps [url](https://github.com/servo/rust-url ) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.1.1...v2.2.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 09:06:10 +00:00
dependabot-preview[bot]
1b6b45bf2f
build(deps): bump thiserror from 1.0.21 to 1.0.22
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.21...1.0.22 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 16:24:46 +00:00
dependabot-preview[bot]
ecda97f759
build(deps): bump micro_http from 40309b7
to 59ab644
...
Bumps [micro_http](https://github.com/firecracker-microvm/micro-http ) from `40309b7` to `59ab644`.
- [Release notes](https://github.com/firecracker-microvm/micro-http/releases )
- [Commits](40309b72ee...59ab64440a
)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 16:01:50 +00:00
Michael Zhao
5566992422
scripts: Fix the failure to fetch latest guest kernel code on AArch64
...
The integration script failed to obtain the new guest kernel commit when
the code folder had been existing on CI machine.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-11-04 16:00:12 +00:00
dependabot-preview[bot]
cc637f12f6
build(deps): bump aho-corasick from 0.7.14 to 0.7.15
...
Bumps [aho-corasick](https://github.com/BurntSushi/aho-corasick ) from 0.7.14 to 0.7.15.
- [Release notes](https://github.com/BurntSushi/aho-corasick/releases )
- [Commits](https://github.com/BurntSushi/aho-corasick/compare/0.7.14...0.7.15 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 15:15:55 +00:00
dependabot-preview[bot]
592babaadd
build(deps): bump ppv-lite86 from 0.2.9 to 0.2.10
...
Bumps [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion ) from 0.2.9 to 0.2.10.
- [Release notes](https://github.com/cryptocorrosion/cryptocorrosion/releases )
- [Commits](https://github.com/cryptocorrosion/cryptocorrosion/compare/ppv-lite86-0.2.9...ppv-lite86-0.2.10 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 08:31:08 +00:00
dependabot-preview[bot]
138a8156c8
build(deps): bump blake2b_simd from 0.5.10 to 0.5.11
...
Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd ) from 0.5.10 to 0.5.11.
- [Release notes](https://github.com/oconnor663/blake2_simd/releases )
- [Commits](https://github.com/oconnor663/blake2_simd/compare/0.5.10...0.5.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 08:30:59 +00:00
dependabot-preview[bot]
7a008e66a4
build(deps): bump anyhow from 1.0.33 to 1.0.34
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.33 to 1.0.34.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.33...1.0.34 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 08:30:50 +00:00
Michael Zhao
164d481683
tests: Enable watchdog test case on AArch64
...
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-11-02 08:19:07 +00:00
Michael Zhao
52f60188ca
resources: Enable watchdog in guest driver
...
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-11-02 08:19:07 +00:00
dependabot-preview[bot]
8cb29af712
build(deps): bump regex from 1.4.1 to 1.4.2
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.4.1...1.4.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-02 08:17:11 +00:00
dependabot-preview[bot]
60768a84c5
build(deps): bump signal-hook-registry from 1.2.1 to 1.2.2
...
Bumps [signal-hook-registry](https://github.com/vorner/signal-hook ) from 1.2.1 to 1.2.2.
- [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/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-01 09:24:50 +00:00
dependabot-preview[bot]
3266eb7cce
build(deps): bump backtrace from 0.3.53 to 0.3.54
...
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs ) from 0.3.53 to 0.3.54.
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.53...0.3.54 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-31 07:42:56 +00:00
Muminul Islam
c9a28312a9
rpm: Fix vhost_user_block binary name and use latest tag
...
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2020-10-31 07:42:39 +00:00
Michael Zhao
a278704ae0
tests: Enable reboot test case on AArch64
...
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-10-30 17:14:44 +00:00
Michael Zhao
093a581ee1
vmm: Implement VM rebooting on AArch64
...
The logic to handle AArch64 system event was: SHUTDOWN and RESET were
all treated as RESET.
Now we handle them differently:
- RESET event will trigger Vmm::vm_reboot(),
- SHUTDOWN event will trigger Vmm::vm_shutdown().
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-10-30 17:14:44 +00:00
Michael Zhao
69394c9c35
vmm: Handle hypervisor VCPU run result from Vcpu to VcpuManager
...
Now Vcpu::run() returns a boolean value to VcpuManager, indicating
whether the VM is going to reboot (false) or just continue (true).
Moving the handling of hypervisor VCPU run result from Vcpu to
VcpuManager gives us the flexibility to handle more scenarios like
shutting down on AArch64.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-10-30 17:14:44 +00:00
Michael Zhao
0f5e5d9e6d
tests: Fix some build warnings in integration test on AArch64
...
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-10-30 17:14:12 +00:00
Michael Zhao
4606f0f28a
tests: Make migration test case X86 only
...
Set the test case test_snapshot_restore X86 only, instead of excluding
it from test command line.
The command line option was added because we used to support migration
with Virtio-MMIO, but not Virtio-PCI.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-10-30 17:14:12 +00:00
Rob Bradford
cb88ceeae8
vmm: memory_manager: Move the restoration of guest memory later
...
Rather than filling the guest memory from a file at the point of the the
guest memory region being created instead fill from the file later. This
simplifies the region creation code but also adds flexibility for
sourcing the guest memory from a source other than an on disk file.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-10-30 12:31:47 +01:00
Rob Bradford
7dcd3aff05
build, release-notes.md: Document 0.11.0 release
...
Update release notes and version number for the new release.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-10-29 17:36:02 +00:00
Bo Chen
8c268e351c
tests: Port more tests to use wait_vm_boot
...
Tests not ported include 1) the ones that start guest VMs without
network (e.g. test_net_hotplug, test_initramfs), 2) test_vfio that
involves l2 guest. Also, some tests that use bionic guest image are
given extended timeout (120s) for 'wait_vm_boot'.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-10-29 15:30:17 +00:00
Bo Chen
a79f058a90
tests: Accept custom timeout for wait_vm_boot
...
This allows known slow tests to have a longer/customized timeout while
keeping the default timeout short.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-10-29 15:30:17 +00:00
Bo Chen
26783fea89
tests: Wait explicitly for vm shutdown w/ the 'wait-timeout' crate
...
Instead of waiting blindly with fixed amount of sleeping time, we can
use the `wait-timeout` crate to explicitly wait VM shutdown (with a
timeout). It can reduces the execution time of some tests
substantially. Also, this patch increases the `shutdown` timeout for
'test_reboot', which should fix the recent sporadic failures on this
test.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-10-29 15:30:17 +00:00
Bo Chen
cd1c2ed31e
build: Add the 'v' prefix when using the crate version
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2020-10-29 08:19:25 -07:00
dependabot-preview[bot]
b947320feb
build(deps): bump memchr from 2.3.3 to 2.3.4
...
Bumps [memchr](https://github.com/BurntSushi/rust-memchr ) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/BurntSushi/rust-memchr/releases )
- [Commits](https://github.com/BurntSushi/rust-memchr/compare/2.3.3...2.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 09:24:32 +00:00