Yong He
0149e65081
vm-device: support batch update interrupt source group GSI
...
Split interrupt source group restore into two steps, first restore
the irqfd for each interrupt source entry, and second restore the
GSI routing of the entire interrupt source group.
This patch will reduce restore latency of interrupt source group,
and in a 200-concurrent restore test, the patch reduced the
average IOAPIC restore time from 15ms to 1ms.
Signed-off-by: Yong He <alexyonghe@tencent.com>
2023-08-03 15:58:36 +01:00
dependabot[bot]
ecf3db5092
build: Bump remain from 0.2.10 to 0.2.11
...
Bumps [remain](https://github.com/dtolnay/remain ) from 0.2.10 to 0.2.11.
- [Release notes](https://github.com/dtolnay/remain/releases )
- [Commits](https://github.com/dtolnay/remain/compare/0.2.10...0.2.11 )
---
updated-dependencies:
- dependency-name: remain
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 23:50:57 +00:00
dependabot[bot]
8cd40a7a80
build: Bump cc from 1.0.79 to 1.0.81 in /fuzz
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.79 to 1.0.81.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.79...1.0.81 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 23:27:24 +00:00
dependabot[bot]
c559f52fe5
build: Bump signal-hook from 0.3.15 to 0.3.17
...
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.3.15 to 0.3.17.
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.15...v0.3.17 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 04:25:49 +00:00
dependabot[bot]
f022953fff
build: Bump serde_json from 1.0.100 to 1.0.104 in /fuzz
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.100 to 1.0.104.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.100...v1.0.104 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 23:58:45 +00:00
Philipp Schuster
442ac9056c
x86 emulator: add Mov_moffs_AX & Mov_AX_moffs (16,32,64)
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
2023-08-01 20:14:10 +01:00
dependabot[bot]
fe97785a9f
build: Bump io-uring from 0.5.13 to 0.6.0
...
Includes fixes for changed function prototypes.
bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.5.13 to 0.6.0.
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2023-08-01 14:27:54 +01:00
dependabot[bot]
e5bb3903ad
build: Bump thiserror from 1.0.43 to 1.0.44 in /fuzz
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.43...1.0.44 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 23:43:50 +00:00
Anatol Belski
0b6bc75d3a
tests: Ensure sufficient nofile limit for VFIO tests
...
The VFIO tests based on the NVMe emulation framework require cause a
high number of file descriptors to be opened on the system. On systems
with a low limit on opened files, tests like test_vfio_user can possibly
fail with "too many open files" exeption. This issue is fixed by raising
the corresponding limit.
A tricky detail here is, that the limit has to be changed in the test
container and not on the host. As the the container is executed in the
privileged mode, the setting in it will override the host value.
Related: #5426
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-07-31 17:21:47 +01:00
Yi Wang
9da7435f06
tests: add coredump with no need pause
...
Add integration test of coredump with no need pause.
As file of coredump has been tested in test_coredump(), so this
patch only test vm state after coredump.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2023-07-31 17:05:46 +01:00
Yi Wang
3225c0c7c8
vmm: Automatically pause VM for coredump
...
If the VMM is not already paused then pause the VM prior to executing
the coredump and then resume it after. If the VM is already paused then
the original state is maintained.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2023-07-31 17:05:46 +01:00
Yi Wang
c03f3b54b6
README: update version of Host OS
...
As the commit 2f15d027c05f (KVM: x86: Properly handle APF vs disabled
LAPIC situation) has been merged into kernel 5.13, so update the minimum
performance host kernel version to that.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2023-07-31 17:05:12 +01:00
Yi Wang
ba5af92984
arch: x86_64: re-enable KVM_FEATURE_ASYNC_PF_INT in CPUID
...
The commit b92fe648e9
(vmm: cpu: Disable KVM_FEATURE_ASYNC_PF_INT in
CPUID) disabled APF (Asynchronous Page Fault) mechanism to address
problem that makes vcpu thread spin 100%. As the actual issue is in
KVM, which has been merged in commit 2f15d027c05f (KVM: x86: Properly
handle APF vs disabled LAPIC situation) since 2021, so it's okay to
re-enable APF now.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2023-07-31 17:05:12 +01:00
Omer Faruk Bayram
c74be069b5
build: bump zbus related dependencies
...
* zbus v3.13.1 -> v3.14.1
* zbus_macros v3.13.1 -> v3.14.1
* zbus_names v2.5.1 -> v2.6.0
* zvariant v3.14.0 -> v3.15.0
* zvariant_derive v3.14.0 -> v3.15.0
Signed-off-by: Omer Faruk Bayram <omer.faruk@sartura.hr>
2023-07-31 10:36:04 +01:00
dependabot[bot]
b29d9607df
build: Bump itoa from 1.0.8 to 1.0.9 in /fuzz
...
Bumps [itoa](https://github.com/dtolnay/itoa ) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.8...1.0.9 )
---
updated-dependencies:
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-28 23:50:10 +00:00
dependabot[bot]
c0c4c0f712
build: Bump anyhow from 1.0.71 to 1.0.72 in /fuzz
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.71 to 1.0.72.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 23:16:23 +00:00
dependabot[bot]
1c16428e4d
build: Bump getrandom from 0.2.9 to 0.2.10
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.2.9 to 0.2.10.
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.9...v0.2.10 )
---
updated-dependencies:
- dependency-name: getrandom
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 00:56:26 +00:00
dependabot[bot]
1649845944
build: Bump uuid from 1.4.0 to 1.4.1 in /fuzz
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.4.0...1.4.1 )
---
updated-dependencies:
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 00:07:01 +00:00
dependabot[bot]
6372635195
build: Bump crc32c from 0.6.3 to 0.6.4 in /fuzz
...
Bumps [crc32c](https://github.com/zowens/crc32c ) from 0.6.3 to 0.6.4.
- [Commits](https://github.com/zowens/crc32c/compare/v0.6.3...v0.6.4 )
---
updated-dependencies:
- dependency-name: crc32c
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-26 23:34:09 +00:00
Praveen K Paladugu
dd09a0a890
vmm: Extend mshv ioctls in seccomp filters
...
Add MSHV_CREATE_DEVICE, MSHV_SET_DEVICE_ATTR ioctls to filters. These
ioctls are required to passthrough PCI devices on mshv.
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
2023-07-26 10:14:43 -07:00
dependabot[bot]
b56e721d78
build: Bump mshv-ioctls from 243953f
to a45fbeb
...
Bumps [mshv-ioctls](https://github.com/rust-vmm/mshv ) from `243953f` to `a45fbeb`.
- [Commits](243953f7ef...a45fbeb4a3
)
---
updated-dependencies:
- dependency-name: mshv-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-26 00:47:17 +00:00
dependabot[bot]
39f1c5f476
build: Bump semver from 1.0.17 to 1.0.18 in /fuzz
...
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.17 to 1.0.18.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.17...1.0.18 )
---
updated-dependencies:
- dependency-name: semver
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-25 23:22:35 +00:00
Yi Wang
92cf2816b0
vmm: Ensure vcpu pause is synchronised
...
The pause of vcpu is async now, which makes the vm pause is not
synchronised. As virtio device calls paused_sync wait() to make
sure device_manager pause synchronously, if we make vcpu pause
synchronously, the vm pause can be synchronously then. After
vm.pause() returns the vm is really paused now.
This patch adds a AtomicBool variable to mark vcpu paused state,
to make sure the pause of CpuManager is synchronised.
Signed-off-by: Yi Wang <foxywang@tencent.com>
2023-07-25 09:48:24 -07:00
dependabot[bot]
83c8c3c913
build: Bump itoa from 1.0.6 to 1.0.9
...
Bumps [itoa](https://github.com/dtolnay/itoa ) from 1.0.6 to 1.0.9.
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.6...1.0.9 )
---
updated-dependencies:
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-25 00:42:14 +00:00
dependabot[bot]
922bc0d9aa
build: Bump remain from 0.2.10 to 0.2.11 in /fuzz
...
Bumps [remain](https://github.com/dtolnay/remain ) from 0.2.10 to 0.2.11.
- [Release notes](https://github.com/dtolnay/remain/releases )
- [Commits](https://github.com/dtolnay/remain/compare/0.2.10...0.2.11 )
---
updated-dependencies:
- dependency-name: remain
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 23:56:30 +00:00
dependabot[bot]
d760a77fbb
build: Bump hermit-abi from 0.3.1 to 0.3.2
...
Bumps [hermit-abi](https://github.com/hermitcore/rusty-hermit ) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/hermitcore/rusty-hermit/releases )
- [Commits](https://github.com/hermitcore/rusty-hermit/compare/hermit-abi-0.3.1...hermit-abi-0.3.2 )
---
updated-dependencies:
- dependency-name: hermit-abi
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 00:30:28 +00:00
dependabot[bot]
ad8cdb5e85
build: Bump quote from 1.0.29 to 1.0.31 in /fuzz
...
Bumps [quote](https://github.com/dtolnay/quote ) from 1.0.29 to 1.0.31.
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.29...1.0.31 )
---
updated-dependencies:
- dependency-name: quote
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 00:14:13 +00:00
dependabot[bot]
889d06277a
build: Bump async-trait from 0.1.68 to 0.1.71
...
Bumps [async-trait](https://github.com/dtolnay/async-trait ) from 0.1.68 to 0.1.71.
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.68...0.1.71 )
---
updated-dependencies:
- dependency-name: async-trait
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 17:05:40 -07:00
dependabot[bot]
e3fc5c83bb
build: Bump ryu from 1.0.14 to 1.0.15 in /fuzz
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.14...1.0.15 )
---
updated-dependencies:
- dependency-name: ryu
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 23:44:43 +00:00
dependabot[bot]
06dc25cbd6
build: Bump unicode-ident from 1.0.10 to 1.0.11 in /fuzz
...
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident ) from 1.0.10 to 1.0.11.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.10...1.0.11 )
---
updated-dependencies:
- dependency-name: unicode-ident
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 00:15:47 +00:00
Yu Li
4ef388b67c
tests: add integration for qcow backing file
...
This test case creates a new qcow2 file using the image of ubuntu as
its backing file, and boot a virtual machine with this image file.
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
5ffc6d6107
block: qcow: initialize qcow clusters off the backing file when present
...
This preserves any data that the backing file had on a cluster when
doing a write to a subset of that cluster. These writes cause a
performance penalty on creating new clusters if a backing file is
present.
This commit is based on crosvm implementation:
5ad3bc3459
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
e98ea329bf
block: qcow: read from the backing file if present on read miss
...
Reads to qcow files with backing files will fall through to the backing
file if there is no allocated cluster. As of this change, a write will
still trash the cluster and hide any data already present.
This commit is based on crosvm implementation:
d8144a56e2
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
081a6ebb51
block: qcow: support opening backing files
...
This commit allows opening qcow with a backing file, which supports any
type implementing `BlockBackend`.
This commit is based on crosvm implementation:
9ca6039b03
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
ffe78c98fd
qcow: bugfix: do not write v3 items to qcow header
...
Fixes: 3f02ccaa8
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
741d640330
block: introduce trait BlockBackend
for block types
...
This commit introduces the trait `BlockBackend` with generic ops
including read, write and seek, which can be used for common I/O
interfaces for the block types without using `DiskFile` and `AsyncIo`.
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
447cad3861
block: merge qcow, vhdx and block_util into block crate
...
This commit merges crates `qcow`, `vhdx` and `block_util` into the
crate `block`, which can allow `qcow` to use functions from `block_util`
without introducing a circular crate dependency.
This commit is based on crosvm implementation:
f2eecc4152
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
Yu Li
47fbe9af1e
block_util: add FixedVhd for its Disk type
...
This commit introduces a generic type `FixedVhd` for its sync and async
disk I/O types, and the disk I/O types will use it directly instead of
maintaining a file themselves.
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-19 13:52:43 +01:00
dependabot[bot]
3f87a81e2b
build: Bump ryu from 1.0.14 to 1.0.15
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.14...1.0.15 )
---
updated-dependencies:
- dependency-name: ryu
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 00:18:34 +00:00
dependabot[bot]
aeae5255c8
build: Bump signal-hook from 0.3.15 to 0.3.17 in /fuzz
...
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.3.15 to 0.3.17.
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.15...v0.3.17 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 00:02:13 +00:00
Rob Bradford
0039f45276
vmm: Use LocalX2Apic in MADT/MAT
...
Using this over the LocalApic supports APIC IDs (and hence number of
vCPUs) above 256 (size increases from u8 to u32.)
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2023-07-18 09:35:13 -07:00
Rob Bradford
b792d4751d
vmm: Encode ACPI name for CPUs using hexadecimal
...
This increases the number of CPUs that are supported.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2023-07-17 09:57:51 -07:00
dependabot[bot]
dc6c3a249d
build: Bump async-channel from 1.8.0 to 1.9.0
...
Bumps [async-channel](https://github.com/smol-rs/async-channel ) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v1.8.0...v1.9.0 )
---
updated-dependencies:
- dependency-name: async-channel
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 10:33:11 +00:00
dependabot[bot]
4c7cf634b9
build: Bump darling from 0.20.1 to 0.20.3 in /fuzz
...
Bumps [darling](https://github.com/TedDriggs/darling ) from 0.20.1 to 0.20.3.
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.1...v0.20.3 )
---
updated-dependencies:
- dependency-name: darling
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 00:16:47 +00:00
Alyssa Ross
69bd0036d9
vmm: support removing devices before VM is booted
...
If the VM has been configured but not yet booted, all we need to do to
support removing a device is to remove it from the config, so it will
never be created.
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2023-07-14 10:01:23 -07:00
Yu Li
87d81dd2b1
arch: remove redundant closing paren in log
...
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-14 09:36:27 -07:00
Yu Li
f03c3b737f
main: add missing comma in for net param
...
Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
2023-07-14 09:36:27 -07:00
Alyssa Ross
f346687e3d
vmm: default GDB to false when deserializing
...
This fixes the valid VM config unit tests, which would otherwise fail
to deserialize their expected JSON config due to the missing "gdb" field.
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2023-07-14 09:34:39 -07:00
dependabot[bot]
953c238544
build: Bump mshv-ioctls from afc1581
to 243953f
...
Bumps [mshv-ioctls](https://github.com/rust-vmm/mshv ) from `afc1581` to `243953f`.
- [Commits](afc1581a2c...243953f7ef
)
---
updated-dependencies:
- dependency-name: mshv-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 00:16:04 +00:00
dependabot[bot]
9ea052785e
build: Bump ryu from 1.0.13 to 1.0.14 in /fuzz
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.13 to 1.0.14.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.13...1.0.14 )
---
updated-dependencies:
- dependency-name: ryu
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 23:31:35 +00:00