SamrutGadde
51a9f78625
hypervisor: aarch64: Use thiserror for errors
...
Updated error enums in hypervisor under aarch64 to use thiserror crate
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com>
2024-05-23 20:54:36 +00:00
SamrutGadde
89b429c768
devices: Use thiserror for errors
...
Updated error enums in device package to use thiserror crate
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com>
2024-05-23 20:54:36 +00:00
SamrutGadde
f25315d151
block: qcow: Use thiserror for errors
...
Added thiserror for missing files in the qcow module.
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com>
2024-05-23 20:54:36 +00:00
SamrutGadde
193c006669
arch: Use thiserror for errors
...
Added thiserror crate for missing files in the arch package
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com>
2024-05-23 20:54:36 +00:00
SamrutGadde
5d0d56f50b
api_client: Use thiserror for errors
...
Added thiserror crate for Error enums to the api_client package
Signed-off-by: SamrutGadde <samrut.gadde@gmail.com>
2024-05-23 20:54:36 +00:00
Nuno Das Neves
30b6e412af
hypervisor: mshv: Pin mshv crates to release tag v0.2.0
...
And bump vfio commit in Cargo.lock to align, since it should also point
to mshv v0.2.0.
Signed-off-by: Nuno Das Neves <nudasnev@microsoft.com>
2024-05-23 17:37:49 +00:00
Jinank Jain
6c90623c8e
hypervisor: mshv: Only perform SNP operation for x86 partition
...
SEV-SNP partitions are only supported on x86 architecture.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-05-23 15:18:00 +00:00
Jinank Jain
94fe22da62
hypervisor: mshv: Only set unimplemented MSR for x86 partition
...
This partition property is only supported for x86 partition. Thus,
reduce the scope of it.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-05-23 15:18:00 +00:00
Omer Faruk Bayram
036e7e3797
vmm: ch-remote: replace deprecated zbus macros with new equivalents
...
Fixes deprecation related warnings introduced in #6400 .
Signed-off-by: Omer Faruk Bayram <omer.faruk@sartura.hr>
2024-05-23 12:20:06 +00:00
dependabot[bot]
5a811af099
build: Bump lock_api from 0.4.11 to 0.4.12 in /fuzz
...
Bumps [lock_api](https://github.com/Amanieu/parking_lot ) from 0.4.11 to 0.4.12.
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/lock_api-0.4.11...lock_api-0.4.12 )
---
updated-dependencies:
- dependency-name: lock_api
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-23 00:46:31 +00:00
dependabot[bot]
7ac2e56fa6
build: Bump ryu from 1.0.17 to 1.0.18
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.17 to 1.0.18.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.17...1.0.18 )
---
updated-dependencies:
- dependency-name: ryu
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 23:47:28 +00:00
dependabot[bot]
eb8f959361
build: Bump zbus from 3.15.2 to 4.1.2
...
Bumps [zbus](https://github.com/dbus2/zbus ) from 3.15.2 to 4.1.2.
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zbus-3.15.2...zbus-4.1.2 )
---
updated-dependencies:
- dependency-name: zbus
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 15:51:56 +00:00
dependabot[bot]
27fd114cbf
---
...
updated-dependencies:
- dependency-name: num-traits
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 12:16:40 +00:00
dependabot[bot]
ba488f5c33
---
...
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 00:22:23 +00:00
Jinank Jain
af1f94e5b8
hypervisor: mshv: Reduce the scope of VMEXITs to x86_64
...
Certain VMEXITs can only happen for x86 guests, thus reduce the scope to
x86_64 at the compilation stage.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-05-21 16:16:29 +00:00
dependabot[bot]
22621df084
---
...
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-21 00:06:51 +00:00
dependabot[bot]
972b4bf248
---
...
updated-dependencies:
- dependency-name: quote
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 23:55:32 +00:00
dependabot[bot]
f4aa3de335
build: Bump syn from 2.0.60 to 2.0.64 in /fuzz
...
Bumps [syn](https://github.com/dtolnay/syn ) from 2.0.60 to 2.0.64.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.60...2.0.64 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-18 07:08:39 +00:00
dependabot[bot]
b2d25a582d
build: Bump waker-fn from 1.1.1 to 1.2.0
...
Bumps [waker-fn](https://github.com/smol-rs/waker-fn ) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/smol-rs/waker-fn/releases )
- [Changelog](https://github.com/smol-rs/waker-fn/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/waker-fn/compare/v1.1.1...v1.2.0 )
---
updated-dependencies:
- dependency-name: waker-fn
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 23:46:56 +00:00
dependabot[bot]
a3262ad570
build: Bump async-signal from 0.2.5 to 0.2.6
...
Bumps [async-signal](https://github.com/smol-rs/async-signal ) from 0.2.5 to 0.2.6.
- [Release notes](https://github.com/smol-rs/async-signal/releases )
- [Changelog](https://github.com/smol-rs/async-signal/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-signal/compare/v0.2.5...v0.2.6 )
---
updated-dependencies:
- dependency-name: async-signal
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 06:59:03 +00:00
dependabot[bot]
034283fc83
build: Bump remain from 0.2.13 to 0.2.14 in /fuzz
...
Bumps [remain](https://github.com/dtolnay/remain ) from 0.2.13 to 0.2.14.
- [Release notes](https://github.com/dtolnay/remain/releases )
- [Commits](https://github.com/dtolnay/remain/compare/0.2.13...0.2.14 )
---
updated-dependencies:
- dependency-name: remain
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 00:30:09 +00:00
Muminul Islam
860939d677
vmm: pause/resume VM during the VM events
...
For MSHV we always create frozen partition, so we
resume the VM during boot. Also during pause and resume
VM events we call hypervisor specific API.
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2024-05-16 14:17:07 +00:00
Muminul Islam
a5a41bf797
hypervisor: always create a frozen partition
...
Create a partition frozen always, then unfreeze the partition
during boot phase or resume phase. We also freeze the
partition during pause event. Time is freeze during the
time between freeze and unfreeze.
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2024-05-16 14:17:07 +00:00
Muminul Islam
aabfc9513e
hypervisor: implement pause/resume API for MSHV
...
Implementing pause/Resume API for MSHV.
Here we set/reset the partition property(TIME_FREEZE)
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2024-05-16 14:17:07 +00:00
Muminul Islam
3fe9b87736
hypervisor: Add pause/resume definitions to VM trait
...
Add Pause/Resume functions for VM trait. For KVM it
will be empty implementations. For MSHV it needs to freeze
and unfreeze the partition.
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2024-05-16 14:17:07 +00:00
dependabot[bot]
9e338d86f5
build: Bump serde from 1.0.201 to 1.0.202 in /fuzz
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.201 to 1.0.202.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.201...v1.0.202 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-16 00:12:16 +00:00
dependabot[bot]
5f9c6bc84f
build: Bump autocfg from 1.2.0 to 1.3.0
...
Bumps [autocfg](https://github.com/cuviper/autocfg ) from 1.2.0 to 1.3.0.
- [Commits](https://github.com/cuviper/autocfg/compare/1.2.0...1.3.0 )
---
updated-dependencies:
- dependency-name: autocfg
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 23:52:04 +00:00
Songqian Li
de38e4b777
tests: restart systemd daemon to reload systemd configuration
...
Currently, the watchdog configuration in systemd is reloaded by
reboot. We can cancel this reboot operation by restarting the
systemd daemon process.
Signed-off-by: Songqian Li <sionli@tencent.com>
2024-05-15 11:17:42 +00:00
dependabot[bot]
6c4947e9ba
build: Bump anstyle-wincon from 3.0.2 to 3.0.3
...
Bumps [anstyle-wincon](https://github.com/rust-cli/anstyle ) from 3.0.2 to 3.0.3.
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.2...anstyle-wincon-v3.0.3 )
---
updated-dependencies:
- dependency-name: anstyle-wincon
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 00:08:08 +00:00
dependabot[bot]
63df8599dc
build: Bump serde from 1.0.198 to 1.0.201 in /fuzz
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.198 to 1.0.201.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.198...v1.0.201 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 23:59:46 +00:00
Rob Bradford
b6003cb428
build: Use correct MSRV version for release workflow
...
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-14 14:45:10 +00:00
dependabot[bot]
340a51d08e
build: Bump ryu from 1.0.17 to 1.0.18 in /fuzz
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.17 to 1.0.18.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.17...1.0.18 )
---
updated-dependencies:
- dependency-name: ryu
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 11:50:39 +00:00
dependabot[bot]
507a03e7ee
build: Bump cc from 1.0.95 to 1.0.97
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.95 to 1.0.97.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.95...1.0.97 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 11:23:25 +00:00
Purna Pavan Chandra
fe86f90ba6
tests: add back tests_snapshot_restore* but to common_sequential
...
tests_snapshot_restore* have been earlier removed from common_parallel
due to the falkiness they add testsuite. Running them sequentially would
eliminate the flakiness. Hence, add the tests back to testsuite but into
common_sequential module.
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
3769b18a70
tests: remove test_snapshot_restore* tests from common_parallel
...
test_snapshot_restore_* tests often have transient failures and add to
overall flakiness of the integration testsuite. Hence, remove them from
common_parallel. However, these tests need to be added back to
common_sequential
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
6d74393833
tests: Add test_snapshot_restore_with_fd to integration tests
...
VM is created with FDs explicitly passed to CH via --net parameter
and snapshotted. New net FDs are passed in turn during restore.
Boilerplate code from _test_snapshot_restore().
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
26670e4778
docs: Update snapshot/restore documentation
...
Add a section about restoring VM with new Net FDs explicitly passed to
ch-remote via 'net_fds' parameter
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
555c4c41ab
ch-remote: allow fds to be sent along with 'restore'
...
Enable restore command the ability to send file descriptors along with
HTTP request. This is useful when restoring a VM with explicit FDs
passed to NetConfig(s).
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
b82f25572b
vmm: http_endpoint: Change PutHandler for VmRestore
...
Consume FDs passed via SCM_RIGHTs to VmRestore API and assign them
appropriately to RestoredNetConfig's fds field.
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
2024-05-14 10:52:46 +00:00
Purna Pavan Chandra
584784a0f8
vmm: Support passing Net FDs to Restore
...
'NetConfig' FDs, when explicitly passed via SCM_RIGHTS during VM
creation, are marked as invalid during snapshot. See: #6332 .
So, Restore should support input for the new net FDs. This patch adds
new field 'net_fds' to 'RestoreConfig'. The FDs passed using this new
field are replaced into the 'fds' field of NetConfig appropriately.
The 'validate()' function ensures all net devices from 'VmConfig' backed
by FDs have a corresponding 'RestoreNetConfig' with a matched 'id' and
expected number of FDs.
The unit tests provide different inputs to parse and validate functions
to make sure parsing and error handling is as per expectation.
Fixes #6286
Signed-off-by: Purna Pavan Chandra <paekkaladevi@linux.microsoft.com>
Co-authored-by: Bo Chen <chen.bo@intel.com>
2024-05-14 10:52:46 +00:00
Yi Wang
4fd5070f5d
ch-remote: fix help of remove-device
...
remove-device can remove not only VFIO device but also pci device.
No functional change.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2024-05-09 14:34:30 +00:00
Wei Liu
241d1d5cdb
hypervisor: kvm: add missing capability requirements
...
The list is gathered from going through various code paths in the code
base.
No functional change intended.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-05-09 06:50:57 +00:00
Wei Liu
c07671edb4
hypervisor: kvm: introduce a check_extension macro
...
That reduces code repetition.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-05-09 06:50:57 +00:00
Wei Liu
8093820965
hypervisor: kvm: sort the required capabilities
...
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-05-09 06:50:57 +00:00
Wei Liu
86cf50565e
hypervisor: kvm: drop the check for Cap::SignalMsi
...
Per the KVM API document, that capability is only valid with in-kernel
irqchip that handles MSIs.
Through out the code base, there is no call to KVM_IOCTL_SIGNAL_MSI.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-05-09 06:50:57 +00:00
Rob Bradford
95fd684ad7
pci: Remove extra whitespace line from Cargo.toml
...
This was preventing the Cargo.toml formatter (taplo) from correctly
alphabetically ordering.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-08 21:46:13 +00:00
Rob Bradford
ce8e76cf94
build: Add GitHub action to run taplo for Cargo.toml formatting
...
Check that the Cargo.toml files meet the formatting requirements.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-08 21:46:13 +00:00
Rob Bradford
3f8cd52ffd
build: Format Cargo.toml files using taplo
...
Run the taplo formatter with the newly added configuration file
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-08 21:46:13 +00:00
Rob Bradford
f9d3c73c15
build: Add taplo configuration file for Cargo.toml files
...
This configuration enforces the alphebetical ordering of arrays and keys
in the Cargo.toml files.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-08 21:46:13 +00:00
Rob Bradford
7e25cc2aa0
build: Add "fuzzing" as a valid cfg(..) attribute
...
The compiler is now able to warn if an invalid attribute (e.g like a
feature) is not available.
See https://blog.rust-lang.org/2024/05/06/check-cfg.html for more
details.
Add build.rs files in the crates that use #cfg(fuzzing) to add fuzzing
to the list of valid cfg attributes.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-05-08 08:10:28 +00:00