crosvm: reorganize MsrRWType.

To simplify the construction and parsing, and put the impossible values
checking at parameter parsing time.

BUG=b:215297064
TEST=build

Change-Id: Ic601d61a73dba9e3ec40f3589c62a586e1c7a8c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3655032
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
4 files changed
tree: 04fde4ce77c98b4981aa35c46a8c128f3e5b284a
  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. linux_input_sys/
  31. logo/
  32. media/
  33. net_sys/
  34. net_util/
  35. power_monitor/
  36. protos/
  37. qcow_utils/
  38. resources/
  39. rutabaga_gfx/
  40. seccomp/
  41. serde_keyvalue/
  42. src/
  43. system_api_stub/
  44. tests/
  45. third_party/
  46. tools/
  47. tpm2/
  48. tpm2-sys/
  49. tube_transporter/
  50. usb_sys/
  51. usb_util/
  52. vfio_sys/
  53. vhost/
  54. virtio_sys/
  55. vm_control/
  56. vm_memory/
  57. win_util/
  58. x86_64/
  59. .dockerignore
  60. .gitignore
  61. .gitmodules
  62. .rustfmt.toml
  63. ARCHITECTURE.md
  64. Cargo.toml
  65. CONTRIBUTING.md
  66. LICENSE
  67. navbar.md
  68. OWNERS
  69. PRESUBMIT.cfg
  70. README.chromeos.md
  71. README.md
  72. run_tests
  73. rust-toolchain
  74. setup_cros_cargo.sh
  75. test_all
  76. 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