Sebastien Boeuf
b51a9e1ef1
pci: Make PciBarRegionType implement PartialEq
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
8746c16593
vmm: Create AddressManager to own SystemAllocator
...
In order to reuse the SystemAllocator later at runtime, it is moved into
the new structure AddressManager. The goal is to have a hold onto the
SystemAllocator and both IO and MMIO buses so that we can use them
later.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
1870eb4295
devices: Lock the BtreeMap inside to avoid deadlocks
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
733e636f02
devices: Allow for bus range removal and update
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
e536f88012
vfio: Implement move_bar() from PciDevice trait
...
Everytime a PCI BAR is moved, the KVM regions need to be updated.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
c865f93c9b
pci: Extend PciDevice trait with move_bar() function
...
In order to support PCI BAR reprogramming, the PciDevice trait defines a
new method move_bar() dedicated for taking appropriate action when a BAR
is moved to a different guest address.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
3e37f59933
pci: Add new DeviceRelocation trait
...
This new trait will allow the VMM to implement the mechanism following a
BAR modification regarding its location in the guest address space.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Sebastien Boeuf
5cc1e73e52
Fix Cargo.lock
...
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-29 16:48:02 +01:00
Rob Bradford
05eb567a7c
build: Ensure there is a release build artifact for travis to upload
...
After some of the build changes there was no longer a release artifact
left to be used for the release builds.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-29 15:23:31 +00:00
Samuel Ortiz
75bf240b83
cargo: Move to 0.3.0
...
Our most recent release.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-10-28 21:32:30 +01:00
dependabot-preview[bot]
be6a1975d2
build(deps): bump serde_derive from 1.0.101 to 1.0.102
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:34:31 +00:00
dependabot-preview[bot]
f27893f822
build(deps): bump vm-memory from 8669369
to 366a907
...
Bumps [vm-memory](https://github.com/rust-vmm/vm-memory ) from `8669369` to `366a907`.
- [Release notes](https://github.com/rust-vmm/vm-memory/releases )
- [Commits](8669369d17...366a907660
)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:17:32 +00:00
dependabot-preview[bot]
696f6cae47
build(deps): bump signal-hook from 0.1.10 to 0.1.11
...
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.1.10 to 0.1.11.
- [Release notes](https://github.com/vorner/signal-hook/releases )
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.1.10...v0.1.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 06:59:16 +00:00
dependabot-preview[bot]
1f7f484f61
build(deps): bump serde from 1.0.101 to 1.0.102
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.101 to 1.0.102.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.101...v1.0.102 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 06:28:18 +00:00
dependabot-preview[bot]
4e0b5e8a63
build(deps): bump syn from 1.0.6 to 1.0.7
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.6...1.0.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 06:27:34 +00:00
dependabot-preview[bot]
c159515e91
build(deps): bump syn from 1.0.5 to 1.0.6
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.5...1.0.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-27 09:21:34 +00:00
dependabot-preview[bot]
26336363cc
build(deps): bump getrandom from 0.1.12 to 0.1.13
...
Bumps [getrandom](https://github.com/rust-random/getrandom ) from 0.1.12 to 0.1.13.
- [Release notes](https://github.com/rust-random/getrandom/releases )
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.1.12...v0.1.13 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-25 13:03:06 +00:00
Rob Bradford
7c2c4fb3fc
acpi_tables: aml: Rename to_bytes() to to_aml_bytes()
...
To avoid a clash with to_bytes() for the unsigned integer types that is
coming in a future release.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
ad60fe110b
arch: x86_64: acpi: Mark 64-bit device area uncacheable
...
This region was erroneously marked as cacheable.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
025f1f9d9b
arch: x86_64: acpi: Remove 16-bit PCI range
...
We don't use this range and it shouldn't be included in our DSDT.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
555ac68ea5
arch: x86_64: acpi: Generate DSDT programatically
...
This was verified by comparing the ASL from disassembling the DSDT
before and after. All the individual AML components themselves are also
unit tested.
Fixes : #352
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
dd539df633
acpi_tables: sdt: Add ability to add to the table from a slice
...
The generic version does not work in this case as it the size of the the
&[u8] is not the size of the slice's contents but how much memory the
slice object itself takes up.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
c76fd6df21
acpi_tables: aml: Implement AML Zero, One, Ones
...
These are special encodings for representing zero, one or all ones in a
single byte.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
9269e40ba5
acpi_tables: aml: Add support for device and scope
...
These both group a set of AML objects together.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
e1e0ac2ee3
acpi_tables: aml: Add support for creating IO and interrupt resources
...
As per ACPI spec: "6.4.2.5 I/O Port Descriptor" and "6.4.3.6 Extended
Interrupt Descriptor"
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
08aff4ed5a
acpi_tables: aml: Add support for address spaces
...
Add support for Word/DWord/QWord address spaces for I/O, memory and
buses. Using sensible defaults for infrequently set flags.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
c4c3540a1d
acpi_tables: aml: Add resource templates and Memory32Fixed
...
Add support for generating resource templates (a kind of buffer) along
with generating Memory32Fixed to go into it.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
03d8cdc4f2
acpi_tables: aml: Generate EISA name IDs
...
EISA names (of the the form UUUNNNN) are encoded into a 32-bit integer.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
3cb73b3a45
acpi_tables: aml: Add Package support
...
Packages are a way of grouping values together and as such they require
an explicit length which is a variable length encoding calculated with
create_pkg_length().
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
bf0d0d9f9b
acpi_tables: aml: Add support for named definitions
...
Named definitions use op code 0x08 and are used to name some more
complex object.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
5a7076442c
acpi_tables: aml: Implement numbers
...
Add support for the numerical types. By using type aliases the
generation can be very ergonomic as From<T> is implemented.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Rob Bradford
a4ce596f7b
acpi_tables: aml: Add support for generating AML name paths
...
Root ("\"), single, dual and multi-part names are supported. "^" is not
supported (not widely used.)
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2019-10-24 10:55:02 +01:00
Samuel Ortiz
1387ac5571
ci: Add cargo audit to the travis pipeline
...
cargo audit audits Cargo.lock for crates with security vulnerabvilities
reported by the RustSec Advisory Database.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-10-23 13:06:29 +03:00
Samuel Ortiz
de9eb3e0fa
Bump vmm-sys-utils to 0.2.0
...
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-10-23 11:35:11 +03:00
dependabot-preview[bot]
dc951af167
build(deps): bump c2-chacha from 0.2.2 to 0.2.3
...
Bumps [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion ) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/cryptocorrosion/cryptocorrosion/releases )
- [Commits](https://github.com/cryptocorrosion/cryptocorrosion/compare/c2-chacha-0.2.2...c2-chacha-0.2.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 17:44:17 +00:00
dependabot-preview[bot]
3dff551399
build(deps): bump ppv-lite86 from 0.2.5 to 0.2.6
...
Bumps [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion ) from 0.2.5 to 0.2.6.
- [Release notes](https://github.com/cryptocorrosion/cryptocorrosion/releases )
- [Commits](https://github.com/cryptocorrosion/cryptocorrosion/compare/ppv-lite86-0.2.5...ppv-lite86-0.2.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 17:10:47 +00:00
dependabot-preview[bot]
4783fe7402
build(deps): bump autocfg from 0.1.6 to 0.1.7
...
Bumps [autocfg](https://github.com/cuviper/autocfg ) from 0.1.6 to 0.1.7.
- [Release notes](https://github.com/cuviper/autocfg/releases )
- [Commits](https://github.com/cuviper/autocfg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 04:26:47 +00:00
dependabot-preview[bot]
e10413b96c
build(deps): bump proc-macro2 from 1.0.5 to 1.0.6
...
Bumps [proc-macro2](https://github.com/alexcrichton/proc-macro2 ) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/alexcrichton/proc-macro2/releases )
- [Commits](https://github.com/alexcrichton/proc-macro2/compare/1.0.5...1.0.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-20 14:30:54 +00:00
dependabot-preview[bot]
317d754946
build(deps): bump ssh2 from 0.4.0 to 0.5.0
...
Bumps [ssh2](https://github.com/alexcrichton/ssh2-rs ) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/alexcrichton/ssh2-rs/releases )
- [Commits](https://github.com/alexcrichton/ssh2-rs/compare/0.4.0...0.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-20 14:30:18 +00:00
dependabot-preview[bot]
eff1ece368
build(deps): bump openssl-sys from 0.9.51 to 0.9.52
...
Bumps [openssl-sys](https://github.com/sfackler/rust-openssl ) from 0.9.51 to 0.9.52.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.51...openssl-sys-v0.9.52 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-20 14:30:02 +00:00
Sebastien Boeuf
05c7130f06
ci: Update ClearLinux image
...
A new ClearLinux image has been uploaded to the Azure storage account.
It is based off of the ClearLinux cloudguest image 31310 version, with
two extra bundles added to it.
First bundle is sysadmin-basic to include utility like netcat, and the
second bundle is iperf, adding the iperf binary to the image.
The image is 2G in size.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-18 16:49:46 +01:00
Samuel Ortiz
8e8a7b6d07
release-notes: v0.3.0 release
...
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-10-18 11:55:13 +02:00
dependabot-preview[bot]
2d7bfdd920
build(deps): bump libc from 0.2.64 to 0.2.65
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.64 to 0.2.65.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.64...0.2.65 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 08:53:20 +00:00
Sebastien Boeuf
5822969afa
docs: Update instructions to create custom ClearLinux image
...
Based on recent update of the cloudguest image used by Cloud Hypervisor,
we identified some missing or incorrect details in the instructions.
This patch is here to fix those.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-18 08:10:06 +02:00
Sebastien Boeuf
defc33927f
docs: iommu: Improve VM boot time and performance
...
This patch extends the existing virtual IOMMU documentation, explaining
how the use of huge pages can drastically improve the VM boot time.
Particularly, how in case of nested VFIO, the impact is significant and
the rationales behind it.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-18 07:21:40 +02:00
Sebastien Boeuf
efbafdf9ed
vm-virtio: Allow 2MiB mappings
...
In order to speed up the boot time and reduce the amount of mappings,
this patch exposes the virtio-iommu device as supporting both 2M and 4k
page sizes.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2019-10-18 07:21:40 +02:00
dependabot-preview[bot]
2b60452195
build(deps): bump backtrace from 0.3.39 to 0.3.40
...
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs ) from 0.3.39 to 0.3.40.
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.39...0.3.40 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-17 22:53:26 +00:00
dependabot-preview[bot]
e8a25c22f6
build(deps): bump backtrace from 0.3.38 to 0.3.39
...
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs ) from 0.3.38 to 0.3.39.
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.38...0.3.39 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-17 19:14:34 +00:00
dependabot-preview[bot]
b8be1dc24a
build(deps): bump backtrace-sys from 0.1.31 to 0.1.32
...
Bumps [backtrace-sys](https://github.com/alexcrichton/backtrace-rs ) from 0.1.31 to 0.1.32.
- [Release notes](https://github.com/alexcrichton/backtrace-rs/releases )
- [Commits](https://github.com/alexcrichton/backtrace-rs/compare/backtrace-sys-0.1.31...backtrace-sys-0.1.32 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-17 18:40:05 +00:00
dependabot-preview[bot]
83631599a3
build(deps): bump cc from 1.0.45 to 1.0.46
...
Bumps [cc](https://github.com/alexcrichton/cc-rs ) from 1.0.45 to 1.0.46.
- [Release notes](https://github.com/alexcrichton/cc-rs/releases )
- [Commits](https://github.com/alexcrichton/cc-rs/compare/1.0.45...1.0.46 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-17 06:37:13 +00:00