Rob Bradford
2e8eb96ef6
vmm: device_manager: Store ACPI platform addresses for later use
...
These are ready for inclusion in the FACP table.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-25 16:16:06 +01:00
Maximilian Nitsch
686e6d5082
api-client: Break the receive loop if the VMM shuts down the socket
...
Breaks the receive loop of the API client when the VMM shuts down the
socket connection. A shutdown is indicated by the return value 0 of the
`recv()` system call.[^1][^2] This case was not handled before, so the
API client tried infinitely to receive more bytes and did not return.
[^1]: https://linux.die.net/man/2/recv
[^2]: https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2022-07-25 13:19:37 +01:00
Rob Bradford
b1a87cb698
hypervisor: mshv: Remove more #[allow(dead_code)] and unused code
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-25 10:09:46 +01:00
dependabot[bot]
869e96ed10
build: bump redox_syscall from 0.2.13 to 0.2.15
...
Bumps redox_syscall from 0.2.13 to 0.2.15.
---
updated-dependencies:
- dependency-name: redox_syscall
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-22 23:59:26 +00:00
Wei Liu
bcaa299c55
devices: arch is only needed by aarch64
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 22:29:49 +01:00
Wei Liu
454964cc90
vm-allocator: arch is only needed by aarch64
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 22:29:49 +01:00
Wei Liu
2afd0e626a
tree-wide: drop unneeded dependencies
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 22:29:49 +01:00
Wei Liu
e885c35a54
vhost_user_net: remove {self} import
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 14:37:03 +01:00
Wei Liu
ff7773044c
tree-wide: drop some unneeded allow clauses
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 14:37:03 +01:00
Wei Liu
5aaa647639
.github: build MSHV and KVM at the same time
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
7b99bd9496
hypervisor: suppress clippy::large_enum_variant
...
MSHV's vcpu state is small, but it will grow in the future.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
bb19c3d2b7
hypervisor: pick the available hypervisor automatically
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
aa66526ea0
hypervisor: add a function to check availability
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
c3ce5aa5b1
hypervisor: adjust new function return type
...
Make them return wrapped trait object directly.
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
ad33f7c5e6
vmm: return seccomp rules according to hypervisors
...
That requires stashing the hypervisor type into various places.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
9fc3379e8d
hypervisor: add a function to return hypervisor type
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
d56263706d
main: unify error message for hypervisor availability
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
4a00371fe8
hypervisor: drop unused modules
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
ae7f74d0a8
hypervisor: drop kvm guard from some Vcpu trait functions
...
And provide default implementations.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
Wei Liu
cb6a14dec9
hypervisor: drop check_extension from Vm trait
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-22 12:50:12 +01:00
dependabot[bot]
e931c40e96
build: bump clap from 3.2.13 to 3.2.14 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.13 to 3.2.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/v3.2.13...v3.2.14 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 23:40:33 +00:00
Wei Liu
a96a5d7816
hypervisor, vmm: use new vfio-ioctls
...
Use the new vfio-ioctls APIs. Drop Cloud Hypervisor's Device trait
since it is no longer needed.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
5e2c70b87f
hypervisor: aarch64: drop set/has_vcpu_attr
...
This avoids the need for exposing DeviceAttr.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
eca6609dbb
hypervisor: mshv: create_device returns DeviceFd directly
...
This aligns with KVM's code. No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
c5e966c972
hypervisor: aarch64: use KVM DeviceFd in GIC code
...
The code is obviously KVM only. We don't need to use dyn Device there.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
0856ebbd42
hypervisor: aarch64: drop set_its_device
...
The field can be set directly.
This eliminates one place where dyn Device is used outside of KVM
aarch64 code.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
422bf89d4d
hypervisor: drop create_device from Vm trait
...
This then avoids the need for creating a generic DeviceFd type in the
hypervisor crate.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
500d91311f
hypervisor: aarch64: kvm: use concrete KvmVm type where possible
...
The code was moved from the vmm crate to the hypervisor crate. After the
move it is trivially obvious that it only works with KVM. Use concrete
types where possible.
This allows us to drop create_device from the Vm trait.
No functional change intended.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
b5270e0b45
hypervisor: allow downcasting to hypervisor VM types
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
Wei Liu
f84ddedb1a
hypervisor, vmm: introduce trait functions for aarch64 PMU
...
The original code uses kvm_device_attr directly outside of the
hyeprvisor crate. That leaks hypervisor details.
No functional change intended.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-21 23:37:53 +01:00
dependabot[bot]
b5d10eb28b
build: bump clap from 3.2.13 to 3.2.14
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.13 to 3.2.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/v3.2.13...v3.2.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-07-21 16:07:56 +00:00
dependabot[bot]
de14db7320
build: bump hashbrown from 0.12.2 to 0.12.3
...
Bumps [hashbrown](https://github.com/rust-lang/hashbrown ) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.12.2...v0.12.3 )
---
updated-dependencies:
- dependency-name: hashbrown
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 17:20:40 +02:00
dependabot[bot]
269b78ca0f
build: bump serde from 1.0.139 to 1.0.140
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.139 to 1.0.140.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 13:17:32 +00:00
Sebastien Boeuf
5f98710471
virtio-devices: vhost-user: Stop the vrings on a virtio reset
...
Whenever a virtio reset happens, the vhost-user backend should be
notified that the vring should be stopped. This is performed by calling
GET_VRING_BASE on the appropriate queue indexes.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 14:28:41 +02:00
Sebastien Boeuf
613c60fc6f
virtio-devices: vhost-user: Enable correct queue indexes
...
Rather than relying on the amount of queues to enable or disable the
queue that have been activated, we rely on the actual queue indexes
provided through the tuple including the queue index, the Queue and the
EventFd. By storing the list of indexes, we simplify the code and also
make it more accurate in case some queues aren't activated.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 14:28:41 +02:00
Sebastien Boeuf
3f62a172b2
virtio-devices: Pass a list of tuples for virtqueues
...
Instead of passing separately a list of Queues and the equivalent list
of EventFds, we consolidate these two through a tuple along with the
queue index.
The queue index can be very useful if looking for the actual index
related to the queue, no matter if other queues have been enabled or
not.
It's also convenient to have the EventFd associated with the Queue so
that we don't have to carry two lists with the same amount of items.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 14:28:41 +02:00
Sebastien Boeuf
423c54eafe
virtio-devices: Pull correct EventFd from queue_evts list
...
When preparing the activator, we must provide the correct queue index to
clone the right EventFd associated with the queue.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 14:28:41 +02:00
Sebastien Boeuf
e1a63822fa
virtio-devices: fs: Reduce minimal amount of enabled queues to 1
...
It's not mandatory for the virtio-fs driver to enable all virtqueues
provided by the backend since all it needs is one request queue to work
correctly. Therefore we lower the minimal amount of enabled queues to 1.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 14:28:41 +02:00
dependabot[bot]
3083da154e
build: bump vfio-ioctls from 38272d3
to 0e0e115
...
Bumps [vfio-ioctls](https://github.com/rust-vmm/vfio ) from `38272d3` to `0e0e115`.
- [Release notes](https://github.com/rust-vmm/vfio/releases )
- [Commits](38272d3f06...0e0e115551
)
---
updated-dependencies:
- dependency-name: vfio-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 12:09:41 +00:00
dependabot[bot]
5c20869dd5
build: bump clap from 3.2.12 to 3.2.13
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.12 to 3.2.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/v3.2.12...v3.2.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-07-21 12:00:29 +01:00
Sebastien Boeuf
ec27e0ee82
tests: Fix test_virtio_balloon_deflate_on_oom()
...
It might sometimes take a few seconds for the guest to trigger the OOM
and report it back to the host. That's why this patch adds some sleep
time between the command in the guest supposedly triggering the OOM and
the check of the balloon size from the host.
Fixes #4336
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-21 12:00:14 +01:00
dependabot[bot]
0bb509e5d2
build: bump serde from 1.0.139 to 1.0.140 in /fuzz
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.139 to 1.0.140.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 23:51:30 +00:00
dependabot[bot]
a161e56bef
build: bump unicode-ident from 1.0.1 to 1.0.2
...
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident ) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.1...1.0.2 )
---
updated-dependencies:
- dependency-name: unicode-ident
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 12:36:40 +00:00
dependabot[bot]
777ba6d577
build: bump hashbrown from 0.12.2 to 0.12.3 in /fuzz
...
Bumps [hashbrown](https://github.com/rust-lang/hashbrown ) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.12.2...v0.12.3 )
---
updated-dependencies:
- dependency-name: hashbrown
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 11:55:15 +00:00
dependabot[bot]
b0258c7b13
build: bump unicode-ident from 1.0.1 to 1.0.2 in /fuzz
...
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident ) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.1...1.0.2 )
---
updated-dependencies:
- dependency-name: unicode-ident
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 11:22:50 +00:00
dependabot[bot]
55c9562c4d
build: bump os_str_bytes from 6.1.0 to 6.2.0
...
Bumps [os_str_bytes](https://github.com/dylni/os_str_bytes ) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/dylni/os_str_bytes/releases )
- [Commits](https://github.com/dylni/os_str_bytes/compare/6.1.0...6.2.0 )
---
updated-dependencies:
- dependency-name: os_str_bytes
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 11:21:04 +00:00
dependabot[bot]
7419a021cd
build: bump clap from 3.2.12 to 3.2.13 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.12 to 3.2.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/v3.2.12...v3.2.13 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 10:55:52 +00:00
dependabot[bot]
cc9908efe2
build: bump os_str_bytes from 6.1.0 to 6.2.0 in /fuzz
...
Bumps [os_str_bytes](https://github.com/dylni/os_str_bytes ) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/dylni/os_str_bytes/releases )
- [Commits](https://github.com/dylni/os_str_bytes/compare/6.1.0...6.2.0 )
---
updated-dependencies:
- dependency-name: os_str_bytes
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 10:26:31 +00:00
dependabot[bot]
474e55724f
build: bump vmm-sys-util from 0.9.0 to 0.10.0 in /fuzz
...
Bumps [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util ) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/rust-vmm/vmm-sys-util/releases )
- [Changelog](https://github.com/rust-vmm/vmm-sys-util/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vmm-sys-util/compare/v0.9.0...v0.10.0 )
---
updated-dependencies:
- dependency-name: vmm-sys-util
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-20 09:40:28 +00:00
dependabot[bot]
b440cb7d23
build: bump vmm-sys-util from 0.9.0 to 0.10.0
...
This patch requires the vhost-user-backend crate to be bumped from 0.5.0
to 0.5.1.
Bumps [vmm-sys-util](https://github.com/rust-vmm/vmm-sys-util ) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/rust-vmm/vmm-sys-util/releases )
- [Changelog](https://github.com/rust-vmm/vmm-sys-util/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vmm-sys-util/compare/v0.9.0...v0.10.0 )
---
updated-dependencies:
- dependency-name: vmm-sys-util
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-20 09:40:28 +00:00