Bo Chen
b5bcdbaf48
misc: Upgrade to use the vm-memory crate w/ dirty-page-tracking
...
As the first step to complete live-migration with tracking dirty-pages
written by the VMM, this commit patches the dependent vm-memory crate to
the upstream version with the dirty-page-tracking capability. Most
changes are due to the updated `GuestMemoryMmap`, `GuestRegionMmap`, and
`MmapRegion` structs which are taking an additional generic type
parameter to specify what 'bitmap backend' is used.
The above changes should be transparent to the rest of the code base,
e.g. all unit/integration tests should pass without additional changes.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2021-06-03 08:34:45 +01:00
Rob Bradford
cacec04df6
arch: Remove serde usage
...
With the only struct using it now using Versionize then the serde
dependency can be removed.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-05-26 22:27:41 +02:00
Rob Bradford
72ec98b8a8
arch: aarch64: Versionize Gicv3State
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-05-26 22:27:41 +02:00
dependabot[bot]
dd92715ed2
build: Bump libc from 0.2.94 to 0.2.95
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.94 to 0.2.95.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.94...0.2.95 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-05-26 07:18:40 +00:00
Rob Bradford
6895e634cc
arch: Move crate to rust 2018 edition
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-05-12 17:26:11 +02:00
Henry Wang
139621778b
arch: aarch64: Use vm_fdt crate methods
...
This commit moves the libfdt helpers to vm_fdt crate methods
when creating the FDT.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2021-05-07 18:49:17 +02:00
Rob Bradford
b04e437cfd
arch: Move mpspec to arch crate and simplify
...
Remove unnecessary code for these structs. Moving this also allows the
removal of the arch_gen crate.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-05-06 19:42:52 +01:00
dependabot-preview[bot]
1bad026377
build(deps): bump libc from 0.2.93 to 0.2.94
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.93 to 0.2.94.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.93...0.2.94 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-28 07:02:14 +00:00
dependabot-preview[bot]
23411d45ba
build(deps): bump libc from 0.2.92 to 0.2.93
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.92 to 0.2.93.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.92...0.2.93 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-06 17:03:25 +00:00
dependabot-preview[bot]
b8311cac38
build(deps): bump libc from 0.2.91 to 0.2.92
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.91 to 0.2.92.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.91...0.2.92 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-30 12:09:56 +00:00
dependabot-preview[bot]
e9793020c2
build(deps): bump libc from 0.2.90 to 0.2.91
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.90 to 0.2.91.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.90...0.2.91 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-23 06:56:04 +00:00
dependabot-preview[bot]
e39924d45a
build(deps): bump libc from 0.2.89 to 0.2.90
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.89 to 0.2.90.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.89...0.2.90 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-18 21:29:25 +00:00
dependabot-preview[bot]
c85fba0c43
build(deps): bump libc from 0.2.88 to 0.2.89
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.88 to 0.2.89.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.88...0.2.89 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-15 23:40:01 +00:00
dependabot-preview[bot]
4e307788b7
build(deps): bump byteorder from 1.4.2 to 1.4.3
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.2...1.4.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-10 13:14:58 +00:00
Rob Bradford
e61ee6bcac
tdx: Add "tdx" feature with an empty module inside arch to implement
...
Add the skeleton of the "tdx" feature with a module ready inside the
arch crate to store implementation details.
TEST=cargo build --features="tdx"
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-03-08 18:30:00 +00:00
dependabot-preview[bot]
ccfa34d066
build(deps): bump libc from 0.2.87 to 0.2.88
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.87 to 0.2.88.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.87...0.2.88 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-05 18:39:37 +00:00
dependabot-preview[bot]
d433ae1656
build(deps): bump libc from 0.2.86 to 0.2.87
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.86 to 0.2.87.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.86...0.2.87 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 11:14:57 +00:00
Rob Bradford
f8875acec2
misc: Bulk upgrade dependencies
...
In particular update for the vmm-sys-util upgrade and all the other
dependent packages. This requires an updated forked version of
kvm-bindings (due to updated vfio-ioctls) but allowed the removal of our
forked version of kvm-ioctls.
The changes to the API from kvm-ioctls and vmm-sys-util required some
other minor changes to the code.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-02-26 11:31:08 +00:00
Rob Bradford
ade5097878
arch: use libc::getrandom() instead of rand crate
...
This removes the last use of rand in our tree and the removal of several
dependencies.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-02-23 11:07:48 +00:00
Rob Bradford
6e4c90f305
arch: Include "thiserror" crate as well as "anyhow"
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2021-02-16 18:38:57 +01:00
dependabot-preview[bot]
6d63018d9f
build(deps): bump vm-memory from 0.4.0 to 0.5.0
...
Bumps [vm-memory](https://github.com/rust-vmm/vm-memory ) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/rust-vmm/vm-memory/releases )
- [Changelog](https://github.com/rust-vmm/vm-memory/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vm-memory/compare/v0.4.0...v0.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-10 11:30:05 +00:00
dependabot-preview[bot]
aa3d5cfbfe
build(deps): bump libc from 0.2.85 to 0.2.86
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.85 to 0.2.86.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.85...0.2.86 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-08 16:19:06 +00:00
dependabot-preview[bot]
89008a49cf
build(deps): bump libc from 0.2.84 to 0.2.85
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.84 to 0.2.85.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.84...0.2.85 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-02 07:47:41 +00:00
dependabot-preview[bot]
1df952726a
build(deps): bump libc from 0.2.83 to 0.2.84
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.83 to 0.2.84.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-29 06:21:38 +00:00
dependabot-preview[bot]
36360c7630
build(deps): bump libc from 0.2.82 to 0.2.83
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.82 to 0.2.83.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.82...0.2.83 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-28 06:30:03 +00:00
dependabot-preview[bot]
50a89c6808
build(deps): bump rand from 0.8.2 to 0.8.3
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-27 13:26:04 +00:00
dependabot-preview[bot]
192d69d601
build(deps): bump log from 0.4.13 to 0.4.14
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.13 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.13...0.4.14 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-27 12:48:52 +00:00
dependabot-preview[bot]
6b424b5f6b
build(deps): bump rand from 0.8.1 to 0.8.2
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.8.1...0.8.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 10:41:29 +00:00
dependabot-preview[bot]
d26866e018
build(deps): bump libc from 0.2.81 to 0.2.82
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.81 to 0.2.82.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.81...0.2.82 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-12 07:06:21 +00:00
dependabot-preview[bot]
ab456affb3
build(deps): bump log from 0.4.11 to 0.4.13
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.11 to 0.4.13.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.13 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 12:49:34 +00:00
dependabot-preview[bot]
858f64b3dc
build(deps): bump rand from 0.8.0 to 0.8.1
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.8.0...0.8.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-04 16:36:19 +00:00
dependabot-preview[bot]
3074b178bd
build(deps): bump rand from 0.7.3 to 0.8.0
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.7.3 to 0.8.0.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 20:13:28 +00:00
dependabot-preview[bot]
b51f112629
build(deps): bump libc from 0.2.80 to 0.2.81
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.80 to 0.2.81.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.80...0.2.81 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 08:13:51 +00:00
Samuel Ortiz
1fc0b94fcd
cargo: Move to crates.io vm-memory 0.4.0
...
vm-memory 0.4.0 now contains all our fixes.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2020-11-23 10:55:13 +01:00
dependabot-preview[bot]
f0d0d8ccaf
build(deps): bump libc from 0.2.79 to 0.2.80
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.79 to 0.2.80.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.79...0.2.80 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-26 09:31:03 +00:00
dependabot-preview[bot]
c2cc26fc82
build(deps): bump libc from 0.2.78 to 0.2.79
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.78 to 0.2.79.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.78...0.2.79 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 07:02:05 +00:00
Rob Bradford
6a9934d933
build: Fix vm-memory bump build error
...
A new version of vm-memory was released upstream which resulted in some
components pulling in that new version. Update the version number used
to point to the latest version but continue to use our patched version
due to the fix for #1258
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2020-10-02 16:38:02 +01:00
dependabot-preview[bot]
76c3230e08
build(deps): bump libc from 0.2.77 to 0.2.78
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.77 to 0.2.78.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.77...0.2.78 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-01 05:40:02 +00:00
Henry Wang
39c9583b48
arch: AArch64: implement save/restore for GICv3
...
This commit implements the save/restore for GICv3.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
2020-09-23 12:37:25 +01:00
dependabot-preview[bot]
f24a12913a
build(deps): bump libc from 0.2.76 to 0.2.77
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.76 to 0.2.77.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.76...0.2.77 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-10 06:45:09 +00:00
dependabot-preview[bot]
57ff608be9
build(deps): bump libc from 0.2.74 to 0.2.76
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.74 to 0.2.76.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.74...0.2.76 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 07:08:35 +00:00
dependabot-preview[bot]
12c5b7668a
build(deps): bump libc from 0.2.73 to 0.2.74
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.73 to 0.2.74.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.73...0.2.74 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-28 20:46:37 +00:00
Michael Zhao
6c8749adf2
arch: Switch to hypervisor crate
...
Removed the dependency on kvm-bindings and kvm-ioctls, use hypervisor
crate instead.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-07-21 16:22:02 +02:00
dependabot-preview[bot]
12b37ef13b
build(deps): bump libc from 0.2.72 to 0.2.73
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.72 to 0.2.73.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.72...0.2.73 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 05:15:24 +00:00
dependabot-preview[bot]
cc57467d10
build(deps): bump log from 0.4.8 to 0.4.11
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.8 to 0.4.11.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.8...0.4.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 05:33:44 +00:00
Sebastien Boeuf
e10d9b13d4
arch, hypervisor, vmm: Patch CPUID subleaves to expose EPC sections
...
The support for SGX is exposed to the guest through CPUID 0x12. KVM
passes static subleaves 0 and 1 from the host to the guest, without
needing any modification from the VMM itself.
But SGX also relies on dynamic subleaves 2 through N, used for
describing each EPC section. This is not handled by KVM, which means
the VMM is in charge of setting each subleaf starting from index 2
up to index N, depending on the number of EPC sections.
These subleaves 2 through N are not listed as part of the supported
CPUID entries from KVM. But it's important to set them as long as index
0 and 1 are present and indicate that SGX is supported.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2020-07-15 15:08:56 +02:00
Michael Zhao
598bcf1459
arch: aarch64: Add GICv3-ITS on AArch64
...
GICv3-ITS is needed for MSI handling.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2020-07-14 14:34:54 +01:00
dependabot-preview[bot]
861337cc6f
build(deps): bump libc from 0.2.71 to 0.2.72
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.71 to 0.2.72.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.71...0.2.72 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 05:11:25 +00:00
Muminul Islam
e4dee57e81
arch, pci, vmm: Initial switch to the hypervisor crate
...
Start moving the vmm, arch and pci crates to being hypervisor agnostic
by using the hypervisor trait and abstractions. This is not a complete
switch and there are still some remaining KVM dependencies.
Signed-off-by: Muminul Islam <muislam@microsoft.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2020-06-22 15:03:15 +02:00
dependabot-preview[bot]
aac87196d6
build(deps): bump vm-memory from 0.2.0 to 0.2.1
...
Bumps [vm-memory](https://github.com/rust-vmm/vm-memory ) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/rust-vmm/vm-memory/releases )
- [Changelog](https://github.com/rust-vmm/vm-memory/blob/v0.2.1/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vm-memory/compare/v0.2.0...v0.2.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 17:06:48 +01:00