UPSTREAM: Revert "aarch64: Use cpu_capacity to determine clustering instead"

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>
3 files changed
tree: f47ffc430eb61caa59710d8799ab652cffde3108
  1. .cargo/
  2. .config/
  3. .devcontainer/
  4. .github/
  5. .vscode/
  6. aarch64/
  7. acpi_tables/
  8. arch/
  9. argh_helpers/
  10. audio_streams_conformance_test/
  11. audio_util/
  12. base/
  13. bit_field/
  14. broker_ipc/
  15. common/
  16. cros_async/
  17. cros_fdt/
  18. cros_tracing/
  19. cros_tracing_types/
  20. crosvm_cli/
  21. crosvm_control/
  22. crosvm_plugin/
  23. cuttlefish/
  24. devices/
  25. disk/
  26. docs/
  27. e2e_tests/
  28. fuse/
  29. fuzz/
  30. gpu_display/
  31. hypervisor/
  32. infra/
  33. io_uring/
  34. jail/
  35. kernel_cmdline/
  36. kernel_loader/
  37. kvm/
  38. kvm_sys/
  39. libcras_stub/
  40. linux_input_sys/
  41. logo/
  42. media/
  43. metrics/
  44. net_sys/
  45. net_util/
  46. patches/
  47. perfetto/
  48. power_monitor/
  49. prebuilts/
  50. proto_build_tools/
  51. protos/
  52. resources/
  53. riscv64/
  54. rutabaga_gfx/
  55. sandbox/
  56. serde_keyvalue/
  57. src/
  58. swap/
  59. system_api/
  60. tests/
  61. third_party/
  62. tools/
  63. tube_transporter/
  64. usb_sys/
  65. usb_util/
  66. vendor/
  67. vfio_sys/
  68. vhost/
  69. virtio_sys/
  70. vm_control/
  71. vm_memory/
  72. win_audio/
  73. win_util/
  74. x86_64/
  75. .dockerignore
  76. .envrc
  77. .gitattributes
  78. .gitignore
  79. .rustfmt.toml
  80. android-fork-stats.sh
  81. android-merge-1-setup.sh
  82. android-merge-2-cargo-embargo.sh
  83. Android.bp
  84. ARCHITECTURE.md
  85. Cargo.lock
  86. Cargo.toml
  87. cargo2android_defaults.bp
  88. cargo2android_module.bp.patch
  89. cargo_embargo.json
  90. CONTRIBUTING.md
  91. DIR_METADATA
  92. LICENSE
  93. METADATA
  94. mypy.ini
  95. OWNERS
  96. OWNERS.android
  97. OWNERS_COUNCIL
  98. PRESUBMIT.cfg
  99. PREUPLOAD.cfg
  100. pyproject.toml
  101. README.chromeos.md
  102. README.md
  103. rust-toolchain
  104. TEST_MAPPING
README.md

crosvm - The ChromeOS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on ChromeOS devices.

Logo