Wei Liu
5646a917ff
tpm: handle short write
...
There is no guarantee that the write can send the whole buffer at once.
In those rare occasions, we should return a sensible error.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-31 18:09:28 +00:00
Wei Liu
6e22f23831
tpm: save almost 8KB stack space
...
The largest possible PTM response is only 16 bytes. Size the output
buffer correctly.
In the socket read function, rely on the caller to provide a
sufficiently large buffer. That eliminates another large stack variable.
In total this saves almost 8KB stack space.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-31 18:09:28 +00:00
Wei Liu
8e996ff2fe
tpm: drop unnecessary cast
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-31 18:09:28 +00:00
Wei Liu
2d2f356d94
devices: tpm: failure to deliver request is considered fatal
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-31 18:09:18 +00:00
dependabot[bot]
938c16f2b2
build: Bump cc from 1.0.78 to 1.0.79
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.78 to 1.0.79.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.78...1.0.79 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 13:51:07 +00:00
dependabot[bot]
105a7dd7aa
build: Bump cc from 1.0.78 to 1.0.79 in /fuzz
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.78 to 1.0.79.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.78...1.0.79 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 23:21:59 +00:00
Wei Liu
11ef495e6b
performance-metrics: share build.rs from project root
...
No need to duplicate the same content in two places.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-30 21:10:02 +00:00
Wei Liu
34b3170680
vmm: fix two typos
...
Change "thead" to "thread".
Also make sure the two messages are distinguishable by adding "vmm" and
"vm" prefix.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-30 21:10:02 +00:00
Wei Liu
427a2bacf5
block_util: convert aligned_operations to SmallVec
...
The number of aligned operations can not be larger than the number of
descriptors. Initializing the capacity to 1 is good enough per the
observation that most of time there is only one data descriptor in a
given request.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-30 08:13:40 +00:00
Wei Liu
1325c76525
block_util: use SmallVec in async adaptor
...
Also fix a comment while at it.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-30 08:13:40 +00:00
Michael Zhao
4a51a6615f
arch: Fix AArch64 socket setting in CPU topology
...
Before Linux v6.0, AArch64 didn't support "socket" in "cpu-map"
(CPU topology) of FDT.
We found that clusters can be used in the same way of sockets. That is
the way we implemented the socket settings in Cloud Hypervisor. But in
fact it was a bug.
Linux commit 26a2b7 fixed the mistake. So the cluster nodes can no
longer act as sockets. And in a following commit dea8c0, sockets were
supported.
This patch fixed the way to configure sockets. In each socket, a default
cluster was added to contain all the cores, because cluster layer is
mandatory in CPU topology on AArch64.
This fix will break the socket settings on the guests where the kernel
version is lower than v6.0. In that case, if socket number is set to
more than 1, the kernel will treat that as FDT mistake and all the CPUs
will be put in single cluster of single socket.
The patch only impacts the case of using FDT, not ACPI.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2023-01-30 08:12:56 +00:00
Rob Bradford
d5ce855649
misc: Update reference kernel to 6.1.6
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2023-01-30 08:12:56 +00:00
Bo Chen
496f932276
build: Temporarily disable bare metal x86-64 workers
...
These machines are unreachable.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2023-01-28 09:27:27 +00:00
dependabot[bot]
c33efe294a
build: Bump micro_http from fbef706
to b538bf8
...
Bumps [micro_http](https://github.com/firecracker-microvm/micro-http ) from `fbef706` to `b538bf8`.
- [Release notes](https://github.com/firecracker-microvm/micro-http/releases )
- [Commits](fbef706e28...b538bf89e5
)
---
updated-dependencies:
- dependency-name: micro_http
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 23:59:35 +00:00
dependabot[bot]
2d022d0c85
build: Bump micro_http from fbef706
to b538bf8
in /fuzz
...
Bumps [micro_http](https://github.com/firecracker-microvm/micro-http ) from `fbef706` to `b538bf8`.
- [Release notes](https://github.com/firecracker-microvm/micro-http/releases )
- [Commits](fbef706e28...b538bf89e5
)
---
updated-dependencies:
- dependency-name: micro_http
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 23:19:16 +00:00
Praveen K Paladugu
5b31b19530
tests: enable tpm tests for mshv
...
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
2023-01-27 21:14:38 +00:00
Praveen K Paladugu
ad202f9b7a
hypervisor: x86: emulate MOVSB
...
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
2023-01-27 21:14:38 +00:00
Wei Liu
3a225aaa23
hypervisor: x86: emulate MOVSW
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-27 21:14:38 +00:00
Wei Liu
1bfa07f48e
hypervisor: x86: use a macro to generate emulate function for movs
...
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-27 21:14:38 +00:00
Ravi kumar Veeramally
8e682bcb00
scripts: Avoid warning from mkdosfs command
...
Fix lowercase label to avoid "mkfs.fat: Warning: lowercase labels
might not work properly on some systems".
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@intel.com>
2023-01-27 08:12:38 -08:00
Bo Chen
1ee2922dbc
Jenkinsfile: Enforce global execution timeout
...
This patch adds a global execution timeout to the Jenkinsfile to avoid
infinite pending Jenkins pipelines, such as when certain worker nodes
are not available. The global execution timeout is now set to 4 hours
which is derived from total timeout of our longest stage (e.g. the
`Worker build`).
Fixes : #5148
Signed-off-by: Bo Chen <chen.bo@intel.com>
2023-01-27 08:04:40 +00:00
dependabot[bot]
2ce503f457
build: Bump libfuzzer-sys from 0.4.5 to 0.4.6 in /fuzz
...
Bumps [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer ) from 0.4.5 to 0.4.6.
- [Release notes](https://github.com/rust-fuzz/libfuzzer/releases )
- [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/libfuzzer/compare/0.4.5...0.4.6 )
---
updated-dependencies:
- dependency-name: libfuzzer-sys
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 23:17:41 +00:00
Bo Chen
574576c8e9
misc: Automatically fix cargo clippy issues added in 1.68 (beta)
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2023-01-26 08:58:37 -08:00
Ravi kumar Veeramally
aaf67c9ae4
doc: Add musl-tools to instructions for build
...
As a first time user of cloud-hypervisor and Rust environment
you get build errors with out this.
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@intel.com>
2023-01-26 08:09:46 -08:00
Rob Bradford
8b9da4e286
build: Bump MSRV to 1.62
...
Needed for #[derive(Default)] on enums which is now clippy checked in
1.68.
Fixes : #5140
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2023-01-26 13:05:23 +00:00
dependabot[bot]
271f11d9ec
build: Bump ssh2 from 0.9.3 to 0.9.4
...
Bumps [ssh2](https://github.com/alexcrichton/ssh2-rs ) from 0.9.3 to 0.9.4.
- [Release notes](https://github.com/alexcrichton/ssh2-rs/releases )
- [Commits](https://github.com/alexcrichton/ssh2-rs/compare/0.9.3...0.9.4 )
---
updated-dependencies:
- dependency-name: ssh2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 07:59:11 +00:00
Muminul Islam
e436b382cc
scripts: check if /dev/{mshv,kvm} exists before test run
...
Right now integration test fails during the test run if
/dev/mshv or /dev/kvm does not exist. We should not
progress and exit early if not present.
Signed-off-by: Muminul Islam <muislam@microsoft.com>
2023-01-26 07:58:13 +00:00
Wei Liu
1ce1fe7334
tpm: rework set_buffer_size
...
Make the code more idiomatic by wrapping the actual size configured in
the returning Result type. This further allows simplifying
get_buffer_size.
The debug message in startup_tpm is more useful if it prints out the
actual size than the wanted size.
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
73af65f417
tpm: drop unused fields in BackendCmd struct
...
They are never used.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
cffde0ff65
devices: avoid unnecessary allocations in TPM code
...
Use the data buffer in the TPM device directly.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
e41b7d90d5
tpm: drop cmd from Emulator struct
...
The command is not done asynchronously. And there is no way to propagate
this error anywhere.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
60425471dd
tpm: get_buffer_size always succeeds
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
2b76e1d7ba
devices: simplify TPM handling
...
The error is never propagated anywhere. Drop it.
Avoid unwrapping unconditionally.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
15ace525be
devices: drop cmd field from TPM struct
...
There is no need to hold on to it. It is only used locally in a
function.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-26 07:57:48 +00:00
Wei Liu
8db630763a
devices: clean up two comments in TPM code
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-25 18:40:57 +00:00
Wei Liu
cd1470e289
devices: rework TPM register and field look-up
...
Match against enums instead.
This then drops the need to import phf.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-25 18:40:57 +00:00
Wei Liu
99d8c34861
devices: change TPM_CRB_R_MAX from u32 to usize
...
This simplifies the code a bit.
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2023-01-25 18:40:57 +00:00
Philipp Schuster
6725771dc3
virtio-devices: typo fixes
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
2023-01-25 10:38:31 +00:00
dependabot[bot]
0e8fd0bc17
build: Bump object from 0.30.2 to 0.30.3
...
Bumps [object](https://github.com/gimli-rs/object ) from 0.30.2 to 0.30.3.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.30.2...0.30.3 )
---
updated-dependencies:
- dependency-name: object
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 23:41:13 +00:00
dependabot[bot]
0ef1e668a5
build: Bump quote from 1.0.21 to 1.0.23 in /fuzz
...
Bumps [quote](https://github.com/dtolnay/quote ) from 1.0.21 to 1.0.23.
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.21...1.0.23 )
---
updated-dependencies:
- dependency-name: quote
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 23:21:28 +00:00
dependabot[bot]
477332a94a
build: Bump arbitrary from 1.2.0 to 1.2.3 in /fuzz
...
Bumps [arbitrary](https://github.com/rust-fuzz/arbitrary ) from 1.2.0 to 1.2.3.
- [Release notes](https://github.com/rust-fuzz/arbitrary/releases )
- [Changelog](https://github.com/rust-fuzz/arbitrary/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/arbitrary/compare/v1.2.0...v1.2.3 )
---
updated-dependencies:
- dependency-name: arbitrary
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 00:26:33 +00:00
dependabot[bot]
7b102c4fa3
build: Bump gimli from 0.27.0 to 0.27.1
...
Bumps [gimli](https://github.com/gimli-rs/gimli ) from 0.27.0 to 0.27.1.
- [Release notes](https://github.com/gimli-rs/gimli/releases )
- [Changelog](https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/gimli/compare/0.27.0...0.27.1 )
---
updated-dependencies:
- dependency-name: gimli
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 23:43:21 +00:00
Praveen K Paladugu
1e159dbefb
tests: Add a test for tpm driver
...
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
2023-01-23 10:10:19 -08:00
Praveen K Paladugu
a4ef6e57a7
ci: install swtpm in Docker container
...
Add steps to build and install swtpm and its dependencies in
ci docker container.
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
2023-01-23 10:10:19 -08:00
Bo Chen
ec45daac19
docs: Use the TDVF firmware from the edk2 repository
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2023-01-23 10:25:27 +01:00
dependabot[bot]
c773330a65
build: Bump arc-swap from 1.5.1 to 1.6.0 in /fuzz
...
Bumps [arc-swap](https://github.com/vorner/arc-swap ) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/vorner/arc-swap/releases )
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.5.1...v1.6.0 )
---
updated-dependencies:
- dependency-name: arc-swap
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 23:17:10 +00:00
Sebastien Boeuf
e4ae668bcd
tdx: Update support based on kvm-upstream v5.19
...
In order to comply with latest TDX version, we rely onto the branch
kvm-upstream-2022.08.07-v5.19-rc8 from https://github.com/intel/tdx
repository. Updates are based on changes that happened in
arch/x86/include/uapi/asm/kvm.h headers file.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2023-01-20 09:59:56 +00:00
Rob Bradford
f6c058da56
.github: Don't try and create releases for created branches
...
Dependabot will create a branch on the repo for it's updates this
triggers the release action (because it's the same event as a tag) which
will then fail leading to dependabot PRs not being automerged. Instead
only run the release check test on PRs or tag creation.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2023-01-20 09:58:53 +00:00
dependabot[bot]
089dffcb49
build: Bump io-uring from 0.5.11 to 0.5.12
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.5.11 to 0.5.12.
- [Release notes](https://github.com/tokio-rs/io-uring/releases )
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 09:24:06 +00:00
dependabot[bot]
9d7034b9c6
build: Bump io-uring from 0.5.11 to 0.5.12 in /fuzz
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.5.11 to 0.5.12.
- [Release notes](https://github.com/tokio-rs/io-uring/releases )
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-20 09:44:48 +01:00