Commit graph

7280 commits

Author SHA1 Message Date
Noah Gold
faea671abe hypervisor: whpx: add SMP interrupt registers.
Restoring a snapshot on WHPX was failing with a SMP Linux guest. khei@
noticed that WHPX has a special "internal" register called
WHvRegisterInternalActivityState. This register is not in the Hypervisor
Top Level Specification, but it does appear in the WHPX headers & MSDN
docs. Its exact function is not specified, but by experimentation we
believe it contains state critical for SMP guests to restore
successfully (they restore successfully once this register is
saved/restored). Perhaps there is some IPI or kernel side LAPIC state
that is only available via this register, and that state is only
critical for SMP guests. In any event (pun intended), we treat the
register as opaque data, and that seems to work fine.

This CL also adds another register that we previously skipped over,
WHvX64RegisterDeliverabilityNotifications. This register is how we
request an interrupt injection window from WHPX for things like PIC
interrupts. Previously we weren't saving/restoring it, and it's possible
for such a request to be pending at snapshot time, so we shouldn't be
discarding that state as it could break things.

BUG=b:297294476
TEST=snapshotted & restored an Ubuntu SMP guest successfully.

Change-Id: I65c14432c9a56388bda7edeacfa21fe1fa8951a6
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827931
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Noah Gold <nkgold@google.com>
Reviewed-by: Elie Kheirallah <khei@google.com>
2023-09-01 00:18:35 +00:00
Noah Gold
9debc20fb0 hypervisor: whpx: stop double restoring TSC.
It turns out the TSC adjust register in the VMCS is already handled for
us by the generic x86_64 code. Actually trying to restore the TSC MSR
will clobber that in a way do not want. (Our goal in snapshotting for
WHPX is to ensure that TSC adjust remains the same, not that the guest's
views a TSC that does not change across snapshot/restore. We rely on
virtio-pvclock to fix up the guest clock after the restore operation,
and it requires TSC adjust to remain constant.)

BUG=b:297294476
TEST=ran the emulator and snapshotted with pvclock enabled. The kernel
did not complain about clock issues.

Change-Id: I04306339d6c11a094d2c81a13f225927b9a89911
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827930
Reviewed-by: Elie Kheirallah <khei@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Noah Gold <nkgold@google.com>
2023-09-01 00:15:47 +00:00
recipe-roller
7daa6078ce 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/8771215093304900033

depot_tools:
e7c4e2ade9
  e7c4e2a (yueshe@google.com)
      [mac_toolchain] Roll mac_toolchain in depot_tools to latest ver...

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: I98cb624fbf4b655d2cea6f3b7a58addb2786d912
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4833674
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>
2023-08-31 20:55:37 +00:00
Ryan Neph
2ed81f78f6 gpu: allow unsandboxed implicit render server spawn with startup flag
Relands 42ee99f25e ("gpu: allow unsandboxed implicit render server spawn") with changes.

Add command line argument allowing virglrenderer to implicitly spawn a
render_server process when a render_server_socket is not provided and
sandboxing is disabled. Useful for simplifying local debugging and injection-based
profiling (ASAN lib injection) workflows.

BUG=b:298221126
TEST=cargo build --features=gpu,x,wl-dmabuf,virgl_renderer,virgl_renderer_next
TEST=Run crosvm with virglrenderer without render_server support built-in - works by default.

Change-Id: I83b888f84dffe055d144d8c9aee67f8feff9c0e2
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4834111
Reviewed-by: Jason Macnak <natsu@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Ryan Neph <ryanneph@google.com>
2023-08-31 20:17:30 +00:00
recipe-roller
e0dde6db67 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/8771223272427138961

depot_tools:
ce60c47f5d
  ce60c47 (aravindvasudev@google.com)
      Restrict fsmonitor warning to MacOS

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: I048d4ae8909abc84dfffaffd3579f6b353e4288a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4833673
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>
2023-08-31 18:49:08 +00:00
Pattara Teerapong
f4e28dc292 devices: virtio: snd: Fix stream release when no data is received
Signal PCM worker on stream release to let the worker break out of the
main loop and be released successfully while CRAS is suspended/broken
and doesn't send data to the worker.

After receiving the stream release command, wait up to 2 periods to
respond to the last buffer and stop the worker. If 2 periods passed
without receiving a new buffer, then stop the worker anyway.

Originally this CL is to handle the case when CRAS is suspended, but we
fixed it by changing the suspend order. We found that this CL can help
with b/297454482 when the worker get stuck due to broken mic.

BUG=b:248470751, b:297454482
TEST=Open/Close stream in ARCVM multiple times and check there is no
     "Error reading msg" or "fetch err" error
TEST=`atest android.media.audio.cts.AudioNativeTest#testRecordAudit
      android.media.audio.cts.AudioNativeTest#testRecordStreamData` on
      chronicler

Change-Id: If9185e46173971d06af934d5054a0dda2866c592
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4054215
Auto-Submit: Pattara Teerapong <pteerapong@chromium.org>
Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org>
Reviewed-by: Judy Hsiao <judyhsiao@google.com>
Commit-Queue: Chih-Yang Hsia <paulhsia@chromium.org>
2023-08-31 08:23:40 +00:00
recipe-roller
7cd94642e7 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/8771279265825697393

depot_tools:
427f0f43ad
  427f0f4 (aredulla@google.com)
      [ssci] Script to run validation on all metadata 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: I7b765a474ac1a62b566d97d1de3b1a7b3b261223
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827932
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>
2023-08-31 04:12:01 +00:00
recipe-roller
6c63237e78 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/8771300026278999553

depot_tools:
e36c6bba14
  e36c6bb (jojwang@google.com)
      Make gclient getdep work with submodules.

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: I6ec79d063bc775d5a07bd476b850638797fc50c8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4828479
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>
2023-08-30 22:26:41 +00:00
Elie Kheirallah
8879591538 devices: virtio-snd: add sleep/wake to vios_backend
Add sleep/wake to the vios_backend Sound device.

BUG=b:297091430
TEST=presubmit

Change-Id: I10d54dcf3ab15f86e1e96a9e25375f83120cc5ef
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4808782
Reviewed-by: Frederick Mayle <fmayle@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Elie Kheirallah <khei@google.com>
2023-08-30 21:48:53 +00:00
recipe-roller
a6c50e4128 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/8771304432349437265

depot_tools:
6308837868
  6308837 (sokcevic@chromium.org)
      Reland "Check if DEPS git is not in git submodules"

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: I678ee377ac53ecdfac45f10193ca6432961d6e5d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827923
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>
2023-08-30 21:17:43 +00:00
Elie Kheirallah
3b9d6cd83c devices: virtio-snd: add snapshot/restore to common_backend
Add snapshot/restore to common backend.
Restore streams and acked features.
Check avail_features and queue_sizes match.

BUG=b:297770176
TEST=presubmit

Change-Id: I91b10fc7742d9c71ddceeef6247c1b54cab0ca23
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4814940
Reviewed-by: Richard Zhang <rizhang@google.com>
Commit-Queue: Elie Kheirallah <khei@google.com>
2023-08-30 21:01:47 +00:00
Elie Kheirallah
98b94de5ce devices: virtio-snd: add sleep/wake to common_backend
Add sleep and wake to VirtioSnd sound device

BUG=b:297091430

Change-Id: I2ea174024dc4d625a684708f025054746ac76d74
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4712071
Reviewed-by: Richard Zhang <rizhang@google.com>
Commit-Queue: Elie Kheirallah <khei@google.com>
2023-08-30 20:38:42 +00:00
Jason Macnak
fd94adeddf Revert "gpu: allow unsandboxed implicit render server spawn"
This reverts commit 42ee99f25e.

Reason for revert: b/298221126 - accidentally enables render server for virglrenderer in undesired cases

BUG=b:298221126

Original change's description:
> gpu: allow unsandboxed implicit render server spawn
>
> Allow virglrenderer to implicitly spawn a render_server process when a
> render_server_socket is not provided and sandboxing is disabled.
>
> BUG=None
> TEST=cargo build --features=gpu,x,wl-dmabuf,virgl_renderer,virgl_renderer_next
>
> Change-Id: Icb682ffbf5812675d3c0c8e5a3d11006ecd53e8d
> Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4563457
> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
> Commit-Queue: Ryan Neph <ryanneph@google.com>
> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>

BUG=None

Change-Id: I657b3537330618b3cae8ebff38ab39e525f38dd1
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827920
Reviewed-by: Ryan Neph <ryanneph@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2023-08-30 19:14:15 +00:00
Kaiyi Li
688d41b1f2 gpu_display: remove unused Windows code
Change-Id: I0f5a090a6934a1b03d0866252478091963591d1f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4804794
Commit-Queue: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Vikram Auradkar <auradkar@google.com>
2023-08-30 18:14:49 +00:00
Kaiyi Li
503f54b283 gpu_display: correct how Metrics is imported
Change-Id: I3c6e8c7b36940bf04cba1f4a0ef1e2fd469d8ee8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4804686
Reviewed-by: Vikram Auradkar <auradkar@google.com>
2023-08-30 18:14:49 +00:00
Pujun Lun
be5eb18d11 gpu_display: log elapsed time for updating host viewport size.
`update_virtual_display_projection()` calls into gfxstream, which may
take a long time to finish if we have a hard time acquiring a certain
lock in gfxstream (b/244201551). We will log the elapsed time and create
a B2T2 rule to catch hanging events.

Bug: 244201551
Test: Ran GPG and checked the log
Change-Id: I4055abc77bcbeeea465e6a79353d0e57fbb63acc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4802517
Reviewed-by: Vikram Auradkar <auradkar@google.com>
2023-08-30 18:14:49 +00:00
Noah Gold
a1e0d46704 gpu_display: guest -> host input event dispatch.
virtio-input devices can receive events from the guest. Primarily this
is used controlling the numlock, capslock, and scroll lock lights. For
KiwiMouse, we'll be using LED 0 (the numlock LED) to allow the guest to
signal whether the mouse should be captured.

We need the capture information to be communicated from the virtio-input
device to SurfaceInput, but some of the plumbing is missing. Currently
we only support host -> guest data, and not the other way around (at
least in gpu_display_win). This CL adds a route for data to flow from
virtio-input to the gpu_display_win Surface via the
the GPU device worker & GpuDisplay::handle_event_device.

Bug: 239991275
Test: ran emulator & verified events were arriving in
on_handle_event_device as expected.

Change-Id: I7ab8e5ec51f7aa655b2cb44fe38483103388b53d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4719210
Reviewed-by: Vikram Auradkar <auradkar@google.com>
2023-08-30 18:14:49 +00:00
recipe-roller
07ae6bbb38 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/8771323306242322561

depot_tools:
abf4847b04
  abf4847 (dcheng@chromium.org)
      Fix various type annotations in git_cl.py as reported by pytype.

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: Ie02fbbc77b2b40a2f619b866f5adbed591b22b8a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4827922
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>
2023-08-30 16:17:34 +00:00
recipe-roller
03dfb13e58 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/8771324562319209681

depot_tools:
1c1cc06a0d~..5f955dfff186afaa64d5549fcae95700a247e50a
  1c1cc06 (gavinmak@google.com)
      Drop py2 support in gs-related files
  5f955df (gavinmak@google.com)
      Drop py2 support from metrics 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: Ic985c907d5728b838e016950c483bd89758ab178
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4826360
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>
2023-08-30 15:59:36 +00:00
Ryo Hashimoto
940ef9307e seccomp: Allow access for video device processes
BUG=b:293252981
TEST=tast run arc.Boot.vm

Change-Id: I466bc8e9bccba2f19a762600c9d2586554016c28
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4819958
Commit-Queue: Ryo Hashimoto <hashimoto@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2023-08-30 03:02:20 +00:00
recipe-roller
abbc458a47 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/8771383702446059009

depot_tools:
b9d7c85582
  b9d7c85 (aredulla@google.com)
      [ssci] Added CheckChromiumDependencyMetadata in presubmit_canne...

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: Id56a2ebc1bee9e7d76febcff646245cb7c3fc24a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824419
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>
2023-08-30 00:18:41 +00:00
recipe-roller
352e5e3da9 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/8771385587680236897

depot_tools:
095f92db7d~..66d0f15a56ae96de29876a7c985e97d7d036323b
  095f92d (dcheng@chromium.org)
      Remove clang-format merge driver.
  66d0f15 (dcheng@chromium.org)
      Summarize number of commits being processed by `git cl upload`.

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: Ic426e2d17db72350a8a7e7d65092b072f55c1892
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824495
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>
2023-08-29 23:47:04 +00:00
Daniel Verkamp
f76f4230af vmm_vhost: remove unsafe u32 -> enum transmutes
The Req trait and related code relied on transmuting arbitrary u32
values into an enum that might not be one of the valid enum branches;
this has always been undefined behavior in Rust, and now it is actually
causing failures at runtime (tests compiled with Rust 1.71.1 in release
mode crash, since the compiler intentionally emits an illegal
instruction for the transmute in a test).

Rework the code so instead of transmuting it first and checking for the
is_valid() function later, we require Req to implement TryFrom<u32> and
make VhostUserMsgHeader::get_code() return a Result so that callers must
check that the code is indeed valid.

Ideally, this code should be refactored so that the VhostUserMsgHeader
is checked once when it is received rather than each time get_code() is
called, but that would be a larger change, so it is left as a potential
future cleanup.

BUG=b:297923761
TEST=cargo test --release -p vmm_vhost # w/rust-toolchain = 1.71.1
TEST=tools/dev_container tools/presubmit

Change-Id: I8d24dd9d81ee107f9ab43ea7bf68145c380364db
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824412
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
2023-08-29 23:38:03 +00:00
recipe-roller
d466a596fe 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/8771386848902374769

depot_tools:
c71efb5d73
  c71efb5 (aravindvasudev@google.com)
      Fix git freeze command

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: I769f7718b326060aa527546e266d5046ad282f38
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824492
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>
2023-08-29 23:26:47 +00:00
Frederick Mayle
e13baabc41 devices: log full anyhow::Error on sleep/snapshot/restore failures
Change-Id: I68cf0a57910415afbaa20dcf7617c36277630d5f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4804687
Reviewed-by: Noah Gold <nkgold@google.com>
Reviewed-by: Elie Kheirallah <khei@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2023-08-29 22:33:35 +00:00
recipe-roller
099cfa512e 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/8771391884007740321

depot_tools:
f2436fce33
  f2436fc (chanli@chromium.org)
      [depot_tools] roll lucicfg pin

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: If8fa396e9b15362ab4306320f690464449cc075c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824485
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>
2023-08-29 22:14:24 +00:00
Pujun Lun
6003534ca3 gpu_display: refactor gpu_main_display_tube.
After go/playcl/83699, the WndProc thread is the only thread that
accesses this tube, so we could change its type from Arc<Mutex<Tube>> to
Rc<Tube>, so that we no longer need to worry about deadlocking.

This tube was a field of struct DisplayParameters. That struct is used
for CLI arg parsing, however, we don't get this tube from CLI so the
code looks awkward. Besides, DisplayParameters specifies params for each
individual window, but we will likely only have one tube and share it
among multiple windows when we support multi-windowing. So, we can
remove it from DisplayParameters, and WindowProcedureThread will
distribute the clones of the tube to surfaces.

Bug: 257486521
Test: Ran GPG

Change-Id: Ic7adeb4a41c89d79e40820ad4d50e8d85c4e385c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4804685
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
2023-08-29 21:59:39 +00:00
recipe-roller
6074ab90a8 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/8771393141885302529

depot_tools:
d40cda515b~..1a8bf9e3707c28876f14f36de5f9a39506bf8e45
  d40cda5 (asvitkine@chromium.org)
      Improve `git cl format` for metrics XML files.
  1a8bf9e (sokcevic@chromium.org)
      Improve error message on gclient sync failure

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: I79927558d423c1fc08ad81a39c1bfa36c7d9f3c9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4823136
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>
2023-08-29 21:45:49 +00:00
recipe-roller
660f15980b 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/8771395028527343201

depot_tools:
c38ebeafb0
  c38ebea (aravindvasudev@google.com)
      Fix fsmonitor warning to not include global

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: Ie6b8f43f4831ecfca20aa8ab0f318cade714dfd7
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4823135
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>
2023-08-29 21:21:26 +00:00
recipe-roller
e556a0bfff 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/8771402578510595265

depot_tools:
642a989069
  642a989 (gavinmak@google.com)
      Reland "Drop py2 support in recipe modules"

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: I0688e78f48dfc1de600a9fa174f4cadfb6d4876f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4824163
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>
2023-08-29 19:17:48 +00:00
recipe-roller
baddb45a20 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/8771405722636419921

depot_tools:
5146d78ee5
  5146d78 (sokcevic@chromium.org)
      Set HEAD on repo init, not after downloading repo

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: Ie3d8ae04951b2ceaa834ffd0cc18174d8c3a5e76
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4823129
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>
2023-08-29 18:27:45 +00:00
Daniel Verkamp
d6ce6ad9a3 devices: fw_cfg: clarify --fw-cfg parameter errors
Report the error from fs::read() if it fails, in addition to the path.

Also add an error for when both string and path are missing, and remove
the validation for this case in config.rs. This simplifies the cmdline
parsing code because it can now use the default deserialization method
instead of a custom from_str_fn.

BUG=b:283990685
TEST=tools/dev_container tools/presubmit
TEST=crosvm run --fw-cfg with string= and path= options

Change-Id: I37104ae00c9acda55f10fdd382ea727d5b59b6cd
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4795353
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Sebastian Hereu <sebastianhereu@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-08-29 18:20:18 +00:00
Daniel Verkamp
37cea3d21e devices: fw_cfg: make --fw-cfg name required
Also add a config test with a valid --fw-cfg with path, and check the
values returned by the valid config parse tests.

BUG=b:283990685
TEST=cargo test parse_fw_cfg

Change-Id: I80ccefa9f449e6fa4bdd56d55cf519e15a213d32
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4795352
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-08-29 17:58:59 +00:00
recipe-roller
b1c644ec34 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/8771407612401563825

depot_tools:
e40f71cbde
  e40f71c (sokcevic@chromium.org)
      Use only DEPS git depedencies if SYNC is used

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: Ib7e7a1902bc9644d60f030203e6e843401b88925
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4823125
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>
2023-08-29 17:58:15 +00:00
Shengsong Tan
95965d77f0 swap: Send fallback info when THP not enabled
This CL change the message when failed to get THP size from warning
to info, due to it will always use the fallback value on the THP
disabled host environment.

BUG=b:296176956
TEST=CQ

Change-Id: I751d58d12b2ab571e0362221eb35f5d37adf916f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4816246
Reviewed-by: Shin Kawamura <kawasin@google.com>
Commit-Queue: Shengsong Tan <sstan@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
2023-08-29 06:41:06 +00:00
recipe-roller
a0b09c3524 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/8771467379935878945

depot_tools:
6c8d2a9ce5
  6c8d2a9 (sokcevic@chromium.org)
      Revert "Check if DEPS git is not in git submodules"

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: Ibac43f668338d54555393e0c76f9aca398d01477
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4820130
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>
2023-08-29 02:06:41 +00:00
Daniel Verkamp
2d5e7d8bef windows: add missing balloon and gpu feature checks
Partly fixes the mingw --no-default-features build. The network config
code is still broken because net structs are only available when the
slirp feature is enabled on Windows, but the uses of the config structs
are not protected with the same cfg check.

BUG=b:260607247
TEST=cargo build --target x86_64-pc-windows-gnu --no-default-features \
                 --features=slirp

Change-Id: Ia2f6e7baf769245135ef5ff48ee6fb2c4578f319
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818989
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-08-29 01:32:27 +00:00
lunpujun
d56dbed44d gpu_display: deprecate MessageRelayThread.
We used to spawn a separate thread to poll gpu_main_display_tube for
messages from the external supervisor, and then wrap those messages in
thread messages (WM_USER_HANDLE_SERVICE_MESSAGE_INTERNAL) that are
posted to the WndProc thread. Now that we have replaced GetMessageW() with
MsgWaitForMultipleObjects(), we can poll that tube and the message queue
at the same time in the WndProc thread, and then route service messages
to WindowMessageDispatcher::process_service_message().

The newly added MsgWaitContext looks similar to EventContext but it is
much simpler, since we don't need to worry about removing handles,
setting timeout, etc. It may get more complex when we start to add more
handles to it (for event devices, etc.), and we might look for ways to
unify the logic with EventContext, but this simple struct should suffice
for now.

Bug: 244489783
Bug: 244491590
Test: flat run emulator
Test: flat run battlestar

Change-Id: I5722523ad1424a1860f2883d33728a1baf9550cc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4719209
Reviewed-by: Pujun Lun <lunpujun@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
2023-08-29 00:18:26 +00:00
recipe-roller
17656db647 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/8771476818141049009

depot_tools:
e6f40ea034
  e6f40ea (sokcevic@chromium.org)
      Check if DEPS git is not in git submodules

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: I4be60cea4583845cb553d338c12cf190d017bec5
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4820128
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>
2023-08-28 23:41:47 +00:00
Pujun Lun
3106fa2733 gpu_display: replace GetMessageW() with MsgWaitForMultipleObjects().
Currently we have two display event loops, one in the GPU worker thread
(mainly used by other platforms; we just poll event devices and the
display closed event there) and one in the WndProc thread (for handling
Windows specific window messages). We are exploring the possibilities of
merging those loops.

MsgWaitForMultipleObjects() allows us to wait for window messages and
other events at the same time. As the first step of our experiments,
we will use it to replace GetMessageW() while keeping everything else
unchanged. Simple performance tests show that there is no regression in
the average latency between we posting a message to the message queue
and we finishing retrieving it from the queue.

Bug: 244489783
Test: Ran GPG

Change-Id: I2ccea348459fa7af0a2ee0ac55e7c817f222a2f6
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4719208
Reviewed-by: Pujun Lun <lunpujun@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Noah Gold <nkgold@google.com>
2023-08-28 23:33:23 +00:00
recipe-roller
977b8eb78c 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/8771479335007715969

depot_tools:
0c6534f852
  0c6534f (sokcevic@chromium.org)
      Reland "Use git_dependencies variable in gitlink 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: I00d9bede7fb7b73901f2125495a40f556428371a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4819667
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>
2023-08-28 22:59:07 +00:00
recipe-roller
07fff7e59d 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/8771481220283258737

depot_tools:
f69f58e2c8
  f69f58e (sokcevic@chromium.org)
      Revert "Use git_dependencies variable in gitlink 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: I2e609c361a062c01f5e7e452c4367c5360c830ee
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818988
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>
2023-08-28 22:28:11 +00:00
recipe-roller
7d853a1508 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/8771482480982692257

depot_tools:
a83906be85
  a83906b (sokcevic@chromium.org)
      Use git_dependencies variable in gitlink 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: I16dbb0f1fd241e82600ef8afda28fea02c99a118
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818758
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>
2023-08-28 22:06:48 +00:00
recipe-roller
7d0ef2b565 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/8771483737993926481

depot_tools:
cea35a3f77
  cea35a3 (jojwang@chromium.org)
      Revert "Remove unnecessary notify=None from git cl upload."

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: I4e33ca0d5d038e9a3bfb3ece44636c5a47a9294b
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818756
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>
2023-08-28 21:46:36 +00:00
Dennis Kempin
4cc08e68f3 Add --no-default-features build to linux builders
This will be run by default by CI builders, but not locally as it
invalidates the build cache.

BUG=b:260607247
TEST=dev_container presubmit --no-delta all

Change-Id: I75f3d97bda6881a343364875e53e529a39ff168a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818791
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2023-08-28 21:39:21 +00:00
Dennis Kempin
5d0da2e3cd dev_container: Fix SIGINT pass-through
In contrast to docker, podman will not pass-through SIGINT unless
--interactive is specified.
This change enables interactive mode by default if a tty is present,
and allows Luci builders to disable this behavior with the new
--no-interactive flag.

BUG=b:275613273
TEST=dev_container presubmit - then CTRL-C

Change-Id: Ic4900a0669b8c423316196abb289516aa618101d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818790
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2023-08-28 21:10:23 +00:00
lunpujun
ca35151bc1 gpu_display: fix a potential memory leak in thread_message_util.
If PeekMessageW() does retrieve a message, we are responsibe for
dropping it.

Bug: 244489783
Test: Ran GPG
Change-Id: I69250387cc93698513a47d38de52d161a0026692
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4719207
Reviewed-by: Pujun Lun <lunpujun@google.com>
Reviewed-by: Vikram Auradkar <auradkar@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
2023-08-28 21:01:43 +00:00
Dennis Kempin
baf1937010 dev_container: Add --no-interactive option
This flag is used by luci builders to force non-interactive mode.
The logic is temporary to allow us to change the defaults for the
interactive mode / tty logic in a follow-up CL.

BUG=b:275613273
TEST=dev_container --no-interactive run_tests

Change-Id: I93f315d5f65ed184e9c400531b115cc94312c95f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818789
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2023-08-28 20:48:01 +00:00
recipe-roller
d1a43064eb 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/8771490659123904593

depot_tools:
7688e78450
  7688e78 (jojwang@google.com)
      Remove unnecessary notify=None from git cl upload.

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: I31c969181df812037b11c24101ce91cbf84e002e
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4818750
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>
2023-08-28 19:56:35 +00:00
Noah Gold
5d3ff6493a devices: virtio: pvclock: fix feature acks.
Similar to virtio-balloon, feature acks were not being tracked properly
and caused snapshotting to fail. This CL applies the same fix we used on
the balloon device.

BUG=b:297294476
TEST=snapshotting doesn't fail on this device anymore.

Change-Id: I6a4faa088eadf043fcc49479e3e565af18dbaa96
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4814771
Reviewed-by: Frederick Mayle <fmayle@google.com>
Commit-Queue: Noah Gold <nkgold@google.com>
2023-08-28 19:02:08 +00:00