devices: pcie_port: report preferred address

Extend the preferred_address() support to PCIe devices, specifically the
various PCIe root ports.

BUG=b:237415650
TEST=tools/presubmit --all
TEST=Boot x86_64 bzImage

Change-Id: I56109530ccb43a17bdf9b74eec612a527028cc7c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3786974
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
5 files changed
tree: 72f53ab730613b5fe33328f4bafcf464eae81020
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. aarch64/
  5. acpi_tables/
  6. anti_tamper/
  7. arch/
  8. argh_helpers/
  9. base/
  10. bin/
  11. bit_field/
  12. broker_ipc/
  13. ci/
  14. common/
  15. cros_async/
  16. crosvm-fuzz/
  17. crosvm_control/
  18. crosvm_plugin/
  19. devices/
  20. disk/
  21. docs/
  22. fuse/
  23. gpu_display/
  24. hypervisor/
  25. infra/
  26. integration_tests/
  27. io_uring/
  28. kernel_cmdline/
  29. kernel_loader/
  30. kvm/
  31. kvm_sys/
  32. libcras_stub/
  33. linux_input_sys/
  34. logo/
  35. media/
  36. metrics/
  37. net_sys/
  38. net_util/
  39. power_monitor/
  40. protos/
  41. qcow_utils/
  42. resources/
  43. rutabaga_gfx/
  44. seccomp/
  45. serde_keyvalue/
  46. src/
  47. system_api_stub/
  48. tests/
  49. third_party/
  50. tools/
  51. tpm2/
  52. tpm2-sys/
  53. tracing/
  54. tube_transporter/
  55. usb_sys/
  56. usb_util/
  57. vfio_sys/
  58. vhost/
  59. virtio_sys/
  60. vm_control/
  61. vm_memory/
  62. win_audio/
  63. win_util/
  64. x86_64/
  65. .dockerignore
  66. .gitignore
  67. .gitmodules
  68. .rustfmt.toml
  69. ARCHITECTURE.md
  70. Cargo.toml
  71. CONTRIBUTING.md
  72. LICENSE
  73. navbar.md
  74. OWNERS
  75. PRESUBMIT.cfg
  76. README.chromeos.md
  77. README.md
  78. run_tests
  79. rust-toolchain
  80. setup_cros_cargo.sh
  81. test_all
  82. unblocked_terms.txt
README.md

crosvm - The Chrome OS 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 Chrome OS 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 Chrome OS devices.

Logo