aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
3 daysMerge "devices: virtcpufreq: Use default factor if crosvm can't read ↵HEADmastermainDavid Dai
governor" into main
3 daysdevices: virtcpufreq: Use default factor if crosvm can't read governorDavid Dai
Make init less fragile and default to use 100% for governor that can't be read. Bug: 341398030 Test: chmod -r for scaling_governor and boot up a VM Change-Id: I2c9214f9076a2e9ca4fa4031c79e4abd1e1f2e17 Signed-off-by: David Dai <davidai@google.com>
8 daysMerge "hypervisor: gunyah: Mark shm devices as optional" into mainFrederick Mayle
13 daysUPSTREAM: crosvm: snapshot-restore support for kvm clockFrederick Mayle
When kvm clock is available, Linux (6.1 at least) uses it for the scheduling clock (among other things) even when the TSC is configured as the primary clock source. When restoring a VM, if we don't make a KVM_SET_CLOCK call, kvm clock's value will rollback to zero and cause trouble. `ClockState::flags` was deleted because it had no existing uses, it isn't useable in any hypervisor generic way, and because it will result in incorrect behavior for snapshotting. The set of valid flags returned by KVM_GET_CLOCK is not the same as the set of valid flags that can be passed to KVM_SET_CLOCK. Test: snapshot and restore CF Bug: 339527192 Change-Id: I57503e72499a44e98e0c6ca93eb8cb01cb21c16d Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5530677 Reviewed-by: Elie Kheirallah <khei@google.com> Commit-Queue: Frederick Mayle <fmayle@google.com>
13 daysUPSTREAM: crosvm: delete `crosvm snapshot apply` commandFrederick Mayle
We decided long ago to only support restoring a snapshot to a new VM, using `crosvm run --restore`, this command is just a vestige. Test: m Change-Id: I14bb20e3b89c41b277b11fe672d3ce21322cf656 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5530862 Reviewed-by: Noah Gold <nkgold@google.com> Reviewed-by: Elie Kheirallah <khei@google.com> Commit-Queue: Frederick Mayle <fmayle@google.com>
2024-05-01Merge "UPSTREAM: Revert "aarch64: Use cpu_capacity to determine clustering ↵Treehugger Robot
instead"" into main
2024-04-30UPSTREAM: Revert "aarch64: Use cpu_capacity to determine clustering instead"David Dai
This reverts commit b7e72de084373e426a9b5de8535d657c27fd99b4. Reason for revert: It turns out some devices intentionally flattens out their cpu-map topology to improve scheduling behavior. Revert back to using package id to determine clustering info. Original change's description: > aarch64: Use cpu_capacity to determine clustering instead > > Some systems do not populate cpu-map information and > use other ways of grouping CPUs in a frequency/topology > domain instead. Use normalized cpu_capacity information > to determine clustering instead. > > BUG=b:326170473 > Test=./tools/presubmit > Change-Id: If4ba7d224338798fcf2c0ffbaa91547dc2f2e16d > Signed-off-by: David Dai <davidai@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5319790 > Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Test: Boots microdroid with protected mode Bug: b:335130218 Change-Id: I1a601e65a79aacb68c1244127420b2e395f12d5d Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5467699 Commit-Queue: David Dai <davidai@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-04-29CHERRY-PICK: hypervisor: x86: kvm: change TSC once during restoreElie Kheirallah
Initially, time was not being restored in the VM unless we restore the offset. This was possibly due to a different bug, where we weren't restoring all the MSRs. https://chromium.googlesource.com/crosvm/crosvm/+/5441c064e55179d69507c98cceac1750830fa60e Bug:327278462 Test: boot crosvm. snapshot. restore. check time of VM == time of snapshot. Test: boot CF, snapshot CF. Restore CF. Change-Id: I2d4b6d7beba6c40fd37635b5f108559f65c6dd9f Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5492298 Reviewed-by: Steven Moreland <smoreland@google.com> Auto-Submit: Elie Kheirallah <khei@google.com> Reviewed-by: Frederick Mayle <fmayle@google.com> Commit-Queue: Elie Kheirallah <khei@google.com>
2024-04-29hypervisor: gunyah: Mark shm devices as optionalElliot Berman
When using demand paging, userspace shouldn't provide shm vdevice in the VM configuration. The shm vdevice is used by RM to automatically accept and map the mem parcel. With demand paging, the kernel wouldn't be creating mem parcels and Gunyah complains about that no mem parcel was provided for the shm vdevice. Gunyah allows us to add "optional" tag to the vdevice and it will be ignored if no mem parcel is prvoided, as is the case for demand paging. We could create additional downstream UAPI to indicate whether demand paging is being used and not create the vdevice node at all, but the approach of adding "optional" property was preferred to avoid creating downstream UAPI. Bug: 330496811 Change-Id: Ib070e9d453af88a7af5f8c240f9a22c7b744c987 Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2024-04-18Merge "UPSTREAM: aarch64: fdt: Fix CPU compatible to "arm,armv8"" into mainTreehugger Robot
2024-04-18UPSTREAM: aarch64: fdt: Fix CPU compatible to "arm,armv8"Pierre-Clément Tosi
The "arm,arm-v8" compatible string is not documented in the Linux kernel DT bindings [1] and the intended string probably was "arm,armv8" so update the DT generation code and test files to use that instead. [1]: https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpus.yaml BUG=b:335470851 Change-Id: I537b7599a89988244714e2c7af766d6b01e398bc Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5464099 Auto-Submit: Pierre-Clément Tosi <ptosi@google.com> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Test: TH Bug: 335470851 Change-Id: I954569a6c9c3c7dc59ffd8c1eee38c32776999fd
2024-04-16Merge changes from topic "fmayle-crosvm-merge-04122024" into mainFrederick Mayle
* changes: UPSTREAM: base: fix musl build Merge remote-tracking branch 'aosp/upstream-main'
2024-04-16Merge "stop building platform variant" into mainJiyong Park
2024-04-15UPSTREAM: base: fix musl buildFrederick Mayle
musl doesn't appear to provide _SC_LEVEL1_DCACHE_LINESIZE, neither in its C headers nor in the `libc` crate. BUG=b:332584046 TEST=built in AOSP against musl target Bug: 332584046 Change-Id: I3c79435ff43f85a64e55dd86d231ab3d61522214 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5455211 Reviewed-by: Junichi Uekawa <uekawa@chromium.org> Commit-Queue: Frederick Mayle <fmayle@google.com> Reviewed-by: Ryan Neph <ryanneph@google.com>
2024-04-15Merge remote-tracking branch 'aosp/upstream-main'Frederick Mayle
Had to update the rust version to compile the new nix version. The metrics protos have been deleted upstream, so those `out` files are deleted (and we don't need to `sed` them in the script). Added default_team for `hypervisor` to satisify a lint error, will add it everywhere else later. * aosp/upstream-main: (86 commits) Roll recipe dependencies (trivial). devices: vhost-user: fix test flake Roll recipe dependencies (trivial). Cargo.lock: switch to tokio 1.29.1 Roll recipe dependencies (trivial). Roll recipe dependencies (trivial). Roll recipe dependencies (trivial). cros_async: Tokio IoSource for windows cros_async: Add AsyncFd to Tokio linux implementation cros_async: Blocking tokio executor for linux devices: Fix nested executor invocation in async virtio-console cros_async: Move `concurrency` to Overlapped enum Roll recipe dependencies (trivial). Create a minimal virtualization and hypervisor integration test. gpu_display: add max_num_displays to GpuParameters. Roll recipe dependencies (trivial). Roll recipe dependencies (trivial). Roll recipe dependencies (trivial). Refactor android display backend e2e_tests: wait for restore to complete before sending commands ... Bug: 332584046 Test: TH Change-Id: I25dd0124d719a59c312ba31f060c1b37f1d2a1b6
2024-04-12Roll recipe dependencies (trivial).recipe-roller
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/8750828889083143105 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/f967fa68fd4bd3e76140de7ffa449fa3a45a72f4 f967fa6 (mohrr@google.com) [config_types.Path] Add parent and name properties 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: Ifc23989557dea3164aa1cb1378a28b820d55260a Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5450786 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-04-12devices: vhost-user: fix test flakeFrederick Mayle
The final `send_config_changed` was racing with the `drop` call in the client thread. I reproduced it by adding a `sleep` call before the `send_config_changed`. This commit fixes it by delaying the `drop` call until the parent thread requests it. BUG=b:333822173 Change-Id: Ifeab73fe532179bd02e0df2c06a06ca7abbcfb53 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5449910 Auto-Submit: Frederick Mayle <fmayle@google.com> Commit-Queue: Frederick Mayle <fmayle@google.com> Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com>
2024-04-12Roll recipe dependencies (trivial).recipe-roller
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/8750836437467613297 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/a33bc0ea7e504a9661ff0e814bf7aa8244e6451d a33bc0e (mohrr@google.com) [config_types.Path] Add Path.joinpath() 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: Iecf50b2b12356a905037bc66bbf631535137dff2 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5450378 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-04-12Cargo.lock: switch to tokio 1.29.1Daniel Verkamp
ChromeOS only has tokio version 1.29.1 vendored currently, so switch the required version in Cargo.toml and update Cargo.lock to ensure we can build against that version. Since this is only a difference in minor version, newer versions of tokio should also work for other downstream crosvm users. The Cargo.lock update was done by: cargo update -p tokio --precise 1.29.1 BUG=b:334109381 TEST=emerge-$BOARD Change-Id: I5f67367258cd51145a1ff74246cb4e0f02f6a8be Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5450247 Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> Reviewed-by: Dennis Kempin <denniskempin@google.com> Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-04-12Roll recipe dependencies (trivial).recipe-roller
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/8750843987277282881 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/1228d8cdc193e5c5ce4142cc74ee80512095be38 1228d8c (mohrr@google.com) [path] Add warning for using __getitem__ 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: Ie3f0e424ad1e767a628279fbe59b6ce14219252a Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5450244 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-04-12Roll recipe dependencies (trivial).recipe-roller
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/8750845244999803217 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/e3bcd07ab2965a884d706d53aa8bb62d5cf34a45 e3bcd07 (mohrr@google.com) Replace api.path['foo'] with api.path.foo 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: Ied6766d499df2c4676d1d85f9940415e0b441b76 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5447082 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-04-12Roll recipe dependencies (trivial).recipe-roller
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/8750886140072632545 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/3dbc11eba5fb8862dac7473d11f65d544511580c 3dbc11e (bryner@google.com) Add myself and fancl to recipes-py OWNERS. 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: Iefe0d1c9b15946cfc9b5b1a3757f311c68c81c8b Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5448410 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-04-12cros_async: Tokio IoSource for windowsA. Cody Schuffelen
Bug: b/320603688 Test: tools/presubmit Test: cargo build --features=cros_async/tokio --target=x86_64-pc-windows-gnu Change-Id: Idd0824b2664bf6cab577296f34de8954b2495fd1 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5171898 Reviewed-by: Noah Gold <nkgold@google.com> Commit-Queue: Cody Schuffelen <schuffelen@google.com>
2024-04-12cros_async: Add AsyncFd to Tokio linux implementationA. Cody Schuffelen
This uses tokio's utilities to re-schedule IO that would fail with a "would block" error. The `IoSource` is chosen by the Executor based on whether the file descriptor can be successfully added to the internal epoll scheduler. Specifically, AsyncFd::async_io is used for system calls that can fail with EWOULDBLOCK, and spawn_blocking is used for system calls that will always block. Bug: b/320603688 Test: tools/presubmit Test: cargo build --features=cros_async/tokio --target=x86_64-unknown-linux-gnu Change-Id: Ibafbbe65d67cb88b5fcd0f18b00f504430c785c6 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5174967 Reviewed-by: Frederick Mayle <fmayle@google.com> Commit-Queue: Cody Schuffelen <schuffelen@google.com> Reviewed-by: Noah Gold <nkgold@google.com>
2024-04-12cros_async: Blocking tokio executor for linuxA. Cody Schuffelen
This is selectable with a new ExecutorKind. Rather than using the common_executor backend, it uses tokio as the backend. Bug: b/320603688 Test: tools/presubmit Test: cargo build --features=cros_async/tokio --target=x86_64-unknown-linux-gnu Change-Id: Ibf65b17077048f4ed1cce07fa985787b1eb1b6a3 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5174966 Commit-Queue: Cody Schuffelen <schuffelen@google.com> Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-04-12devices: Fix nested executor invocation in async virtio-consoleA. Cody Schuffelen
Bug: b/320603688 Change-Id: I254d38372de1c65bbdb512863cb282014b430231 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5151008 Commit-Queue: Cody Schuffelen <schuffelen@google.com> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-04-11Merge "Refactor android display backend" into mainJiyong Park
2024-04-11cros_async: Move `concurrency` to Overlapped enumA. Cody Schuffelen
`Executor::with_kind_and_concurrency` exists only for the benefit of the `ExecutorKindSys::Overlapped` enum variant, it's not used outside of windows code and not used for `ExecutorKindSys::Handle`. `DiskOption`'s `io_concurrency` value is used to override the concurrency setting in the `ExecutorKind`. Test: tools/presubmit Change-Id: Idd59d78283038ab6f986953f846cd70ef25d4324 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5315960 Reviewed-by: Frederick Mayle <fmayle@google.com> Commit-Queue: Cody Schuffelen <schuffelen@google.com> Reviewed-by: Noah Gold <nkgold@google.com>
2024-04-11Roll recipe dependencies (trivial).recipe-roller
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/8750918227664042801 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/57656070e7ef9584e69f3f9dc909d729c20c62eb 5765607 (mohrr@google.com) [cq] Add module deprecation warning 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: I0a0ae7bc8174a13e2655b32a50a293c0d855a720 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5448397 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-04-11Create a minimal virtualization and hypervisor integration test.Judson Powers
Bug=b:333577047 Change-Id: I3af6992c9335ae082a1d682adedb97916e0bb322 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5443483 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Judson Powers <judsonp@google.com> Reviewed-by: Noah Gold <nkgold@google.com>
2024-04-11gpu_display: add max_num_displays to GpuParameters.Pujun Lun
This parameter specifies the max number of concurrent crosvm displays we support. By default, it will be VIRTIO_GPU_MAX_SCANOUTS (i.e. 16). Different products may choose different upper bounds, but it should never exceed VIRTIO_GPU_MAX_SCANOUTS. For Windows, this defines the max number of concurrent windows. BUG=b:332910955 Change-Id: I9127133e444063f791bc01715ef9a383fc8b9ee6 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5426762 Commit-Queue: Pujun Lun <lunpujun@google.com> Reviewed-by: Dennis Kempin <denniskempin@google.com> Reviewed-by: Kaiyi Li <kaiyili@google.com> Reviewed-by: Jason Macnak <natsu@google.com>
2024-04-11Roll recipe dependencies (trivial).recipe-roller
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/8750927664553553393 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0f7351c6af8a8dab0b39b83e443042dfc508df6d 0f7351c (iannucci@chromium.org) [recipes.py test] Remove unused DescriptionWithCallback class. 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: I84a68a2f45cd2124f9e8dd551bf91b96d60a82f4 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446899 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-04-11Roll recipe dependencies (trivial).recipe-roller
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/8750931437928864129 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/fb10cabcf304a56e458b43c190dcbf3b1301f961 fb10cab (mohrr@google.com) [recipe.warnings] Remove unnecessary "host" entry 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: I4d8180fa122111c7c2c5a42391e0b03e8fcb25f3 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446898 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-04-11Roll recipe dependencies (trivial).recipe-roller
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/8750935842343236705 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2f8f787decda8b2833e3951d7765a4206ea591d8 2f8f787 (mohrr@google.com) Use new path module attributes 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: Ie4ff0f6f8a11cacd00285b694ba6cb75c8dedc90 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446417 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-04-11Refactor android display backendJiyong Park
This change refactors the C interface between crosvm and the android display backend which is designed to be implemented outside of crosvm. The below is a few important changes: * The new interface allows crosvm to draw directly on Android surface. Previously, we allocated a framebuffer in crosvm, let crosvm draw on it, and passed it to the Android-side backend where the framebuffer is copied to Android surface using CPU. * Respect stride set by Android. When a buffer is created on the Android side, the stride is usually set to a multiple of 16 for maximum performance. This change reports that stride back to crosvm so that it can respect the stride. Previously, we used a stride value that is equal to the screen width which may not be multiple of 16. * The error callback function pointer is passed to the Android side only when the context is created. The Android side is expected to keep the pointer along with the context and use it when something goes wrong. Bug: 331900473 TEST=./tools/presubmit Change-Id: I3e5b05407c41413ea55bba37cb7f34f504799734 (cherry picked from commit 4e5494276d9736fa697bcd3e62207f8708b1c0a4) Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446565 Commit-Queue: Frederick Mayle <fmayle@google.com> Reviewed-by: Frederick Mayle <fmayle@google.com>
2024-04-11e2e_tests: wait for restore to complete before sending commandsFrederick Mayle
I can't reproduce the test flake, but I suspect the issue is that, in the test infa machines, the restore is slow enough that it causes the 5 second timeout for sending a command to the guest to fail. Instead of immediately proceeding with the test, wait for the restore work to finish first. This allows us to use a longer timeout and also should make it more obvious which step of the test is slow and/or flaky. BUG=b:333090069 TEST=./tools/run_tests --dut=host --filter-expr="test(snapshot_restore) | test(suspend_resume)" --run-root-tests --no-unit-tests --repetitions 100 Change-Id: I75ad900dcd080d4fa76ceca14974ac044b41e7d5 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446126 Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Frederick Mayle <fmayle@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2024-04-11Merge "UPSTREAM: rutabaga_gfx: upgrade to nix 0.28" into mainFrederick Mayle
2024-04-11Roll recipe dependencies (trivial).recipe-roller
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/8750947167663542897 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/ec3a68b1d3bf7e2fc06d681e957e17b452048c77 ec3a68b (olivernewman@google.com) [engine] Don't warn about empty recipe module directories 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: I8106bbbcfd8ccc3ced63173e047b07e86950f057 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5444313 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-04-11Refactor android display backendJiyong Park
This change refactors the C interface between crosvm and the android display backend which is designed to be implemented outside of crosvm. The below is a few important changes: * The new interface allows crosvm to draw directly on Android surface. Previously, we allocated a framebuffer in crosvm, let crosvm draw on it, and passed it to the Android-side backend where the framebuffer is copied to Android surface using CPU. * Respect stride set by Android. When a buffer is created on the Android side, the stride is usually set to a multiple of 16 for maximum performance. This change reports that stride back to crosvm so that it can respect the stride. Previously, we used a stride value that is equal to the screen width which may not be multiple of 16. * The error callback function pointer is passed to the Android side only when the context is created. The Android side is expected to keep the pointer along with the context and use it when something goes wrong. Bug: 331900473 TEST=./tools/presubmit Test: m com.android.virt Change-Id: I3e5b05407c41413ea55bba37cb7f34f504799734
2024-04-11swap: Actually wait for all tasks in a processDavid Stevens
The previous attempt to fix this was broken in that it only waited for at least one task in a process to stop. This change guarantees that all tasks stop. BUG=b:331740397 TEST=ui.TaskSwitchCUJ with ArcVmmSwapPolicy turned up to 11 Change-Id: If56648c5c061eb8a33828638fd80867a4fb6c4c7 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5445906 Commit-Queue: Shin Kawamura <kawasin@google.com> Auto-Submit: David Stevens <stevensd@chromium.org> Reviewed-by: Shin Kawamura <kawasin@google.com>
2024-04-11Roll recipe dependencies (trivial).recipe-roller
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/8751000016484740065 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/4881cd604b1cbb91496c936f13727b98ba1fd7d6 4881cd6 (chromium-autoroll@skia-public.iam.gserviceaccount.com) Roll CAS Client from e3855bcf8310 to 239be4fd8499 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: I10801be93550e37833dd2f4cd9fc2c26bf377c18 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5446055 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-04-10hypervisor: aarch64: set/get vector APIsDaniel Verkamp
Allow getting and setting vector registers through a separate API, since they are 128 bits wide, unlike other registers exposed via get_one_reg() and set_one_reg(). BUG=b:323354478 TEST=tools/dev_container tools/presubmit Change-Id: I6cf51472fed893f33a0ecebf124597a0227f6580 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5440819 Reviewed-by: Frederick Mayle <fmayle@google.com> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-04-10Roll recipe dependencies (trivial).recipe-roller
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/8751009451499165985 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/3a30482282e703d6488a37071f4524bc99bbc9da 3a30482 (kimstephanie@google.com) Update *_hash and *_is_first_class_gcs to be dotfiles 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: I74704599a4fa33b95232f76c64b4cc599dbc562d Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5445196 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-04-10Roll recipe dependencies (trivial).recipe-roller
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/8751010712163072513 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d93bcdd661d27c0f32570c24c287781e2ed9bbbe d93bcdd (iannucci@chromium.org) [config_types.Path] Refactor Path implementation. 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: I9870d697f785832e1b15f3a3142cf4ca5bee29ee Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5445195 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-04-10stop building platform variantSteven Moreland
It's expensive to build crosvm, so only build AVF and host copies. 33% less things to build here, especially while working on merges. Bug: N/A Test: build Change-Id: I788baf19cc0e245804ea2835bca7883b85b68976
2024-04-10Roll recipe dependencies (trivial).recipe-roller
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/8751014480064626113 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/6f7b85f2675c228309d400fbe01359f136a0b80b 6f7b85f (gavinmak@google.com) Hide git log by default if rolling from a non-public host 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: I8a483a29575b1880df2fe96d95acedf5c4d5aeb8 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5445191 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-04-10disk: replace div_round_up with .div_ceil()Daniel Verkamp
The div_ceil() is available since Rust 1.73. Replace our custom version with the standard library function. BUG=None TEST=cargo test -p disk Change-Id: I6b44d1f5189b1653d8617a51af41cd8a7cc3d162 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5438907 Reviewed-by: Takaya Saeki <takayas@chromium.org> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2024-04-10Roll recipe dependencies (trivial).recipe-roller
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/8751070479725740673 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/c41b0affa0aacd0e8b332477e3f46b579d7672b6 c41b0af (nqmtuan@google.com) [Depot tools] Roll RDB to 0012861 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: I9da2988942c01eaf5b47d2d97e11fdcc1d0d87f8 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5441449 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-04-09Roll recipe dependencies (trivial).recipe-roller
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/8751093758364585489 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/61a919010a6c8bf33e085e082fa2ad0b9252793a 61a9190 (bryner@google.com) New cpython3 and vpython3 packages to depot_tools. recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/09ec4880906a6aae1e8adc63212bd1259a817983 09ec488 (mohrr@google.com) [properties] Add deprecation warning for legacy() 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: Iaeca45948fd084925e38368833293fb99c05c7b8 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5440818 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-04-09Roll recipe dependencies (trivial).recipe-roller
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/8751095016406521857 recipe_engine: https://chromium.googlesource.com/infra/luci/recipes-py.git/+log/0846b9c4f9614e0e4848eb52efb0b83258a680df~..fac1f26c7b49457faf1a935f2106cf9838a27b86 0846b9c (mohrr@google.com) [json] Add deprecation warning fac1f26 (mohrr@google.com) [buildbucket] Add warning for set_buildbucket_host() 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: I806ba086d4e38e7b56a71727692d04dc6abbd07a Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5440815 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>