Rob Bradford
a75d71f2c8
vmm: Reduce logging severity for unknown MMIO/PIO device accesses
...
These look alarming if you are booting with the a distro kernel which is
now a recommended approach.
See: #4786
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-17 10:08:36 -07:00
Bo Chen
96209e7a16
vmm: Remove the explicit call to 'Snapshottable:restore()'
...
The restore path of MemoryManager is handled specially without
implementing a `Snapshottable:restore()`. Removing the explicit call to
it along the migration code path to avoid confusions.
See: #4783
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-17 10:07:44 -07:00
Jinank Jain
7a68689794
hypervisor: Fix a typo in error message
...
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2022-10-16 09:33:08 +00:00
Bo Chen
6e6b519a74
Revert "tests: Temporarily disable test_live_{migration,upgrade}_watchdog{_local}"
...
This reverts commit 87fb9cedc9
.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-14 13:42:03 +01:00
Bo Chen
958ef69295
tests: Rely on wtmp
(the login records) to count reboot times
...
The systemd journal has a known issue of generating large size logs[1],
which makes it unreliable as a source for retrieving system
information, such as for counting reboot times. This is particularly
problematic on disk-constrained systems, like the VMs we launched for
our integration tests, where the disk size is normally 2GB. By default,
the systemd journal has a size limit of 10% of the size of the
underlying file system (e.g. around 200MB for the VMs of our integration
tests), which would remove archived journal files on demand.
A better alternative to count reboot times is based on information from
`wtmp` (e.g. the login records) which is much more concise and can be
accessed via the `last` command.
[1] https://github.com/systemd/systemd/issues/5285
Fixes : #4749
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-14 13:42:03 +01:00
Rob Bradford
ffc222b26e
docs: Modernise README
...
Refresh our README in a consistent style and update it to reflect:
* A recommendation to use binaries
* Clarify our relationship with other Rust based VMMs/Rust-VMM project
* Ensure instructions result in a usable image (cloud-init)
* Simplify script instructions
* Move compilation details elsewhere
* Add Fedora 36 image details
* Point to CLOUDHV as well as Rust Hypervisor Firmware
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-14 12:04:06 +01:00
Bo Chen
5b706422e8
virtio-devices: iommu: Propagate errors of processing request queue
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-14 11:28:31 +01:00
Bo Chen
84105992b7
virtio-devices: iommu: Switch to use 'thiserror'
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-14 11:28:31 +01:00
Bo Chen
0235ed3388
virtio-devices: mem: Report error instead of panic
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-14 11:28:31 +01:00
dependabot[bot]
58066e2da4
build: Bump clap from 4.0.14 to 4.0.15
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.14 to 4.0.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.14...v4.0.15 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 00:12:55 +00:00
dependabot[bot]
62d6553714
build: Bump clap from 4.0.14 to 4.0.15 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.14 to 4.0.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.14...v4.0.15 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-13 23:40:57 +00:00
lv.mengzhao
2a45e44bda
qcow: Fix the calculation of the number of clusters for L1 table
...
In function create_for_size(), when calculating the number
of clusters for the L1 table, it incorrectly divides the total number of
entries in the L1 table by the cluster size. In fact, it should be
divided by the number of entries/addresses that can fit into a cluster.
Signed-off-by: lv.mengzhao <lv.mengzhao@zte.com.cn>
2022-10-13 13:43:08 +01:00
Sebastien Boeuf
099cdd2af8
virtio-devices, vmm: vdpa: Implement live migration support
...
Vdpa now implements the Migratable trait, which allows the device to be
added to the DeviceTree and therefore allows live migrating any vDPA
device that supports being suspended.
Given a vDPA device can't be resumed from a suspended state without
having to reset everything, we don't support pause/resume for a vDPA
device, as well as snapshot/restore (which requires resume to be
supported).
In order for the migration to work locally, reusing the same device on
the same host machine, the vhost-vdpa handler is dropped after the
snapshot has been performed, which allows the destination VM to open the
device without any conflict about the device being busy.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
340fd6571a
virtio-devices: vdpa: Make vhost-vdpa handler optional
...
In order to anticipate for migration support, we need to be able to
create a Vdpa object without VhostKernVdpa object associated with it.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
02f951a9c3
virtio-devices: vdpa: Simplify vring enabling
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
22be5f9d0f
vmm: Extend list of authorized ioctls for vDPA
...
Adding VHOST_VDPA_GET_CONFIG_SIZE and VHOST_VDPA_SUSPEND to the list of
authorized ioctls for the vmm thread.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
a9ccb20e5a
vm-migration: Add StartMigration type to MigratableError
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
2b150ac2ea
pci, virtio-devices: Restore proper BAR type
...
When restoring a VM, the BAR type can be found directly from the
snapshot resources. It is more reliable than the previous method which
was using self.use_64bit_bar from VirtioPciDevice because at the time
the BARs are allocated, the VirtioDevice hasn't been restored yet,
meaning the way to determine the value of use_64bit_bar is wrong for a
device like vDPA. At this time, the device type is not known and relying
on the stored resources is the only reliable way.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
Sebastien Boeuf
204bf2e3f5
deps: Rely on latest rust-vmm/vhost version
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-10-13 10:03:23 +02:00
dependabot[bot]
2a40fe5541
build: Bump clap from 4.0.13 to 4.0.14
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.13 to 4.0.14.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.13...v4.0.14 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-13 00:12:47 +00:00
dependabot[bot]
7ae4e2b8fe
build: Bump clap from 4.0.13 to 4.0.14 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.13 to 4.0.14.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.13...v4.0.14 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 23:39:52 +00:00
Rob Bradford
f17f4079b4
test_data: Use bash TCP support instead of netcat for boot check
...
This means that the guest image does not need to have netcat installed
making it easier to use unmodified images.
See https://www.gnu.org/software/bash/manual/html_node/Redirections.html
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-12 23:04:42 +01:00
Bo Chen
342851c88c
fuzz: Add fuzzer for virtio-mem
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-12 16:09:27 +01:00
Bo Chen
37c3b0429a
vmm: Make MemoryManager::create_ram_region() public
...
So that it can be reused externally, such as for fuzzing.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-12 16:09:27 +01:00
dependabot[bot]
af14044fb8
build: Bump zerocopy-derive from 0.3.1 to 0.3.2
...
Bumps [zerocopy-derive](https://github.com/google/zerocopy ) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/google/zerocopy/releases )
- [Commits](https://github.com/google/zerocopy/commits )
---
updated-dependencies:
- dependency-name: zerocopy-derive
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 09:57:50 +00:00
dependabot[bot]
fa39d1e9b9
build: Bump clap from 4.0.12 to 4.0.13
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.12 to 4.0.13.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.12...v4.0.13 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 09:22:18 +00:00
dependabot[bot]
00714dc54a
build: Bump openssl-src from 111.22.0+1.1.1q to 111.23.0+1.1.1r
...
Bumps [openssl-src](https://github.com/alexcrichton/openssl-src-rs ) from 111.22.0+1.1.1q to 111.23.0+1.1.1r.
- [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases )
- [Commits](https://github.com/alexcrichton/openssl-src-rs/commits )
---
updated-dependencies:
- dependency-name: openssl-src
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 09:18:08 +01:00
Rob Bradford
87fb9cedc9
tests: Temporarily disable test_live_{migration,upgrade}_watchdog{_local}
...
This test has been identified as flaky and is creating CI churn.
See: #4749
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-12 09:17:39 +01:00
dependabot[bot]
ce2928d842
build: Bump clap from 4.0.12 to 4.0.13 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.12 to 4.0.13.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.12...v4.0.13 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 23:45:11 +00:00
Anatol Belski
a18b08c682
seccomp: mshv: Allow create partition ioctl
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2022-10-11 09:05:24 +01:00
dependabot[bot]
43935c3b95
build: Bump uuid from 1.1.2 to 1.2.1
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.1.2 to 1.2.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.1 )
---
updated-dependencies:
- dependency-name: uuid
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 03:12:14 +00:00
dependabot[bot]
c3c550c454
build: Bump unicode-ident from 1.0.4 to 1.0.5
...
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident ) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.4...1.0.5 )
---
updated-dependencies:
- dependency-name: unicode-ident
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 02:38:53 +00:00
dependabot[bot]
7da632def6
build: Bump unicode-ident from 1.0.4 to 1.0.5 in /fuzz
...
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident ) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.4...1.0.5 )
---
updated-dependencies:
- dependency-name: unicode-ident
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 01:44:58 +00:00
dependabot[bot]
f38ef20e3b
build: Bump libc from 0.2.134 to 0.2.135
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.134 to 0.2.135.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.134...0.2.135 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 01:13:44 +00:00
dependabot[bot]
a033b1ef67
build: Bump uuid from 1.1.2 to 1.2.1 in /fuzz
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.1.2 to 1.2.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.1 )
---
updated-dependencies:
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 01:11:14 +00:00
dependabot[bot]
ffa7d27b5e
build: Bump libc from 0.2.134 to 0.2.135 in /fuzz
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.134 to 0.2.135.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.134...0.2.135 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 00:22:29 +00:00
dependabot[bot]
da725daca0
build: Bump clap from 4.0.10 to 4.0.12
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.10 to 4.0.12.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.10...v4.0.12 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-11 00:22:25 +00:00
dependabot[bot]
0fe0eb4c97
build: Bump serde_json from 1.0.85 to 1.0.86
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.85 to 1.0.86.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.86 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 23:47:01 +00:00
dependabot[bot]
8877211d9e
build: Bump syn from 1.0.101 to 1.0.102
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.101...1.0.102 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 00:29:08 +00:00
dependabot[bot]
f907ff5d82
build: Bump syn from 1.0.101 to 1.0.102 in /fuzz
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.101...1.0.102 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 23:47:54 +00:00
Rob Bradford
89a2562c5a
pci: Optimise MSI-X table programming
...
With an updated Linux kernel the kernel reprograms the same table entry
in the MSI-X table multiple times. Fortunately it does so with entry
masked (the default.)
The costly part of MSI-X table reprogramming is going out to the host
kernel to update the GSI routing entries. This change makes three
optimisations.
1. If the table entry is unchanged: skip handking updates
2. Only update the GSI routing table if the table entry is unmasked
(this skips extra calls to the ioctl() for reprogramming the
entries.)
3. Only generate a message on entry unmasking if the global MSI-X enable
bit is set.
Fixes : #4273
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-07 09:57:27 -07:00
Bo Chen
29cf637f3f
vmm: Move 'default_serial/console()' to vm_config.rs
...
In this way, we have all functions related to generate default values of
vm-config structs in the same location.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-07 09:13:15 -07:00
Bo Chen
fd9fa2a681
virtio-mem: mem: Simplify 'process_queue'
...
No functional change.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-07 07:57:08 -07:00
Bo Chen
756aebafda
virtio-devices: mem: Handle and propagate errors properly
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-07 07:57:08 -07:00
dependabot[bot]
d4d63502be
build: Bump itoa from 1.0.3 to 1.0.4
...
Bumps [itoa](https://github.com/dtolnay/itoa ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.3...1.0.4 )
---
updated-dependencies:
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 00:41:45 +00:00
dependabot[bot]
961793ba8c
build: Bump io-uring from 0.5.6 to 0.5.7 in /fuzz
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.5.6 to 0.5.7.
- [Release notes](https://github.com/tokio-rs/io-uring/releases )
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 00:23:20 +00:00
dependabot[bot]
cbeed02a7c
build: Bump itoa from 1.0.3 to 1.0.4 in /fuzz
...
Bumps [itoa](https://github.com/dtolnay/itoa ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.3...1.0.4 )
---
updated-dependencies:
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-06 23:51:07 +00:00
dependabot[bot]
10eb687687
build: Bump io-uring from 0.5.6 to 0.5.7
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.5.6 to 0.5.7.
- [Release notes](https://github.com/tokio-rs/io-uring/releases )
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-06 23:49:36 +00:00
Rob Bradford
83cc554f90
vmm: Remove deprecated VmConfig::{kernel, initramfs, cmdline} members
...
These have been replaced by members of PayloadConfig and should be
removed in v28.0 (mentioned in v26.0 release notes.)
Fixes : #4737
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-06 14:25:29 +01:00
Rob Bradford
7d8d27c1b4
vmm: Rename queue size / number of queues constants
...
These constants still referenced the long removed (separate vhost-user
structs.)
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-06 14:25:29 +01:00