devices: acpi: ensure that both direct GPE and host SCI are supplied

Rearrange the code to make sure that if direct GPE feature is used then
it is enforced that both host SCI events and GPE list are supplied when
instantiating ACPIPMResource.

BUG=None
TEST=./tools/presubmit

Change-Id: Ib44e217b09344b1c6bed091312eb196863ca2fee
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3537264
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Dmitry Torokhov <dtor@chromium.org>
2 files changed
tree: ddc62b46b032ae8f28068dc232a1288952fc9cfe
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. aarch64/
  5. acpi_tables/
  6. arch/
  7. base/
  8. bin/
  9. bit_field/
  10. ci/
  11. common/
  12. cros_async/
  13. crosvm-fuzz/
  14. crosvm_control/
  15. crosvm_plugin/
  16. devices/
  17. disk/
  18. docs/
  19. fuse/
  20. gpu_display/
  21. hypervisor/
  22. infra/
  23. integration_tests/
  24. io_uring/
  25. kernel_cmdline/
  26. kernel_loader/
  27. kvm/
  28. kvm_sys/
  29. libcras_stub/
  30. libvda/
  31. linux_input_sys/
  32. logo/
  33. net_sys/
  34. net_util/
  35. power_monitor/
  36. protos/
  37. qcow_utils/
  38. resources/
  39. rutabaga_gfx/
  40. seccomp/
  41. src/
  42. system_api_stub/
  43. tests/
  44. third_party/
  45. tools/
  46. tpm2/
  47. tpm2-sys/
  48. usb_sys/
  49. usb_util/
  50. vfio_sys/
  51. vhost/
  52. virtio_sys/
  53. vm_control/
  54. vm_memory/
  55. x86_64/
  56. .dockerignore
  57. .gitignore
  58. .gitmodules
  59. .rustfmt.toml
  60. ARCHITECTURE.md
  61. Cargo.toml
  62. CONTRIBUTING.md
  63. LICENSE
  64. navbar.md
  65. OWNERS
  66. README.chromeos.md
  67. README.md
  68. run_tests
  69. rust-toolchain
  70. setup_cros_cargo.sh
  71. test_all
  72. 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