Commit graph

9321 commits

Author SHA1 Message Date
Frederick Mayle
c9628cf0da base: windows: named_pipes: implement std::io::Read EOF correctly
std::io::Read should return Ok(0) on EOF so that callers can read all of
the data of a variable length stream.

The fix is implemented in PipeConnection::read_internal, so it will
affect more than just the std::io::Read users of Pipe and likely cause
some breakages, but we decided that making them inconsistent would be
too confusing.

I also added a test for std::io::Write, but didn't not change its
behavior. The stdlib docs aren't clear if there are similar expectations
for writes and methods like write_all ought to work as expected with the
currently implementation.

BUG=b:301269927

Change-Id: I808993cdad722a4e95b28800e5681035f254e637
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5768033
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-08-08 23:01:13 +00:00
Gurchetan Singh
91f16c0e54 rutabaga_gfx: kumquat: return None when string is empty
Order was reversed.

BUG=354706346
TEST=GfxstreamEnd2EndGlTest.AhbExternalOesTextureBlitProgramBinary

Change-Id: Id4b1b1f4600628b3cb6bb6f3e6d08bc997f85394
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5773949
Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-08-08 21:02:15 +00:00
Daniel Verkamp
fd98c741f5 riscv64: fix fdt_position assert
The matches!() expression was missing the fdt_postion parameter that it
was intended to be checking.

BUG=b:358112181

Fixes: 49a6c3cf2d ("aarch64: add cmdline param to control FDT address")
Change-Id: I53d29ea6c31142d79384c1e312e8d2bdf16b324b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5772345
Commit-Queue: Frederick Mayle <fmayle@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-08-08 18:15:50 +00:00
recipe-roller
3fd867db6a 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/8740152286120136385

depot_tools:
ec800aa077
  ec800aa (gavinmak@google.com)
      Add "git cl cherry-pick" for cherry picking a chain of CLs via...

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: I73cb09830a00de1b23ce57a916068b0bdf2f0720
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5773982
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-08-08 17:52:03 +00:00
recipe-roller
147ac7ee4a 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/8740201990235572497

depot_tools:
75932421da
  7593242 (qjw@chromium.org)
      metadata: relax versioning info check if Chromium is the canoni...

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: I2d930954686042e2673fc5269d4f7e9cc1b5d860
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5771622
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-08-08 04:35:05 +00:00
recipe-roller
c74e8114b1 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/8740207653068795825

depot_tools:
f52dad9747
  f52dad9 (gavinmak@google.com)
      Handle binaries in presubmit_diff

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: I2ae7a916b3deadcc7907c3cb1713871903732091
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5772333
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-08-08 03:12:35 +00:00
Yuan Yao
f247406733 device: fs: add security_ctx option
To support FUSE_SECURITY_CONTEXT feature, the virtio-fs needs to write
security context passed by guest to /proc/thread-self/attr/fscreate.
This write operation may be invalid for some hosts. If the write
operation failed, guest can not create files/directories in shared
directory.

This CL adds a security_ctx option to virtio-fs. If the option is set
to false, virtio-fs will not enable the FUSE_SECURITY_CONTEXT feature.
The default value is false.

BUG=b:357774649
TEST=run virtio-fs in cuttlefish. Verify file creation in guest
successes.

Change-Id: I51ce965df948c217ab86a6604931c438cd5ee13e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5768058
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Yuan Yao <yuanyaogoog@chromium.org>
2024-08-08 01:51:53 +00:00
recipe-roller
d9720a5bef 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/8740225268112207505

depot_tools:
a603aded9a
  a603ade (ayatane@chromium.org)
      [gclient_scm] Add new auth stack setup to gclient

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: I3ae32c81b3c0c234d1e3d86868d2b4557d990156
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5771612
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-08-07 22:26:51 +00:00
Frederick Mayle
5fd91db08a crosvm: add option to retry on vhost-user connect failure
When enabled and the first attempt fails, prints out a warning and then
silently retries for the full duration.

When starting crosvm with some vhost-user devices, there isn't an
explicit signal from the vhost-user backend process that it is ready and
listening. Often people will just start the backend first, then the
frontend and hope it works, but there is technically a race condition.
To be reliable, the layer above would need to probe the socket path
somehow. It would be best to take care of that logic as part of the
vhost-user frontend.

Instead of polling, we could consider something like inotify on Linux,
but it is more complex and might not be entirely sufficient by itself
because sometimes an old socket file is left around with no listener
(causing a ConnectionRefused error).

BUG=b:340510697
TESTED=manually started the frontend, confirmed the warning log, then started the backend

Change-Id: Id446a690cc64a4a4e100b4cd7df140ddcf17e7d0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5754390
Reviewed-by: Jason Macnak <natsu@google.com>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-08-07 19:53:12 +00:00
Daniel Verkamp
190f8bed41 riscv64: add missing FdtPosition import
BUG=b:358112181

Fixes: 49a6c3cf2d ("aarch64: add cmdline param to control FDT address")
Change-Id: Ie6e641af3d4213d37238b76c9bb5380acb5e8a35
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5770471
Reviewed-by: Frederick Mayle <fmayle@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Auto-Submit: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
2024-08-07 18:10:13 +00:00
recipe-roller
ec74756d0a 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/8740244143620047905

recipe_engine:
a2e7dc4262
  a2e7dc4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 005642dce877 to be41b8d978e2

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: I3a6202c64ce6ef6365923314dd2d8b936e5db8e4
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5770391
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-08-07 17:29:51 +00:00
Daniel Verkamp
fa716e0173 devices: virtio-wl: remove duplicated cfg check
Fixes a clippy warning in Rust 1.80.

Change-Id: I662fa02935e38e04c3d5de2118623a27bbc0198b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5763716
Reviewed-by: Takaya Saeki <takayas@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-08-07 16:06:13 +00:00
recipe-roller
9355cf65ab 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/8740285037024558065

depot_tools:
670ce748be
  670ce74 (jwata@google.com)
      autoninja: Propgate AUTONINJA_BUILD_ID to siso ninja via SISO_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: I0f18c9bf45a2fb7da783c2c22f5239a91c405e54
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5767838
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-08-07 06:37:38 +00:00
recipe-roller
8cb1d502bb 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/8740317752339032337

depot_tools:
2f8e1e499d
  2f8e1e4 (ayatane@chromium.org)
      [git_auth] Improve example comments

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: I182c1ff914b7996ebddc5593edc3d290326b2c99
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5767595
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-08-06 21:56:17 +00:00
recipe-roller
801c765b9a 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/8740319010570788401

depot_tools:
03a5043a94
  03a5043 (ayatane@chromium.org)
      [git_auth] Remove unnecessary quotes

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: I9ea2e82efec4dcddd42fba49c8fe6377c19f2357
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5766522
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-08-06 21:38:39 +00:00
recipe-roller
7d94808c90 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/8740320268632293425

depot_tools:
7a9aca3708
  7a9aca3 (ayatane@chromium.org)
      [git_common] Fix memoize_one type check

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: I6067df3bdd34b4fda9a45e20d6cac3b44932c868
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5766519
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-08-06 21:21:15 +00:00
Gurchetan Singh
38cf62a80d rutabaga_gfx: kumquat: use a singleton gralloc
The Tesla V-100 driver seems to enter a power management
mode and stops being available to the Vulkan loader if
more than a certain number of VK instances are created in
the same process.

Workaround this by having a singleton gralloc per-process.

BUG=b:354706346
TEST=GfxstreamEnd2EndTests --gtest_filter="*MultiThreadedVkMapMemory*"

Change-Id: I95480064d18b9443c32d934d66556afbe77418ad
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5766173
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-08-06 20:55:19 +00:00
recipe-roller
bb35cc786d 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/8740338514010830129

recipe_engine:
2fce2a15ca
  2fce2a1 (mohrr@google.com)
      Roll recipe protos

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: Ie72564d4d2d9df1743ccbd4c446c976f0957c3ab
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5759971
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-08-06 16:32:42 +00:00
recipe-roller
545eaa2d2c 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/8740400169986195361

depot_tools:
4c050c6f1a
  4c050c6 (ayatane@chromium.org)
      [git_common] Use kwarg syntax for memoize_one

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: Iede7f6919d8bae9e7d66577e2fb21182e987e016
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5763732
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-08-06 00:10:41 +00:00
Frederick Mayle
49a6c3cf2d aarch64: add cmdline param to control FDT address
On aarch64, we load BIOS payloads at offset 0x200000 because
cuttlefish's u-boot BIOS requires the FDT at offset zero. However, in a
separate use case, we are loading BIOS payloads that are OK with dynamic
FDT addresses, but might use the Gunyah hypervisor, which currently
requires the payload to be loaded at offset zero. One algorithm can't
satisfy both.

Both the u-boot setup and Gunyah ought to be made more flexible, but it
seems useful to make crosvm's behavior configurable. It lets us adjust
those use cases eventually without causing an immediate backwards
incompatability scramble.

A new "after-payload" mode is included that matches crosvm's RISCV FDT
address behavior and potentially helps with the TODO for >4GB VMs.

BUG=b:353758405

Change-Id: I886f47cf8e0a6b02218794615215a0e972a4ace2
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5740018
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-08-06 00:06:52 +00:00
recipe-roller
0dcc532a0f 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/8740403315871607185

depot_tools:
a3fb9bad66
  a3fb9ba (iannucci@chromium.org)
      [scm] Mock global git config scope globally.

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: I67b9e6cafe9ccd3e797946adcc9941b44e7e1056
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5763728
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-08-05 23:24:33 +00:00
recipe-roller
1b6dfafda4 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/8740404575762081249

depot_tools:
b4e97035af~..cdf5599e67828075c9bd90cea3c9b93717eff67f
  b4e9703 (yiwzhang@google.com)
      redirect stdout and stderr of cipd_bin_setup to /dev/null
  cdf5599 (ayatane@chromium.org)
      [git_common] Fix all type checking errors

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: I09274872c36cdb38256c5d7111e7a666199d6ab0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5763724
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-08-05 22:55:38 +00:00
Daniel Verkamp
5d028abd1c Ensure all packed structs are also repr(C)
Using #[repr(packed)] alone does not guarantee that the struct fields
will stay in the specified order, and as of a change in Rust 1.80, the
compiler will actually reorder such structs in practice in some cases:
<https://github.com/rust-lang/rust/pull/125360/>

Add "C" to all structs that were previously #[repr(packed)] alone, since
these are all trying to match an externally-defined layout where order
matters. None of these would get reordered in practice today, even with
the Rust 1.80 change, but this ensures they will always stay consistent.

Change-Id: I397fd0bd531a34e0f1726afb830bcd7fcc6a2f05
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5758933
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-08-05 17:59:28 +00:00
Yuan Yao
34ed5bc4d8 device: fs: add vhost-user-fs e2e test
Add unit tests for vhost-user-fs device mount, verifying successful
mounting of vhost-user fs device with sandbox abled. Test without
sandbox is not prepared, since the vhost-user-fs device need to run as
root.

A new test scenario(mount_rw) has been added to e2e test. This scenario
mounts virtiofs in the guest, then verifies data by reading from the
host's shared directory. It also creates a file in the guest, writes
data to it, and has the host verify the written data. This scenario is
tested using both in-process virtiofs and vhost-user-fs devices.

Additionally, the copy_file functionality has been refactored into a
separate scenario that runs on both virtio-fs and vhost-user-fs devices.

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

Change-Id: Icc09355fee1aae464b98fa153a98cbdd4a9e117d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5746575
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Yuan Yao <yuanyaogoog@chromium.org>
2024-08-05 10:23:03 +00:00
Yuan Yao
54e5b6b204 device: vhost_user: Enable seccomp filter vhost-user-fs
Vhost-user-fs currently lacks seccomp filter support, which cause
security concerns to put into real usage. This change introduces
virtio-fs device's seccomp policy filter to vhost-user-fs when sandbox
is enabled.

When specified path of socket does not exist for vhost-user device, the
vhost-user device will call socketpair to create a socket. To support
the syscall, the rule allowing socketpair is added to vhost_user.policy.

Also, this CL adds disable-sandbox option for vhost-user-fs-device. The option
is set to false by default, the vhost-user-fs will enter new
mnt/user/pid/net namespace. If the this option is true, the
vhost-user-fs device only create a new mount namespace.

BUG=b:355159487
TEST=run manual tests
TEST=run e2e test in chromium:5746575

Change-Id: I6c18386f690af7b0d2e1550c0b3881d444280a8b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5741356
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Yuan Yao <yuanyaogoog@chromium.org>
2024-08-05 10:22:57 +00:00
recipe-roller
437d6612e0 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/8740670702902418737

depot_tools:
0cb94fcfa9~..40cece20d0eaae6fd41fcbc008480e71f2e3aed9
  0cb94fc (ayatane@chromium.org)
      [git_common] Add type annotations
  40cece2 (ayatane@chromium.org)
      [git_cl] Fix some type checking errors

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: Ie6afe049077d9c608a35ca28d068ca4c51616038
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5760871
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-08-03 00:30:52 +00:00
recipe-roller
66326a9832 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/8740671957826992161

depot_tools:
29838db8fe
  29838db (ayatane@chromium.org)
      [gerrit_util] Add type annotations

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: Ie5da61c356e31aa0e4302d56c08f080e7d48c6f4
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5758935
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-08-03 00:12:25 +00:00
recipe-roller
e4fa8db2ed 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/8740673220263754033

depot_tools:
536cf08520
  536cf08 (ayatane@chromium.org)
      [scm] Add type annotations to GetBranchConfig

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: I7351af8550a58d34e8e359f91a0a9cd5f8419bb9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5760288
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-08-02 23:48:19 +00:00
recipe-roller
bbd29ebd4a 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/8740675107965075889

depot_tools:
72c2f2b6a5
  72c2f2b (ayatane@chromium.org)
      [git_cl] Fix parse_args type checking

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: I08875d784f778d207dab3a51339ce5fc09e560a2
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5760283
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-08-02 23:17:48 +00:00
recipe-roller
dba9495045 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/8740771367044995329

depot_tools:
7815620b1f
  7815620 (ayatane@chromium.org)
      [git_auth] Auto configure global config also

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: Iba97871e0360ad3303f88ed45a17d056c5eba006
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5757446
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-08-01 21:50:57 +00:00
recipe-roller
d13e780e01 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/8740784578373037121

depot_tools:
b0024901d3
  b002490 (sshrimp@google.com)
      Add support for tagging bot_update step

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: I675825ff99182ccb65d53ee4888a008af37358f5
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5757440
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-08-01 18:19:39 +00:00
recipe-roller
7a3a3dd276 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/8740797789833369489

recipe_engine:
6eba71f1a4
  6eba71f (mohrr@google.com)
      [post_process] Remove deprecated checks

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: Id53e4c09fe13901b066d4a6de18ca117bb965ed5
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5757438
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-08-01 14:48:00 +00:00
Keiichi Watanabe
1ff9a40984 devices: fs: Clear O_APPEND for file creation when writeback=true
When writeback is enabled, O_APPEND handling is done in kernel so
crosvm's virtiofs device needs to clear the flag when opening a
file. Otherwise, a file may be corrupted because pwrite() ignores
offset for FD with O_APPEND.

This case is already handled in passthrough.rs by update_open_flags(),
but it hasn't covered the case of `create` and `atomic_open` requests.
We should call update_open_flags() to clear O_APPEND for those cases.

In addition, this CL adds tests for checking flags of an FD opened
with atomic_open.

BUG=b:321254986
TEST=download videos and validate the contents

Change-Id: I404b15bf925731141610f5929693117ea2957d72
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5740485
Reviewed-by: Yuan Yao <yuanyaogoog@chromium.org>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
2024-08-01 06:07:23 +00:00
recipe-roller
c98d23b05d 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/8740858817118265569

depot_tools:
be5ff1a6c4
  be5ff1a (ayatane@chromium.org)
      [git_auth] Move auto configure logic

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: I7ee1adb5a95b48e40e3a4e584da2453b24b5afb3
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5753808
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-07-31 22:43:29 +00:00
recipe-roller
b77724dce2 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/8740861964464287985

depot_tools:
a6cd7589e9
  a6cd758 (ayatane@chromium.org)
      [scm] Fix type errors

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: I81b0da4e11d2e0757b9ff419059ebb17760bb595
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5754386
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-07-31 21:45:38 +00:00
recipe-roller
cacf8a57e2 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

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

depot_tools:
126b52e8e5
  126b52e (iannucci@chromium.org)
      [scm.py] Fix error with missing_ok in GitConfig.

recipe_engine:
1da1b1c82a
  1da1b1c (gredelston@google.com)
      time: Force exception when sleeping after shutdown

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: I244eb42a50324b7eddf2b4d75a5bb66e441941f4
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5753805
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-07-31 21:28:52 +00:00
Gurchetan Singh
19fa4fb207 rutabaga_gfx: kumquat: allow client user to set GPU socket path
Clients may want to connect to a particular instance of
kumquat, in the case of multi-threaded tests that launch
multiple kumquats.  Add the proper API for it.

BUG=b:354706346
TEST=end2end tests

Change-Id: I8ed21f5d1f4cdb719ba69e60c2241848ef35ee0f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747430
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-07-31 21:13:20 +00:00
Gurchetan Singh
e9e727d946 rutabaga_gfx: kumquat parent pipe descriptor
In the case a parent process exists, kumquat needs to
communicate that it's ready to receive connections to
that parent process.

BUG=b:354706346
TEST=end2end tests

Change-Id: I6edaa5a7aec256af0a65646dc7f373144b1b7f1b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747109
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-07-31 21:13:15 +00:00
Gurchetan Singh
fb40243d0a rutabaga_gfx: kumquat: wait for snapshot command to complete
Otherwise, race conditions are observed in gfxstream
tests.

BUG=b:354706346
TEST=MultipleDevicesPreserveHandles end2end test

Change-Id: Id1da631737ed4e297b0a583f880cd6cdb1dbba0f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747108
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-07-31 21:13:10 +00:00
Gurchetan Singh
e7004b1e4f rutabaga_gfx: kumquat: plumb through renderer features
This is needed by gfxstream end2end tests.  Also, don't
crash when VK_ICD_FILENAMES isn't present, but gralloc
mappings are needed.

BUG=b:354706346
TEST=GfxstreamEnd2EndGlTest.AhbExternalOesTextureBlitProgramBinary

Change-Id: I22ae0aaf5654c2cd7274de4363aa4fc351274b75
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747107
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-07-31 21:13:05 +00:00
Gurchetan Singh
e62ec414b0 rutabaga_gfx: kumquat: fix KUMQUAT_GPU_PROTOCOL_CTX_DESTROY handling
Need to encode and decode ctx_id properly.

BUG=b:354706346
TEST=GfxstreamEnd2EndTests --gtest_filter="*GfxstreamEnd2EndVkTest.MultiThreadedShutdown*"

Change-Id: Idba0214a2947e03e98ad6cc4f8b046f2382de83b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747106
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-07-31 21:13:00 +00:00
Gurchetan Singh
cad8c0be92 rutabaga_gfx: kumquat: fence transfer operations
The client needs to wait for these commands to be
processed before proceeding.

BUG=b:354706346
TEST=gfxstream end2end test

Change-Id: I771270851ff0a4c1fb9c5a0051f09c0311d66c2b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747105
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-07-31 21:12:55 +00:00
Gurchetan Singh
1c8563df01 rutabaga_gfx: kumquat: allow 100ms timeouts
Kumquat needs to check for additional messages from other
connections rather than waiting on one connection forever.

BUG=b:354706346
TEST=gfxstream end2end test

Change-Id: I2bd69091991255eec11b2cc37ab16115a00f8e12
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747104
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
2024-07-31 21:12:51 +00:00
Gurchetan Singh
c91ddb8782 rutabaga_gfx: kumquat: transition server to Tube/Listener
Use the newly added Tube/Listener abstractions.

BUG=b:354706346
TEST=run apps via Kumquat

Change-Id: I70b4466a9359b05259afa29f3f2bf34731c8a086
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747103
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
2024-07-31 21:12:46 +00:00
Gurchetan Singh
aec84817bf rutabaga_gfx: cross_domain: transition to Tube abstractions
This reduces the amount of OS-specific code in the
cross-domain subdir.

BUG=b:354706346
TEST=it would just work (TM)

Change-Id: Id317577e19fbbda06ed61b192e73456b13c66e95
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747102
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
2024-07-31 21:12:40 +00:00
Gurchetan Singh
9c105ec4f6 rutabaga_gfx: introduce Tube and Listener abstractions
This is mostly to use SockType::SeqPacket in nix,
since std::os::unix::net for some reason does not
support SeqPacket yet.

As predicted in crrev.com/c/5645904, not using
SeqPacket does lead to test failures for
multi-threaded tests, so we actually need it for
kumquat.

Note RutabagaStream takes it's naming inspiration from
gfxstream, not UnixStream.

Also, since RutabagaStream is more cross-platform friendly
now, remove the "ipc" feature.  It's now always compiled.

BUG=b:354706346
TEST=tfw-pkg/bin/testfw_app --gfx egl --gl_api=gles \
     -w 1280 -h 720 -t gl_driver2_off

Change-Id: I0aebbe4239ba78c70f9049ff8b3fcd0e5fc27d28
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5747101
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-07-31 21:12:36 +00:00
recipe-roller
9ac9aa13f3 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/8740939348491002033

depot_tools:
e645ef94ae
  e645ef9 (ayatane@chromium.org)
      [gerrit_client] Uprev vpython python to 3.11

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: Ia5d444d301704303a7703158433ddd88acc7132a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5750489
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-07-31 01:18:56 +00:00
recipe-roller
534cbaa627 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/8740941710660744897

recipe_engine:
8234f78473
  8234f78 (meiring@google.com)
      [Analysis] Switch LUCI Analysis service hostname.

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: I9b68ffc30aa86d1d2ee212a03e347535c6416b59
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5750487
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-07-31 00:44:26 +00:00
recipe-roller
4311af6c5a 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/8740943752004559521

depot_tools:
db74f93ff9
  db74f93 (ayatane@chromium.org)
      [git_auth] Rename configure functions

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: Idc8b3873294e61ab517885c4e08210714bf142f0
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5751207
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-07-31 00:11:48 +00:00
recipe-roller
e5b43d4377 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/8740946269988484033

depot_tools:
1590dceac5
  1590dce (ayatane@chromium.org)
      [git_auth] Move auth related functions

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: I42ca580ade3ae43c87f91c071160baa21a999704
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5750486
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-07-30 23:26:29 +00:00