Commit graph

8310 commits

Author SHA1 Message Date
Frederick Mayle
7eb27dd45b vm_memory: support lz4 compression for RAM snapshot
RAM snapshot size and overall snapshot time for a basic ubuntu VM right
after login:

  * no compression:  619M 0.8s
  * lz4 compression: 175M 1.2s

BUG=b:320753724
TEST=crosvm snapshot take --compress-memory /tmp/crosvm-snapshot /tmp/crosvm-control

Change-Id: I5dff9fe8744847fea872ad78347ac5f7d8b957e3
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5190788
Reviewed-by: Elie Kheirallah <khei@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
2024-03-08 22:51:26 +00:00
Daniel Verkamp
da9e6b3fbe hypervisor: tests: use a less-invalid fd in irqfd_resample()
Constructing a SafeDescriptor from file descriptor -1 will panic at
runtime when it becomes an OwnedFd wrapper. Rework the test code to
generate an Event with an invalid, but not that invalid, file
descriptor.

BUG=b:242953353
TEST=tools/dev_container tools/presubmit

Change-Id: I0c4865fc90f1c83ec9fb1a1dc1fa0600ce14f479
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354689
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-03-08 22:14:51 +00:00
Daniel Verkamp
fa159ee24a devices: virtio-fs: enable dbus crate stdfd feature
"stdfd" replaces the dbus::arg::OwnedFd type with the OwnedFd from the
standard library (std::os::fd::OwnedFd), which allows safe conversion.

Also use SafeDescriptor::try_from() to clone the descriptor rather than
base::clone_descriptor(), which returns an unmanaged RawDescriptor.

BUG=b:327639547

Change-Id: Ifa1e6b783217e946c027e4db9a6202b39c92936e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354030
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-03-08 22:14:51 +00:00
Daniel Verkamp
7e839bf427 base: unix: add OwnedFd <-> SafeDescriptor conversions
Make our custom SafeDescriptor type interoperable with the new standard
library OwnedFd type.

BUG=b:242953353
TEST=tools/dev_container tools/presubmit

Change-Id: Ibfa716fa81d4e5a4885e65ece29524831ea60ecc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354029
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
2024-03-08 22:13:34 +00:00
Vikram Auradkar
8798b9cd6b metrics: move noop metrics under generic
downstreams will override metrics_product crate

BUG=b:286107739
TEST=none

Change-Id: I90e05289d509c3f3ff85cc3441c89aad3507f0b0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5356287
Commit-Queue: Vikram Auradkar <auradkar@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
2024-03-08 17:45:25 +00:00
Kaiyi Li
e264c7ccbf gpu_display: integrate vulkan display with windowing
Add a new vulkan interface to GpuDisplay and GpuDisplaySurface, and
implement the new interface for GpuDisplayWin using VulkanDisplay.

Test: ran emulatorNexusHwcTest
Change-Id: I241af4edaae7c5d5d99f6b27fb2a7448b9a1b321
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5214575
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Colin Downs-Razouk <colindr@google.com>
2024-03-08 17:11:01 +00:00
recipe-roller
8421b0390b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754055146272603393

depot_tools:
726042b2c2
  726042b (kdlee@chromium.org)
      split_cl: Add spaces

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib5b02a26df5af4117b08714b44fdb7d763862528
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5355093
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-08 06:49:39 +00:00
Hikaru Nishida
917e1f4641 guest_under_testing: uprev PREBUILT_VERSION
It looks like r13 of the prebuilt uploaded does not include the change
made in https://crrev.com/c/5190792 . This CL updates the prebuilt
with the CL as well as the updates made so far.

BUG=b:295256641
TEST=tools/dev_container tools/presubmit all

Change-Id: I795762089ae8aaa42ab34ad9e9cf393429c237cc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5351685
Commit-Queue: Hikaru Nishida <hikalium@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2024-03-08 05:56:38 +00:00
recipe-roller
0eb0ed091d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754060809777046721

depot_tools:
ba2ef1b6a6
  ba2ef1b (tikuta@chromium.org)
      autoninja.bat: fix comment about vpython

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I54bf35a9db005ec92a3fe8184472dbc991851d39
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354031
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-08 05:13:35 +00:00
Daniel Verkamp
73a8ca8efa hypervisor: tests: require windows for haxm
The hypervisor::haxm module is only available for cfg(windows), so make
the cfg wrapping the tests use the same condition as the haxm module.

In theory, HAXM is available on Linux, but we don't support that; this
change makes the cfg checks consistent so that building and testing with
--features=haxm on Linux can succeed (without actually enabling HAXM).

TEST=cargo nextest run --workspace --features=haxm # on Linux

Change-Id: I6642acbe145ab8a44600e151443e05d349e05681
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354026
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-03-08 01:12:21 +00:00
Noah Gold
229ecae3cf gpu_display: improve event device error logging.
The event device type was missing, which makes it a hassle to determine
the type (it can be done from the index). Our path for reading events
also threw away the underlying error, which makes debugging pretty
tricky. This CL fixes both issues.

BUG=b:324486429
TEST=builds

Change-Id: Ie42c065fc6b35c9195db136b94e8831d82c8a23e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5351358
Reviewed-by: Pujun Lun <lunpujun@google.com>
Commit-Queue: Noah Gold <nkgold@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-03-08 01:06:31 +00:00
Ryan Neph
8b7ce75bf5 gpu: disable fixed_blob_mapping by default for gfxstream
Fixed blob mapping can still be enabled at runtime with
`crosvm run ... --gpu=fixed-blob-mapping=true`, if desired.

BUG=b:246334944
TEST=tools/dev_container tools/presubmit

Change-Id: Id3e668a98b4944a556adaefc6843c56732e3f90b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354345
Commit-Queue: Ryan Neph <ryanneph@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-03-08 00:50:42 +00:00
Daniel Verkamp
94a9b3f650 tools/install-mingw64-deps: remove unused winetricks vars
The mingw64 install script does not install winetricks, so it does not
need these variables. They are probably left over from a previous
refactoring. tools/setup-wine64 has the same variables, but they are
actually used in that case.

TEST=make -C tools/impl/dev_container crosvm_dev

Change-Id: I3993f4e53677752c973fc683d13f9dda68f6aae0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5353268
Reviewed-by: Zihan Chen <zihanchen@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-03-07 19:35:33 +00:00
recipe-roller
4e72dac435 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754098551939638801

recipe_engine:
3b1cb2ea04
  3b1cb2e (randymaldonado@google.com)
      [recipe-modules][buildbucket] Remove infra.swarming.priority ha...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8ad80c21c172846e60dbc9fccff18e91395e03fa
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5354027
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-07 19:22:15 +00:00
Kyujung Youn
7caa3d3e6d Make period have the precision of nanoseconds
This is to reduce the rounding error in converting period to msec.

With period_bytes = 1056, frame_rate = 48000, channels = 2,
bytes_per_sample = 2, period should be 5.5 msec, but instead it's
trunked to 5 msec. 0.5 msec of rounding error amounts to ~10% of period.

BUG=b:327766529
TEST=./tools/dev_container ./tools/presubmit

Change-Id: I19004952789c14926db95d18cbd020bf09bc9303
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5348306
Reviewed-by: Andrew Walbran <qwandor@google.com>
Reviewed-by: Jorge Moreira <jemoreira@google.com>
Commit-Queue: Kyujung Youn <kjyoun@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-03-07 19:20:35 +00:00
recipe-roller
960ce728e8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754110510622801073

depot_tools:
78bef266ac
  78bef26 (akhoroshilov@brave.com)
      Display diff on `git cl format --diff` when formatting Java files.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6d418027da0164334463a9cfb34aa7a1bcf072ea
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5352508
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-07 16:10:45 +00:00
recipe-roller
00535769ce Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754115544490727297

depot_tools:
3c79cfc485
  3c79cfc (miersh@google.com)
      Revert "Reland "Add support for GCS deps""

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iea2835e87c2f921d79cc90fdaf23bc110d01af40
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5352507
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-07 14:47:08 +00:00
recipe-roller
d082eaefd8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754116803127350753

depot_tools:
1a4a96ccdc
  1a4a96c (bentekkie@google.com)
      Add link to documentation if reproxy fails to start

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I087daf9ba625dc786fe4ad259f2b8eb4e3ac4a7d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5352506
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-07 14:24:16 +00:00
Hikaru Nishida
1641c55bcc e2e_tests: print prebuilt revision on initialize_once
Make it easy to tell which prebuilt revision is used for the run.

BUG=b:295256641
TEST=CQ

Change-Id: Ib62d0539a248abe83291c4cec8085f929f159b2b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5343248
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Hikaru Nishida <hikalium@chromium.org>
Auto-Submit: Hikaru Nishida <hikalium@chromium.org>
2024-03-07 05:09:04 +00:00
Noah Gold
0092631789 crypto: add generic crate for snapshot encryption.
The generic portion contains only interfaces, but no actual encryption
code. It will be used by an upcoming snapshot encryption option.

BUG=b:286345300
TEST=n/a (intended to always panic)

Change-Id: I54e8d4753a5584ffe7e9f0df5c31636ad34a905d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5350786
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Noah Gold <nkgold@google.com>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
2024-03-07 01:46:03 +00:00
recipe-roller
140cd0e7ec Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754177201606164049

recipe_engine:
81fd7805b8
  81fd780 (chanli@chromium.org)
      [recipe_modules/buildbucket] make the test util support updatin...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie46ae568462ff01b8de009b22f399ef025893221
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5350355
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 22:25:31 +00:00
recipe-roller
ea29f54ad5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754178459364383537

recipe_engine:
342054972b
  3420549 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from ad694c7838f0 to 47b2cf1a0385

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I815bf73c57916ad23ee56356272a6935677efb9e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5348305
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 22:09:29 +00:00
recipe-roller
32f18bd320 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754188526002743777

depot_tools:
46d5382f69
  46d5382 (kimstephanie@google.com)
      Reland "Add support for GCS deps"

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7e69c33054a9c3a14de2f3adcad12da2e9990319
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5350419
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 19:30:28 +00:00
recipe-roller
f196480801 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754189784440844801

recipe_engine:
b4faaf860b
  b4faaf8 (randymaldonado@google.com)
      [recipe-modules][buildbucket] Fix bug in extend_swarming_bot_di...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I643486b9eb9ed1018f1bec92b418c64d4e09bee8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5348302
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 19:09:37 +00:00
Daniel Verkamp
12be0f3d62 cros_tracing_types: statically initialize Mutex
The sync::Mutex::new() function is const now, so it can be constructed
statically rather than requiring lazy initialization.

HashSet::new() is not const, so it cannot be used in a static init;
replace it with the equivalent BTreeSet, which has a const new()
function.

Change-Id: I339903c73f9ab3f41fbb517a30f2987d6d05cb3d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5342657
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-03-06 18:34:55 +00:00
recipe-roller
9f077d29a9 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754201737612744161

recipe_engine:
4f605c6204
  4f605c6 (chanli@chromium.org)
      [recipe_modules/buildbucket] add test util function to update b...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7772646ca04c0cbb0dbffb621ef5760c18ca701b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5347311
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 15:58:25 +00:00
recipe-roller
c670362f72 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754202996703150881

depot_tools:
19187e7927
  19187e7 (philwo@google.com)
      reclient_helper.py: Fix error on macOS < 14.0

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I87595cad3432c54b33a4a5e2ccd7b8f3417e2a90
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5347309
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 15:40:20 +00:00
Wang Ningyuan
e93ce109e8 crosvm: Delay hotplug until PCIe slot is not busy
If a PCI device is hot plugged into a PCIe slot with pending hot unplug
events unhandled by the guest OS, the new device may not be discovered
by the guest. Therefore, crosvm shall not reuse the PCIe slots until
guest indicates the previous events are handled. This is achieved by
  Prioritize vacant ports if available.
  If all ports are busy, wait for command completion asynchornously
  before sending hotplug signal.
An e2etest for the edge case is added.

BUG=b:325997618
TEST=./tools/dev_container ./tools/presubmit
TEST=tast run ${DUT} network.ARCIPv6Connectivity (downstream chromeOS on
a DUT with 2 ethernet adapters, ref: b:324979531)

Change-Id: I66d4ee9c88dd6c703491c1af440bc7160e8ff91b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5316598
Commit-Queue: Ningyuan Wang <ningyuan@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-03-06 11:49:13 +00:00
Wang Ningyuan
02f5dc3b5e devices: add notifier for hotplug command complete
When a PCI hot plug or hot unplug event is completed by the guest, the
hardware is notified by PCI_EXP_SLTCTL_CCIE. In this CL, we add a
notifier when hotplug is complete for PcieRootPort. This is infeasible
for other variants of HotPlugBus.

BUG=b:325997618
TEST=manual feature tests
TEST=./tools/dev_container ./tools/presubmit

Change-Id: I6ed138a3a6006b6d02fe660c293e298b1cc04701
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5326701
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Ningyuan Wang <ningyuan@google.com>
2024-03-06 11:38:00 +00:00
Shintaro Kawamura
1298b09ec2 swap: remove PageFaultEventLogger
PageFaultEventLogger is no longer used. Clean up unused code.

BUG=none
TEST=cargo build --features=swap

Change-Id: I9aae0b974642181bf4ed3f894a3b0500dfe5c9b9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5348559
Auto-Submit: Shin Kawamura <kawasin@google.com>
Reviewed-by: Frederick Mayle <fmayle@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-03-06 10:00:35 +00:00
recipe-roller
93750fadd6 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754239487593357905

recipe_engine:
bd1366a784
  bd1366a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 7b6f64cfcc0e to b20689ed8ac3

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia6440c8efa5fe404b713a1d113ae147890d05b2c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5347307
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 05:54:28 +00:00
Daniel Verkamp
64b71e3ed6 cros_tracing_analyser: update to shlex 1.3
BUG=b:321994092

Change-Id: I4200fd5a7081c1ff72c11e68ab65d3c1802c4b2e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5348295
Auto-Submit: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
2024-03-06 04:12:15 +00:00
recipe-roller
a613a00ab2 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754261504965059857

depot_tools:
de6a9a9692
  de6a9a9 (mlcui@google.com)
      git_cl: Add JSON output flag for `git cl presubmit`

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1cab5534c231fd9a1dded40f0c9c0c313a5052ca
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5347296
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-06 00:08:44 +00:00
recipe-roller
f2f2aa1922 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754265277605997889

depot_tools:
1a92126938
  1a92126 (bryner@google.com)
      Delete vpython, leaving only vpython3.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia29e74f32d75eec7e87711f96472206861969868
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346917
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 23:12:34 +00:00
recipe-roller
14c4cdd12d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754272202737729585

recipe_engine:
de336d573d
  de336d5 (randymaldonado@google.com)
      [recipe_modules][buildbucket] adding backend_task_dimensions_fr...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I68be6ba3a8c5b6bfcef2da71c1ecf43d59e6444b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346186
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 21:20:44 +00:00
recipe-roller
8e02477a0e Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754274718509101409

recipe_engine:
99f494fc8d
  99f494f (randymaldonado@google.com)
      [recipe-modules][buildbucket] Add extend_swarming_bot_dimension...

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9aa88fec19632d03af153d1baa6df392e810f5ba
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346074
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 20:38:34 +00:00
recipe-roller
2ab871be7b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754277863240858929

depot_tools:
93d5662c1d
  93d5662 (kimstephanie@google.com)
      Revert "Reland "Add support for GCS deps""

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iecbf1456931cb54c2bbc03501378105762f8aeb6
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346176
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 19:45:02 +00:00
recipe-roller
3b6e0d6ba8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754279122072210241

recipe_engine:
18cb2bf546
  18cb2bf (vadimsh@chromium.org)
      [swarming] Expose API for fetching task text outputs into a file.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I27bb30f5fa0d3ac98fc7c8ea5f5a906854f1d945
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346175
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 19:31:32 +00:00
recipe-roller
f7adaa2dbe Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754280380705286097

depot_tools:
03e4484a72
  03e4484 (iannucci@chromium.org)
      [recipe_modules/git] Set checkout_dir in tests/number.py.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I053cf14db319d753a31620fdafbbda4ce36f2315
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5345201
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 19:05:52 +00:00
Daniel Verkamp
a6f3ec0094 gpu_display: replace lazy_static with static Mutex init
The lazy_static crate should not be used in crosvm (it has been replaced
with once_cell in https://crrev.com/c/3707624), and sync::Mutex can be
statically initialized now (https://crrev.com/c/5318701), so the lazy
initialization is not even necessary.

Additionally, the once_cell dependency was unnecessarily reintroduced;
it is unused, so it can be removed from Cargo.toml (again).

Change-Id: I263d856e72dbf531ab25595c60f9e88aba9e321f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5342656
Reviewed-by: Kaiyi Li <kaiyili@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
2024-03-05 18:45:13 +00:00
recipe-roller
8f69ddbc99 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754284782813021121

depot_tools:
d94a03f21e
  d94a03f (kimstephanie@google.com)
      Reland "Add support for GCS deps"

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I42829c29779efc5b207c589aa64937537255c401
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5346070
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 17:58:50 +00:00
Frederick Mayle
b169557055 devices: virtio: fix drop order in suspendable_virtio_tests
The "context" object was being dropped before the "device" object in
some cases. I'm not sure why because I don't know why it was valid to
seemingly have a refs to temporaries.

Change-Id: I717e9644eaa35072d369e6fe78c32fd06e30f6f2
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5341690
Reviewed-by: Elie Kheirallah <khei@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-03-05 07:27:54 +00:00
Frederick Mayle
83ac648a40 base: windows: named_pipes: don't panic on non-OS errors
`read_overlapped` can return non-OS errors, e.g. it translates
`ERROR_NO_DATA` into a `WouldBlock` error.

Change-Id: I0cc1d24954908fbba44c6abee0e1ada19d94ecbb
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5341689
Commit-Queue: Frederick Mayle <fmayle@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
2024-03-05 07:27:54 +00:00
recipe-roller
95bbcfcc7e Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754335745455607169

depot_tools:
771b8d7983
  771b8d7 (philwo@google.com)
      reclient_helper.py: Disable racing on slow filesystems

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8a0632b8ad48e3035753ec3a071b354ae5e216ba
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5342658
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-05 04:26:21 +00:00
Wang Ningyuan
6b00bc162b e2e_tests: Add PCIe hotplug support
Currently the guest kernel does not properly support PCIe hotplug: when
a PCI device is hotplugged, PCI_EXP_SLTCTL_CCIE is not sent to notify
the hardware that hotplug is completed. This is solved by enabling the
kernel flags.

BUG=b:325997618
TEST=./tools/dev_container ./tools/presubmit

Change-Id: I6d22fbd94fb420dab3b21c87cedccccbe015d7df
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5332332
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Ningyuan Wang <ningyuan@google.com>
2024-03-05 04:16:26 +00:00
recipe-roller
45c975f683 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8754353990668459585

recipe_engine:
81494310d4
  8149431 (vadimsh@chromium.org)
      [swarming] Update pRPC swarming CLI to v0.5.0.

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=denniskempin@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I044140f9b65926ca2e97b8d7d1ad6d4e340b16f7
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5342654
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2024-03-04 23:38:22 +00:00
Kaiyi Li
33f1afda24 gpu_display: wndproc for vulkan
Windows procedure implementation for the vulkan display.

Test: ran vulkaninfo
Change-Id: Iab7b501092155cdb7eacf6e71c2da4ec6c2253f9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5214574
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Colin Downs-Razouk <colindr@google.com>
Reviewed-by: Pujun Lun <lunpujun@google.com>
2024-03-04 23:14:40 +00:00
Kaiyi Li
35e605fc78 gpu_display: vulkan post resource
Implementation of PostResource and the vulkan calls that blit the image
to the swapchain image.

Test: build
Change-Id: Ib76043ee30e1ef4ff5f1da77bbb2d2548e7af681
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5214573
Reviewed-by: Noah Gold <nkgold@google.com>
Reviewed-by: Mateusz Przybylski <mprzybyl@google.com>
2024-03-04 23:14:40 +00:00
Kaiyi Li
121a1c0108 gpu_display: vulkan post worker
The post worker is responsible for actually posting images to the
display when `post` is called. The image supplied to `post` is copied to
the swapchain image (via a blit operation) and then the swapchain image
is queued for presentation to the display.

Test: build
Change-Id: Ief7bb4aed9b33d3fab48696193d6a3bb438dbf24
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5214572
Reviewed-by: Mateusz Przybylski <mprzybyl@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
2024-03-04 23:14:40 +00:00
Kaiyi Li
750925baed gpu_display: vulkan external image
ExternalImage type manages importing, acquiring, and releasing an image
generated externally in vulkan.

Test: build
Change-Id: Ia95a5ee983d9e9dfb4fa51c5c2917b81fdd89400
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5214571
Reviewed-by: Noah Gold <nkgold@google.com>
Reviewed-by: Mateusz Przybylski <mprzybyl@google.com>
2024-03-04 23:14:40 +00:00