Michael Zhao
7199119bb2
hypervisor: Remove Vcpu::read_mpidr()
on AArch64
...
Replaced `read_mpidr()` with `get_sys_reg()`.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-07-29 11:45:12 +01:00
Michael Zhao
5b54dc60aa
hypervisor: Add Vcpu::get_sys_reg()
on AArch64
...
Added function `Vcpu::get_sys_reg()` to get single system register.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-07-29 11:45:12 +01:00
Michael Zhao
ecb66b5e94
arch: Declare system registers on AArch64
...
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-07-29 11:45:12 +01:00
Michael Zhao
cd7f36a713
hypervisor: Remove get/set_reg()
on AArch64
...
`Vcpu::get/set_reg()` were only invoked in Vcpu itself.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-07-29 11:45:12 +01:00
Michael Zhao
f7b6d99c2d
hypervisor: Remove get/set_sys_regs()
on AArch64
...
`hypervisor::Vcpu::get/set_sys_regs()` are only used in Vcpu internally.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-07-29 11:45:12 +01:00
Wei Liu
e1a70f676a
hypervisor: use serde_with with LapicState
...
Drop the hand-rolled serializer and deserializer.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-28 14:57:29 +01:00
Wei Liu
bec47ebcc9
hypervisor: simplify LapicState
...
Both KVM and MSHV share the same layout. We can drop one level of
indirection.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-07-28 08:52:28 +01:00
dependabot[bot]
ddc9004471
build: bump redox_syscall from 0.2.15 to 0.2.16
...
Bumps redox_syscall from 0.2.15 to 0.2.16.
---
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-28 00:39:28 +00:00
dependabot[bot]
0c9b4fefc0
build: bump mshv-ioctls from 7ac1b80
to e38ea5d
...
Bumps [mshv-ioctls](https://github.com/rust-vmm/mshv ) from `7ac1b80` to `e38ea5d`.
- [Release notes](https://github.com/rust-vmm/mshv/releases )
- [Commits](7ac1b80bff...e38ea5d64b
)
---
updated-dependencies:
- dependency-name: mshv-ioctls
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-27 23:53:04 +00:00
Rob Bradford
df10dab952
build: Skip running Jenkins if fuzzer only changes
...
There is no point in wasting resources building use Jenkins if the
change only modifies the fuzzers.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-27 18:12:56 +01:00
Rob Bradford
57ee561c39
fuzz: Place targets in alphabetical order
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-27 18:12:56 +01:00
Rob Bradford
a330c531b0
fuzz: Add new fuzzer for emulated cmos device
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-27 18:12:56 +01:00
Rob Bradford
e4211272ad
fuzz: Add new fuzzer for emulated serial device
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-27 18:12:56 +01:00
Sebastien Boeuf
f4e2198767
docs: Extend the list of TDX guest limitations
...
Adding a new limitation related to the TDX guest kernel as it doesn't
allow for most ACPI devices, meaning the PCI hotplug through ACPI isn't
supported unless we use 'tdx_disable_filter' boot parameter.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-26 17:47:03 +02:00
Rob Bradford
f8f0b40e94
build: Move Jenkins workers over to jammy
...
Fixes : #3862
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-26 14:53:49 +01:00
Maximilian Nitsch
87c0791d53
api-client: Handle body_offset is None
...
Handle the case `body_offset` is `None` instead of calling `unwrap()`
which leads to a panic.
Signed-off-by: Maximilian Nitsch <maximilian.nitsch@d3tn.com>
2022-07-26 15:39:31 +02:00
dependabot[bot]
c46a9592c0
build: bump clap from 3.2.14 to 3.2.15
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.14 to 3.2.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.15/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.14...v3.2.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-07-26 07:52:06 +00:00
Sebastien Boeuf
561791ed22
tests: Reliably trigger a guest OOM
...
Rely on /proc/sysrq-trigger to forcibly trigger an OOM in the guest.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-07-26 09:22:38 +02:00
Rob Bradford
857edc71a9
vmm: cpu: Remove now unused CpuManager::vcpus_paused()
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-26 09:22:25 +02:00
Rob Bradford
0e29379bcf
vmm: Make gdb break/resuming more resilient
...
When starting the VM such that it is already on a breakpoint (via
stop_on_boot) when attached to gdb then start the vCPUs in a paused
state rather than starting the vCPUs later (upon resume).
Further, make the resumption/break of the VM more resilient by only
attempting to resume the vCPUs if were are already in a break point and
only attempting to pause/break if we were already running.
Fixes : #4354
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-26 09:22:25 +02:00
dependabot[bot]
23352c4945
build: bump proc-macro2 from 1.0.41 to 1.0.42
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.41 to 1.0.42.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.41...1.0.42 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 09:05:18 +02:00
dependabot[bot]
160528b6f5
build: bump proc-macro2 from 1.0.40 to 1.0.42 in /fuzz
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.40 to 1.0.42.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.40...1.0.42 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 00:26:14 +00:00
dependabot[bot]
00200296ec
build: bump proc-macro2 from 1.0.40 to 1.0.41
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.40...1.0.41 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 23:57:01 +00:00
dependabot[bot]
c612886150
build: bump clap from 3.2.14 to 3.2.15 in /fuzz
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.14 to 3.2.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.15/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.14...v3.2.15 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 23:41:19 +00:00
Rob Bradford
a749182777
vmm: acpi: Use ACPI platform device addresses from DeviceManager
...
Remove the hardcoded addresses.
Also remove PM_TMR_BLK as spec compliant implementation will use
X_PM_TMR_BLK over this field.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-07-25 16:16:06 +01:00
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