Refactoring: Move various general purpose crates to common/

This change contains the results of running

./tools/contib/cargo_refactor.py

This will break the next uprev, and needs to be synchronizized
with the corresponding ebuild changes in https://crrev.com/c/3248925

BUG=b:195126527
TEST=./tools/run_tests

Change-Id: Ied15a1841887bb8f59fba65b912b81acf69beb73
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3248129
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
diff --git a/Cargo.toml b/Cargo.toml
index 3da1b7f..a97631d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -28,21 +28,57 @@
 # that are not dependencies of the crosvm root crate.
 [workspace]
 members = [
-    "fuzz",
-    "qcow_utils",
+    "aarch64",
+    "acpi_tables",
+    "arch",
+    "bit_field",
+    "crosvm-fuzz",
+    "crosvm_plugin",
+    "devices",
+    "disk",
+    "fuse",
+    "gpu_display",
+    "hypervisor",
     "integration_tests",
+    "kernel_cmdline",
+    "kernel_loader",
+    "kvm",
+    "kvm_sys",
+    "libcras_stub",
     "libcrosvm_control",
+    "libvda",
+    "linux_input_sys",
+    "net_sys",
+    "net_util",
+    "power_monitor",
+    "protos",
+    "qcow_utils",
+    "resources",
+    "rutabaga_gfx",
+    "system_api_stub",
+    "tpm2",
+    "tpm2-sys",
+    "usb_sys",
+    "usb_util",
+    "vfio_sys",
+    "vhost",
+    "virtio_sys",
+    "vm_control",
+    "vm_memory",
+    "x86_64",
 ]
 exclude = [
-    "assertions",
-    "base",
-    "cros_async",
-    "data_model",
-    "sync",
-    "sys_util",
-    "tempfile",
-    "vm_memory",
-    "audio_streams",
+    "common/assertions",
+    "common/audio_streams",
+    "common/base",
+    "common/cros-fuzz",
+    "common/cros_async",
+    "common/data_model",
+    "common/enumn",
+    "common/io_uring",
+    "common/p9",
+    "common/sync",
+    "common/sys_util",
 ]
 
 [features]
@@ -79,7 +115,7 @@
 
 [dependencies]
 arch = { path = "arch" }
-assertions = { path = "assertions" }
+assertions = { path = "common/assertions" }
 audio_streams = "*"
 base = "*"
 bit_field = { path = "bit_field" }
@@ -87,7 +123,7 @@
 data_model = "*"
 devices = { path = "devices" }
 disk = { path = "disk" }
-enumn = { path = "enumn" }
+enumn = { path = "common/enumn" }
 gdbstub = { version = "0.5.0", optional = true }
 gdbstub_arch = { version = "0.1.0", optional = true }
 rutabaga_gfx = { path = "rutabaga_gfx"}
@@ -106,7 +142,7 @@
 remain = "*"
 resources = { path = "resources" }
 serde_json = "*"
-sync = { path = "sync" }
+sync = { path = "common/sync" }
 tempfile = "3"
 thiserror = { version = "1.0.20" }
 vhost = { path = "vhost" }
@@ -124,16 +160,16 @@
 base = "*"
 
 [patch.crates-io]
-assertions = { path = "assertions" }
-audio_streams = { path = "audio_streams" }
-base = { path = "base" }
-cros_async =  { path = "cros_async" }
+assertions = { path = "common/assertions" }
+audio_streams = { path = "common/audio_streams" }
+base = { path = "common/base" }
+cros_async =  { path = "common/cros_async" }
 cros_fuzz = { path = "common/cros-fuzz" } # ignored by ebuild
-data_model = { path = "data_model" }
+data_model = { path = "common/data_model" }
 libcras = { path = "libcras_stub" } # ignored by ebuild
 p9 = { path = "common/p9" } # ignored by ebuild
-sync = { path = "sync" }
-sys_util = { path = "sys_util" }
+sync = { path = "common/sync" }
+sys_util = { path = "common/sys_util" }
 system_api = { path = "system_api_stub" } # ignored by ebuild
 wire_format_derive = { path = "common/p9/wire_format_derive" } # ignored by ebuild
 minijail = { path = "third_party/minijail/rust/minijail" } # ignored by ebuild
diff --git a/aarch64/Cargo.toml b/aarch64/Cargo.toml
index ffc61b1..e86c6e3 100644
--- a/aarch64/Cargo.toml
+++ b/aarch64/Cargo.toml
@@ -6,7 +6,7 @@
 
 [dependencies]
 arch = { path = "../arch" }
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 devices = { path = "../devices" }
 hypervisor = { path = "../hypervisor" }
 kernel_cmdline = { path = "../kernel_cmdline" }
@@ -16,8 +16,8 @@
 minijail = "*"
 remain = "*"
 resources = { path = "../resources" }
-sync = { path = "../sync" }
-base = { path = "../base" }
+sync = { path = "../common/sync" }
+base = { path = "../common/base" }
 thiserror = "*"
 vm_control = { path = "../vm_control" }
 vm_memory = { path = "../vm_memory" }
diff --git a/acpi_tables/Cargo.toml b/acpi_tables/Cargo.toml
index d4c4270..9537960 100644
--- a/acpi_tables/Cargo.toml
+++ b/acpi_tables/Cargo.toml
@@ -5,5 +5,5 @@
 edition = "2018"
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 tempfile = "3"
diff --git a/arch/Cargo.toml b/arch/Cargo.toml
index 647b56f..62167d2 100644
--- a/arch/Cargo.toml
+++ b/arch/Cargo.toml
@@ -10,7 +10,7 @@
 
 [dependencies]
 acpi_tables = { path = "../acpi_tables" }
-base = { path = "../base" }
+base = { path = "../common/base" }
 devices = { path = "../devices" }
 gdbstub_arch = { version = "0.1.0", optional = true }
 hypervisor = { path = "../hypervisor" }
@@ -20,7 +20,7 @@
 power_monitor = { path = "../power_monitor" }
 remain = "*"
 resources = { path = "../resources" }
-sync = { path = "../sync" }
+sync = { path = "../common/sync" }
 thiserror = "1.0.20"
 vm_control = { path = "../vm_control" }
 vm_memory = { path = "../vm_memory" }
diff --git a/assertions/Cargo.toml b/common/assertions/Cargo.toml
similarity index 100%
rename from assertions/Cargo.toml
rename to common/assertions/Cargo.toml
diff --git a/assertions/src/lib.rs b/common/assertions/src/lib.rs
similarity index 100%
rename from assertions/src/lib.rs
rename to common/assertions/src/lib.rs
diff --git a/assertions/src/mechanism.rs b/common/assertions/src/mechanism.rs
similarity index 100%
rename from assertions/src/mechanism.rs
rename to common/assertions/src/mechanism.rs
diff --git a/audio_streams/Cargo.toml b/common/audio_streams/Cargo.toml
similarity index 100%
rename from audio_streams/Cargo.toml
rename to common/audio_streams/Cargo.toml
diff --git a/audio_streams/README.md b/common/audio_streams/README.md
similarity index 100%
rename from audio_streams/README.md
rename to common/audio_streams/README.md
diff --git a/audio_streams/src/audio_streams.rs b/common/audio_streams/src/audio_streams.rs
similarity index 100%
rename from audio_streams/src/audio_streams.rs
rename to common/audio_streams/src/audio_streams.rs
diff --git a/audio_streams/src/capture.rs b/common/audio_streams/src/capture.rs
similarity index 100%
rename from audio_streams/src/capture.rs
rename to common/audio_streams/src/capture.rs
diff --git a/audio_streams/src/shm_streams.rs b/common/audio_streams/src/shm_streams.rs
similarity index 100%
rename from audio_streams/src/shm_streams.rs
rename to common/audio_streams/src/shm_streams.rs
diff --git a/base/.build_test_serial b/common/base/.build_test_serial
similarity index 100%
rename from base/.build_test_serial
rename to common/base/.build_test_serial
diff --git a/base/Cargo.toml b/common/base/Cargo.toml
similarity index 100%
rename from base/Cargo.toml
rename to common/base/Cargo.toml
diff --git a/base/src/async_types.rs b/common/base/src/async_types.rs
similarity index 100%
rename from base/src/async_types.rs
rename to common/base/src/async_types.rs
diff --git a/base/src/event.rs b/common/base/src/event.rs
similarity index 100%
rename from base/src/event.rs
rename to common/base/src/event.rs
diff --git a/base/src/ioctl.rs b/common/base/src/ioctl.rs
similarity index 100%
rename from base/src/ioctl.rs
rename to common/base/src/ioctl.rs
diff --git a/base/src/lib.rs b/common/base/src/lib.rs
similarity index 100%
rename from base/src/lib.rs
rename to common/base/src/lib.rs
diff --git a/base/src/mmap.rs b/common/base/src/mmap.rs
similarity index 100%
rename from base/src/mmap.rs
rename to common/base/src/mmap.rs
diff --git a/base/src/shm.rs b/common/base/src/shm.rs
similarity index 100%
rename from base/src/shm.rs
rename to common/base/src/shm.rs
diff --git a/base/src/timer.rs b/common/base/src/timer.rs
similarity index 100%
rename from base/src/timer.rs
rename to common/base/src/timer.rs
diff --git a/base/src/tube.rs b/common/base/src/tube.rs
similarity index 100%
rename from base/src/tube.rs
rename to common/base/src/tube.rs
diff --git a/base/src/wait_context.rs b/common/base/src/wait_context.rs
similarity index 100%
rename from base/src/wait_context.rs
rename to common/base/src/wait_context.rs
diff --git a/cros_async/.build_test_skip b/common/cros_async/.build_test_skip
similarity index 100%
rename from cros_async/.build_test_skip
rename to common/cros_async/.build_test_skip
diff --git a/cros_async/Cargo.toml b/common/cros_async/Cargo.toml
similarity index 100%
rename from cros_async/Cargo.toml
rename to common/cros_async/Cargo.toml
diff --git a/cros_async/src/blocking.rs b/common/cros_async/src/blocking.rs
similarity index 100%
rename from cros_async/src/blocking.rs
rename to common/cros_async/src/blocking.rs
diff --git a/cros_async/src/blocking/block_on.rs b/common/cros_async/src/blocking/block_on.rs
similarity index 100%
rename from cros_async/src/blocking/block_on.rs
rename to common/cros_async/src/blocking/block_on.rs
diff --git a/cros_async/src/blocking/pool.rs b/common/cros_async/src/blocking/pool.rs
similarity index 100%
rename from cros_async/src/blocking/pool.rs
rename to common/cros_async/src/blocking/pool.rs
diff --git a/cros_async/src/complete.rs b/common/cros_async/src/complete.rs
similarity index 100%
rename from cros_async/src/complete.rs
rename to common/cros_async/src/complete.rs
diff --git a/cros_async/src/event.rs b/common/cros_async/src/event.rs
similarity index 100%
rename from cros_async/src/event.rs
rename to common/cros_async/src/event.rs
diff --git a/cros_async/src/executor.rs b/common/cros_async/src/executor.rs
similarity index 100%
rename from cros_async/src/executor.rs
rename to common/cros_async/src/executor.rs
diff --git a/cros_async/src/fd_executor.rs b/common/cros_async/src/fd_executor.rs
similarity index 100%
rename from cros_async/src/fd_executor.rs
rename to common/cros_async/src/fd_executor.rs
diff --git a/cros_async/src/io_ext.rs b/common/cros_async/src/io_ext.rs
similarity index 100%
rename from cros_async/src/io_ext.rs
rename to common/cros_async/src/io_ext.rs
diff --git a/cros_async/src/lib.rs b/common/cros_async/src/lib.rs
similarity index 100%
rename from cros_async/src/lib.rs
rename to common/cros_async/src/lib.rs
diff --git a/cros_async/src/mem.rs b/common/cros_async/src/mem.rs
similarity index 100%
rename from cros_async/src/mem.rs
rename to common/cros_async/src/mem.rs
diff --git a/cros_async/src/poll_source.rs b/common/cros_async/src/poll_source.rs
similarity index 100%
rename from cros_async/src/poll_source.rs
rename to common/cros_async/src/poll_source.rs
diff --git a/cros_async/src/queue.rs b/common/cros_async/src/queue.rs
similarity index 100%
rename from cros_async/src/queue.rs
rename to common/cros_async/src/queue.rs
diff --git a/cros_async/src/select.rs b/common/cros_async/src/select.rs
similarity index 100%
rename from cros_async/src/select.rs
rename to common/cros_async/src/select.rs
diff --git a/cros_async/src/sync.rs b/common/cros_async/src/sync.rs
similarity index 100%
rename from cros_async/src/sync.rs
rename to common/cros_async/src/sync.rs
diff --git a/cros_async/src/sync/cv.rs b/common/cros_async/src/sync/cv.rs
similarity index 100%
rename from cros_async/src/sync/cv.rs
rename to common/cros_async/src/sync/cv.rs
diff --git a/cros_async/src/sync/mu.rs b/common/cros_async/src/sync/mu.rs
similarity index 100%
rename from cros_async/src/sync/mu.rs
rename to common/cros_async/src/sync/mu.rs
diff --git a/cros_async/src/sync/spin.rs b/common/cros_async/src/sync/spin.rs
similarity index 100%
rename from cros_async/src/sync/spin.rs
rename to common/cros_async/src/sync/spin.rs
diff --git a/cros_async/src/sync/waiter.rs b/common/cros_async/src/sync/waiter.rs
similarity index 100%
rename from cros_async/src/sync/waiter.rs
rename to common/cros_async/src/sync/waiter.rs
diff --git a/cros_async/src/timer.rs b/common/cros_async/src/timer.rs
similarity index 100%
rename from cros_async/src/timer.rs
rename to common/cros_async/src/timer.rs
diff --git a/cros_async/src/uring_executor.rs b/common/cros_async/src/uring_executor.rs
similarity index 100%
rename from cros_async/src/uring_executor.rs
rename to common/cros_async/src/uring_executor.rs
diff --git a/cros_async/src/uring_source.rs b/common/cros_async/src/uring_source.rs
similarity index 100%
rename from cros_async/src/uring_source.rs
rename to common/cros_async/src/uring_source.rs
diff --git a/cros_async/src/waker.rs b/common/cros_async/src/waker.rs
similarity index 100%
rename from cros_async/src/waker.rs
rename to common/cros_async/src/waker.rs
diff --git a/data_model/Cargo.toml b/common/data_model/Cargo.toml
similarity index 100%
rename from data_model/Cargo.toml
rename to common/data_model/Cargo.toml
diff --git a/data_model/src/endian.rs b/common/data_model/src/endian.rs
similarity index 100%
rename from data_model/src/endian.rs
rename to common/data_model/src/endian.rs
diff --git a/data_model/src/flexible_array.rs b/common/data_model/src/flexible_array.rs
similarity index 100%
rename from data_model/src/flexible_array.rs
rename to common/data_model/src/flexible_array.rs
diff --git a/data_model/src/lib.rs b/common/data_model/src/lib.rs
similarity index 100%
rename from data_model/src/lib.rs
rename to common/data_model/src/lib.rs
diff --git a/data_model/src/sys.rs b/common/data_model/src/sys.rs
similarity index 100%
rename from data_model/src/sys.rs
rename to common/data_model/src/sys.rs
diff --git a/data_model/src/volatile_memory.rs b/common/data_model/src/volatile_memory.rs
similarity index 100%
rename from data_model/src/volatile_memory.rs
rename to common/data_model/src/volatile_memory.rs
diff --git a/enumn/Cargo.toml b/common/enumn/Cargo.toml
similarity index 100%
rename from enumn/Cargo.toml
rename to common/enumn/Cargo.toml
diff --git a/enumn/src/lib.rs b/common/enumn/src/lib.rs
similarity index 100%
rename from enumn/src/lib.rs
rename to common/enumn/src/lib.rs
diff --git a/enumn/src/tests.rs b/common/enumn/src/tests.rs
similarity index 100%
rename from enumn/src/tests.rs
rename to common/enumn/src/tests.rs
diff --git a/io_uring/.build_test_skip b/common/io_uring/.build_test_skip
similarity index 100%
rename from io_uring/.build_test_skip
rename to common/io_uring/.build_test_skip
diff --git a/io_uring/Cargo.toml b/common/io_uring/Cargo.toml
similarity index 100%
rename from io_uring/Cargo.toml
rename to common/io_uring/Cargo.toml
diff --git a/io_uring/src/bindings.rs b/common/io_uring/src/bindings.rs
similarity index 100%
rename from io_uring/src/bindings.rs
rename to common/io_uring/src/bindings.rs
diff --git a/io_uring/src/lib.rs b/common/io_uring/src/lib.rs
similarity index 100%
rename from io_uring/src/lib.rs
rename to common/io_uring/src/lib.rs
diff --git a/io_uring/src/syscalls.rs b/common/io_uring/src/syscalls.rs
similarity index 100%
rename from io_uring/src/syscalls.rs
rename to common/io_uring/src/syscalls.rs
diff --git a/io_uring/src/uring.rs b/common/io_uring/src/uring.rs
similarity index 100%
rename from io_uring/src/uring.rs
rename to common/io_uring/src/uring.rs
diff --git a/common/p9/Cargo.toml b/common/p9/Cargo.toml
index f3725dc..90616f3 100644
--- a/common/p9/Cargo.toml
+++ b/common/p9/Cargo.toml
@@ -6,7 +6,7 @@
 
 [dependencies]
 libc = "*"
-sys_util = { path = "../../sys_util" } # provided by ebuild
+sys_util = { path = "../sys_util" } # provided by ebuild
 wire_format_derive = { path = "wire_format_derive", version = "*" }
 
 [features]
diff --git a/sync/Cargo.toml b/common/sync/Cargo.toml
similarity index 100%
rename from sync/Cargo.toml
rename to common/sync/Cargo.toml
diff --git a/sync/src/condvar.rs b/common/sync/src/condvar.rs
similarity index 100%
rename from sync/src/condvar.rs
rename to common/sync/src/condvar.rs
diff --git a/sync/src/lib.rs b/common/sync/src/lib.rs
similarity index 100%
rename from sync/src/lib.rs
rename to common/sync/src/lib.rs
diff --git a/sync/src/mutex.rs b/common/sync/src/mutex.rs
similarity index 100%
rename from sync/src/mutex.rs
rename to common/sync/src/mutex.rs
diff --git a/sys_util/.build_test_serial b/common/sys_util/.build_test_serial
similarity index 100%
rename from sys_util/.build_test_serial
rename to common/sys_util/.build_test_serial
diff --git a/sys_util/Cargo.toml b/common/sys_util/Cargo.toml
similarity index 100%
rename from sys_util/Cargo.toml
rename to common/sys_util/Cargo.toml
diff --git a/sys_util/poll_token_derive/Cargo.toml b/common/sys_util/poll_token_derive/Cargo.toml
similarity index 100%
rename from sys_util/poll_token_derive/Cargo.toml
rename to common/sys_util/poll_token_derive/Cargo.toml
diff --git a/sys_util/poll_token_derive/poll_token_derive.rs b/common/sys_util/poll_token_derive/poll_token_derive.rs
similarity index 100%
rename from sys_util/poll_token_derive/poll_token_derive.rs
rename to common/sys_util/poll_token_derive/poll_token_derive.rs
diff --git a/sys_util/poll_token_derive/tests.rs b/common/sys_util/poll_token_derive/tests.rs
similarity index 100%
rename from sys_util/poll_token_derive/tests.rs
rename to common/sys_util/poll_token_derive/tests.rs
diff --git a/sys_util/src/alloc.rs b/common/sys_util/src/alloc.rs
similarity index 100%
rename from sys_util/src/alloc.rs
rename to common/sys_util/src/alloc.rs
diff --git a/sys_util/src/android/mod.rs b/common/sys_util/src/android/mod.rs
similarity index 100%
rename from sys_util/src/android/mod.rs
rename to common/sys_util/src/android/mod.rs
diff --git a/sys_util/src/android/syslog.rs b/common/sys_util/src/android/syslog.rs
similarity index 100%
rename from sys_util/src/android/syslog.rs
rename to common/sys_util/src/android/syslog.rs
diff --git a/sys_util/src/capabilities.rs b/common/sys_util/src/capabilities.rs
similarity index 100%
rename from sys_util/src/capabilities.rs
rename to common/sys_util/src/capabilities.rs
diff --git a/sys_util/src/clock.rs b/common/sys_util/src/clock.rs
similarity index 100%
rename from sys_util/src/clock.rs
rename to common/sys_util/src/clock.rs
diff --git a/sys_util/src/descriptor.rs b/common/sys_util/src/descriptor.rs
similarity index 100%
rename from sys_util/src/descriptor.rs
rename to common/sys_util/src/descriptor.rs
diff --git a/sys_util/src/descriptor_reflection.rs b/common/sys_util/src/descriptor_reflection.rs
similarity index 100%
rename from sys_util/src/descriptor_reflection.rs
rename to common/sys_util/src/descriptor_reflection.rs
diff --git a/sys_util/src/errno.rs b/common/sys_util/src/errno.rs
similarity index 100%
rename from sys_util/src/errno.rs
rename to common/sys_util/src/errno.rs
diff --git a/sys_util/src/eventfd.rs b/common/sys_util/src/eventfd.rs
similarity index 100%
rename from sys_util/src/eventfd.rs
rename to common/sys_util/src/eventfd.rs
diff --git a/sys_util/src/external_mapping.rs b/common/sys_util/src/external_mapping.rs
similarity index 100%
rename from sys_util/src/external_mapping.rs
rename to common/sys_util/src/external_mapping.rs
diff --git a/sys_util/src/file_flags.rs b/common/sys_util/src/file_flags.rs
similarity index 100%
rename from sys_util/src/file_flags.rs
rename to common/sys_util/src/file_flags.rs
diff --git a/sys_util/src/file_traits.rs b/common/sys_util/src/file_traits.rs
similarity index 100%
rename from sys_util/src/file_traits.rs
rename to common/sys_util/src/file_traits.rs
diff --git a/sys_util/src/fork.rs b/common/sys_util/src/fork.rs
similarity index 100%
rename from sys_util/src/fork.rs
rename to common/sys_util/src/fork.rs
diff --git a/sys_util/src/get_filesystem_type.rs b/common/sys_util/src/get_filesystem_type.rs
similarity index 100%
rename from sys_util/src/get_filesystem_type.rs
rename to common/sys_util/src/get_filesystem_type.rs
diff --git a/sys_util/src/handle_eintr.rs b/common/sys_util/src/handle_eintr.rs
similarity index 100%
rename from sys_util/src/handle_eintr.rs
rename to common/sys_util/src/handle_eintr.rs
diff --git a/sys_util/src/ioctl.rs b/common/sys_util/src/ioctl.rs
similarity index 100%
rename from sys_util/src/ioctl.rs
rename to common/sys_util/src/ioctl.rs
diff --git a/sys_util/src/lib.rs b/common/sys_util/src/lib.rs
similarity index 100%
rename from sys_util/src/lib.rs
rename to common/sys_util/src/lib.rs
diff --git a/sys_util/src/linux/mod.rs b/common/sys_util/src/linux/mod.rs
similarity index 100%
rename from sys_util/src/linux/mod.rs
rename to common/sys_util/src/linux/mod.rs
diff --git a/sys_util/src/linux/syslog.rs b/common/sys_util/src/linux/syslog.rs
similarity index 100%
rename from sys_util/src/linux/syslog.rs
rename to common/sys_util/src/linux/syslog.rs
diff --git a/sys_util/src/mmap.rs b/common/sys_util/src/mmap.rs
similarity index 100%
rename from sys_util/src/mmap.rs
rename to common/sys_util/src/mmap.rs
diff --git a/sys_util/src/net.rs b/common/sys_util/src/net.rs
similarity index 100%
rename from sys_util/src/net.rs
rename to common/sys_util/src/net.rs
diff --git a/sys_util/src/poll.rs b/common/sys_util/src/poll.rs
similarity index 100%
rename from sys_util/src/poll.rs
rename to common/sys_util/src/poll.rs
diff --git a/sys_util/src/priority.rs b/common/sys_util/src/priority.rs
similarity index 100%
rename from sys_util/src/priority.rs
rename to common/sys_util/src/priority.rs
diff --git a/sys_util/src/rand.rs b/common/sys_util/src/rand.rs
similarity index 100%
rename from sys_util/src/rand.rs
rename to common/sys_util/src/rand.rs
diff --git a/sys_util/src/raw_fd.rs b/common/sys_util/src/raw_fd.rs
similarity index 100%
rename from sys_util/src/raw_fd.rs
rename to common/sys_util/src/raw_fd.rs
diff --git a/sys_util/src/read_dir.rs b/common/sys_util/src/read_dir.rs
similarity index 100%
rename from sys_util/src/read_dir.rs
rename to common/sys_util/src/read_dir.rs
diff --git a/sys_util/src/sched.rs b/common/sys_util/src/sched.rs
similarity index 100%
rename from sys_util/src/sched.rs
rename to common/sys_util/src/sched.rs
diff --git a/sys_util/src/scoped_path.rs b/common/sys_util/src/scoped_path.rs
similarity index 100%
rename from sys_util/src/scoped_path.rs
rename to common/sys_util/src/scoped_path.rs
diff --git a/sys_util/src/scoped_signal_handler.rs b/common/sys_util/src/scoped_signal_handler.rs
similarity index 100%
rename from sys_util/src/scoped_signal_handler.rs
rename to common/sys_util/src/scoped_signal_handler.rs
diff --git a/sys_util/src/seek_hole.rs b/common/sys_util/src/seek_hole.rs
similarity index 100%
rename from sys_util/src/seek_hole.rs
rename to common/sys_util/src/seek_hole.rs
diff --git a/sys_util/src/shm.rs b/common/sys_util/src/shm.rs
similarity index 100%
rename from sys_util/src/shm.rs
rename to common/sys_util/src/shm.rs
diff --git a/sys_util/src/signal.rs b/common/sys_util/src/signal.rs
similarity index 100%
rename from sys_util/src/signal.rs
rename to common/sys_util/src/signal.rs
diff --git a/sys_util/src/signalfd.rs b/common/sys_util/src/signalfd.rs
similarity index 100%
rename from sys_util/src/signalfd.rs
rename to common/sys_util/src/signalfd.rs
diff --git a/sys_util/src/sock_ctrl_msg.rs b/common/sys_util/src/sock_ctrl_msg.rs
similarity index 100%
rename from sys_util/src/sock_ctrl_msg.rs
rename to common/sys_util/src/sock_ctrl_msg.rs
diff --git a/sys_util/src/syslog.rs b/common/sys_util/src/syslog.rs
similarity index 100%
rename from sys_util/src/syslog.rs
rename to common/sys_util/src/syslog.rs
diff --git a/sys_util/src/terminal.rs b/common/sys_util/src/terminal.rs
similarity index 100%
rename from sys_util/src/terminal.rs
rename to common/sys_util/src/terminal.rs
diff --git a/sys_util/src/timerfd.rs b/common/sys_util/src/timerfd.rs
similarity index 100%
rename from sys_util/src/timerfd.rs
rename to common/sys_util/src/timerfd.rs
diff --git a/sys_util/src/vsock.rs b/common/sys_util/src/vsock.rs
similarity index 100%
rename from sys_util/src/vsock.rs
rename to common/sys_util/src/vsock.rs
diff --git a/sys_util/src/write_zeroes.rs b/common/sys_util/src/write_zeroes.rs
similarity index 100%
rename from sys_util/src/write_zeroes.rs
rename to common/sys_util/src/write_zeroes.rs
diff --git a/cros_async/.build_test_skip b/crosvm-fuzz/.build_test_skip
similarity index 100%
copy from cros_async/.build_test_skip
copy to crosvm-fuzz/.build_test_skip
diff --git a/fuzz/.gitignore b/crosvm-fuzz/.gitignore
similarity index 100%
rename from fuzz/.gitignore
rename to crosvm-fuzz/.gitignore
diff --git a/fuzz/Cargo.toml b/crosvm-fuzz/Cargo.toml
similarity index 90%
rename from fuzz/Cargo.toml
rename to crosvm-fuzz/Cargo.toml
index c9bd356..1c180e7 100644
--- a/fuzz/Cargo.toml
+++ b/crosvm-fuzz/Cargo.toml
@@ -6,14 +6,14 @@
 
 [dependencies]
 cros_fuzz = "*"
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 devices = { path = "../devices" }
 disk = { path = "../disk" }
 fuse = { path = "../fuse" }
 kernel_loader = { path = "../kernel_loader" }
 libc = "*"
 rand = "0.6"
-base = { path = "../base" }
+base = { path = "../common/base" }
 tempfile = "3"
 usb_util = { path = "../usb_util" }
 vm_memory = { path = "../vm_memory" }
diff --git a/fuzz/OWNERS b/crosvm-fuzz/OWNERS
similarity index 100%
rename from fuzz/OWNERS
rename to crosvm-fuzz/OWNERS
diff --git a/fuzz/block_fuzzer.rs b/crosvm-fuzz/block_fuzzer.rs
similarity index 100%
rename from fuzz/block_fuzzer.rs
rename to crosvm-fuzz/block_fuzzer.rs
diff --git a/fuzz/fs_server_fuzzer.rs b/crosvm-fuzz/fs_server_fuzzer.rs
similarity index 100%
rename from fuzz/fs_server_fuzzer.rs
rename to crosvm-fuzz/fs_server_fuzzer.rs
diff --git a/fuzz/qcow_fuzzer.rs b/crosvm-fuzz/qcow_fuzzer.rs
similarity index 100%
rename from fuzz/qcow_fuzzer.rs
rename to crosvm-fuzz/qcow_fuzzer.rs
diff --git a/fuzz/usb_descriptor_fuzzer.rs b/crosvm-fuzz/usb_descriptor_fuzzer.rs
similarity index 100%
rename from fuzz/usb_descriptor_fuzzer.rs
rename to crosvm-fuzz/usb_descriptor_fuzzer.rs
diff --git a/fuzz/virtqueue_fuzzer.rs b/crosvm-fuzz/virtqueue_fuzzer.rs
similarity index 100%
rename from fuzz/virtqueue_fuzzer.rs
rename to crosvm-fuzz/virtqueue_fuzzer.rs
diff --git a/fuzz/zimage_fuzzer.rs b/crosvm-fuzz/zimage_fuzzer.rs
similarity index 100%
rename from fuzz/zimage_fuzzer.rs
rename to crosvm-fuzz/zimage_fuzzer.rs
diff --git a/crosvm_plugin/Cargo.toml b/crosvm_plugin/Cargo.toml
index c425645..8531cf6 100644
--- a/crosvm_plugin/Cargo.toml
+++ b/crosvm_plugin/Cargo.toml
@@ -16,4 +16,4 @@
 libc = "*"
 protobuf = "2.3"
 protos = { path = "../protos", features = ["plugin"] }
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/devices/Cargo.toml b/devices/Cargo.toml
index f6cb05e..18bdc56 100644
--- a/devices/Cargo.toml
+++ b/devices/Cargo.toml
@@ -24,13 +24,13 @@
 acpi_tables = {path = "../acpi_tables" }
 anyhow = "*"
 audio_streams = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 bit_field = { path = "../bit_field" }
-cros_async = { path = "../cros_async" }
-data_model = { path = "../data_model" }
+cros_async = { path = "../common/cros_async" }
+data_model = { path = "../common/data_model" }
 dbus = { version = "0.9", optional = true }
 disk = { path = "../disk" }
-enumn = { path = "../enumn" }
+enumn = { path = "../common/enumn" }
 fuse = {path = "../fuse" }
 getopts = { version = "0.2" }
 gpu_display = { path = "../gpu_display", optional = true }
@@ -54,8 +54,8 @@
 serde = { version = "1", features = [ "derive" ] }
 serde_json = "1"
 smallvec = "1.6.1"
-sync = { path = "../sync" }
-sys_util = { path = "../sys_util" }
+sync = { path = "../common/sync" }
+sys_util = { path = "../common/sys_util" }
 system_api = { version = "*", optional = true }
 thiserror = "1.0.20"
 tpm2 = { path = "../tpm2", optional = true }
diff --git a/disk/Cargo.toml b/disk/Cargo.toml
index 52c8ba5..f3bbf14 100644
--- a/disk/Cargo.toml
+++ b/disk/Cargo.toml
@@ -12,7 +12,7 @@
 
 [dependencies]
 async-trait = "0.1.36"
-base = { path = "../base" }
+base = { path = "../common/base" }
 crc32fast = { version = "1.2.1", optional = true }
 libc = "*"
 protobuf = { version = "2.3", optional = true }
@@ -20,8 +20,8 @@
 tempfile = "3"
 thiserror = "*"
 uuid = { version = "0.8.2", features = ["v4"], optional = true }
-cros_async = { path = "../cros_async" }
-data_model = { path = "../data_model" }
+cros_async = { path = "../common/cros_async" }
+data_model = { path = "../common/data_model" }
 protos = { path = "../protos", features = ["composite-disk"], optional = true }
 vm_memory = { path = "../vm_memory" }
 
diff --git a/fuse/Cargo.toml b/fuse/Cargo.toml
index 3123cd7..346690e 100644
--- a/fuse/Cargo.toml
+++ b/fuse/Cargo.toml
@@ -11,7 +11,7 @@
 base = "*"
 bitflags = "1"
 data_model = "*"
-enumn = { path = "../enumn" }
+enumn = { path = "../common/enumn" }
 libc = "*"
 remain = "0.2"
 thiserror = "1.0.20"
diff --git a/fuzz/.build_test_skip b/fuzz/.build_test_skip
deleted file mode 100644
index e69de29..0000000
--- a/fuzz/.build_test_skip
+++ /dev/null
diff --git a/gpu_display/Cargo.toml b/gpu_display/Cargo.toml
index 83e36f7..0462f42 100644
--- a/gpu_display/Cargo.toml
+++ b/gpu_display/Cargo.toml
@@ -8,9 +8,9 @@
 x = []
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 linux_input_sys = { path = "../linux_input_sys" }
 remain = "*"
 thiserror = "*"
diff --git a/hypervisor/Cargo.toml b/hypervisor/Cargo.toml
index 70c0ec4..1915bf2 100644
--- a/hypervisor/Cargo.toml
+++ b/hypervisor/Cargo.toml
@@ -6,13 +6,13 @@
 
 [dependencies]
 bit_field = { path = "../bit_field" }
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 downcast-rs = "1.2.0"
-enumn = { path = "../enumn" }
+enumn = { path = "../common/enumn" }
 kvm = { path = "../kvm" }
 kvm_sys = { path = "../kvm_sys" }
 libc = "*"
 serde = { version = "1", features = [ "derive" ] }
-sync = { path = "../sync" }
-base = { path = "../base" }
+sync = { path = "../common/sync" }
+base = { path = "../common/base" }
 vm_memory = { path = "../vm_memory" }
diff --git a/kernel_loader/Cargo.toml b/kernel_loader/Cargo.toml
index a66acb3..9fd1e8c 100644
--- a/kernel_loader/Cargo.toml
+++ b/kernel_loader/Cargo.toml
@@ -4,9 +4,9 @@
 edition = "2018"
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 remain = "*"
 thiserror = "*"
 vm_memory = { path = "../vm_memory" }
diff --git a/kvm/Cargo.toml b/kvm/Cargo.toml
index 82cb31b..525e73a 100644
--- a/kvm/Cargo.toml
+++ b/kvm/Cargo.toml
@@ -5,9 +5,9 @@
 edition = "2018"
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 kvm_sys = { path = "../kvm_sys" }
 libc = "*"
-base = { path = "../base" }
-sync = { path = "../sync" }
+base = { path = "../common/base" }
+sync = { path = "../common/sync" }
 vm_memory = { path = "../vm_memory" }
diff --git a/kvm_sys/Cargo.toml b/kvm_sys/Cargo.toml
index 6dd53b6..0649785 100644
--- a/kvm_sys/Cargo.toml
+++ b/kvm_sys/Cargo.toml
@@ -5,6 +5,6 @@
 edition = "2018"
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/libcrosvm_control/Cargo.toml b/libcrosvm_control/Cargo.toml
index 2ed68b8..262736f 100644
--- a/libcrosvm_control/Cargo.toml
+++ b/libcrosvm_control/Cargo.toml
@@ -8,6 +8,6 @@
 crate-type = ["cdylib"]
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
 vm_control = { path = "../vm_control" }
 libc = "0.2.65"
diff --git a/libvda/Cargo.toml b/libvda/Cargo.toml
index 0be4e18..6668909 100644
--- a/libvda/Cargo.toml
+++ b/libvda/Cargo.toml
@@ -6,7 +6,7 @@
 links = "vda"
 
 [dependencies]
-enumn = { path = "../enumn" }
+enumn = { path = "../common/enumn" }
 libc = "*"
 
 [build-dependencies]
diff --git a/linux_input_sys/Cargo.toml b/linux_input_sys/Cargo.toml
index c892c68..a8181d0 100644
--- a/linux_input_sys/Cargo.toml
+++ b/linux_input_sys/Cargo.toml
@@ -5,6 +5,6 @@
 edition = "2018"
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/net_sys/Cargo.toml b/net_sys/Cargo.toml
index 205e567..53e3b1a 100644
--- a/net_sys/Cargo.toml
+++ b/net_sys/Cargo.toml
@@ -5,4 +5,4 @@
 edition = "2018"
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/net_util/Cargo.toml b/net_util/Cargo.toml
index 56562c7..8dfe1df 100644
--- a/net_util/Cargo.toml
+++ b/net_util/Cargo.toml
@@ -6,9 +6,9 @@
 
 [dependencies]
 libc = "*"
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 net_sys = { path = "../net_sys" }
-base = { path = "../base" }
-cros_async = { path = "../cros_async" }
+base = { path = "../common/base" }
+cros_async = { path = "../common/cros_async" }
 remain = "*"
 thiserror = "*"
diff --git a/power_monitor/Cargo.toml b/power_monitor/Cargo.toml
index 3c9b51b..e16362c 100644
--- a/power_monitor/Cargo.toml
+++ b/power_monitor/Cargo.toml
@@ -8,7 +8,7 @@
 powerd = ["dbus", "protobuf", "protoc-rust"]
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
 dbus = { version = "0.9", optional = true }
 protobuf = { version = "2.8.1", optional = true }
 remain = "0.2"
diff --git a/qcow_utils/Cargo.toml b/qcow_utils/Cargo.toml
index d47b187..8935738f 100644
--- a/qcow_utils/Cargo.toml
+++ b/qcow_utils/Cargo.toml
@@ -16,4 +16,4 @@
 getopts = "*"
 libc = "*"
 disk = { path = "../disk" }
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/resources/Cargo.toml b/resources/Cargo.toml
index 7924aef..f5c7219 100644
--- a/resources/Cargo.toml
+++ b/resources/Cargo.toml
@@ -6,7 +6,7 @@
 
 [dependencies]
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 serde = { version = "1", features = ["derive"] }
 remain = "*"
 thiserror = "*"
diff --git a/rutabaga_gfx/Cargo.toml b/rutabaga_gfx/Cargo.toml
index 196500c..46d56bb 100644
--- a/rutabaga_gfx/Cargo.toml
+++ b/rutabaga_gfx/Cargo.toml
@@ -14,11 +14,11 @@
 vulkano = []
 
 [dependencies]
-data_model = { path = "../data_model" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 remain = "*"
-sync = { path = "../sync" }
+sync = { path = "../common/sync" }
 thiserror = "*"
 #vulkano = {git = "https:/github.com/vulkano-rs/vulkano.git", optional = true}
 
diff --git a/tools/impl/test_config.py b/tools/impl/test_config.py
index 0a5164c..75ea058 100755
--- a/tools/impl/test_config.py
+++ b/tools/impl/test_config.py
@@ -29,7 +29,7 @@
     "crosvm_plugin": [TestOption.BUILD_X86_ONLY],
     "devices": [TestOption.SINGLE_THREADED],
     "disk": [TestOption.RUN_X86_ONLY],  # b/202294155
-    "fuzz": [TestOption.DO_NOT_BUILD],  # b/194499769
+    "crosvm-fuzz": [TestOption.DO_NOT_BUILD],  # b/194499769
     "hypervisor": [TestOption.RUN_X86_ONLY],  # b/181672912
     "integration_tests": [
         TestOption.SINGLE_THREADED,
diff --git a/usb_sys/Cargo.toml b/usb_sys/Cargo.toml
index 0e3cbc3..74f7b92 100644
--- a/usb_sys/Cargo.toml
+++ b/usb_sys/Cargo.toml
@@ -5,4 +5,4 @@
 edition = "2018"
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/usb_util/Cargo.toml b/usb_util/Cargo.toml
index 9be276e..a52b7dc 100644
--- a/usb_util/Cargo.toml
+++ b/usb_util/Cargo.toml
@@ -5,10 +5,10 @@
 edition = "2018"
 
 [dependencies]
-assertions = { path = "../assertions" }
-data_model = { path = "../data_model" }
+assertions = { path = "../common/assertions" }
+data_model = { path = "../common/data_model" }
 libc = "*"
 remain = "*"
 thiserror = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 usb_sys = { path = "../usb_sys" }
diff --git a/vfio_sys/Cargo.toml b/vfio_sys/Cargo.toml
index da53e5e..856703e 100644
--- a/vfio_sys/Cargo.toml
+++ b/vfio_sys/Cargo.toml
@@ -5,4 +5,4 @@
 edition = "2018"
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/vhost/Cargo.toml b/vhost/Cargo.toml
index 63282b2..2f7adea 100644
--- a/vhost/Cargo.toml
+++ b/vhost/Cargo.toml
@@ -5,10 +5,10 @@
 edition = "2018"
 
 [dependencies]
-assertions = { path = "../assertions" }
+assertions = { path = "../common/assertions" }
 libc = "*"
 net_util = { path = "../net_util" }
-base = { path = "../base" }
+base = { path = "../common/base" }
 remain = "*"
 thiserror = "*"
 virtio_sys = { path = "../virtio_sys" }
diff --git a/virtio_sys/Cargo.toml b/virtio_sys/Cargo.toml
index 276a804..b90929b 100644
--- a/virtio_sys/Cargo.toml
+++ b/virtio_sys/Cargo.toml
@@ -5,4 +5,4 @@
 edition = "2018"
 
 [dependencies]
-base = { path = "../base" }
+base = { path = "../common/base" }
diff --git a/vm_control/Cargo.toml b/vm_control/Cargo.toml
index 8f5788d..6e5dd50 100644
--- a/vm_control/Cargo.toml
+++ b/vm_control/Cargo.toml
@@ -8,8 +8,8 @@
 gdb = ["gdbstub_arch"]
 
 [dependencies]
-base = { path = "../base" }
-data_model = { path = "../data_model" }
+base = { path = "../common/base" }
+data_model = { path = "../common/data_model" }
 gdbstub_arch = { version = "0.1.0", optional = true }
 hypervisor = { path = "../hypervisor" }
 libc = "*"
@@ -18,6 +18,6 @@
 rutabaga_gfx = { path = "../rutabaga_gfx"}
 serde = { version = "1", features = [ "derive" ] }
 serde_json = "*"
-sync = { path = "../sync" }
+sync = { path = "../common/sync" }
 thiserror = "*"
 vm_memory = { path = "../vm_memory" }
diff --git a/vm_memory/Cargo.toml b/vm_memory/Cargo.toml
index b165bf3..0d25600 100644
--- a/vm_memory/Cargo.toml
+++ b/vm_memory/Cargo.toml
@@ -6,12 +6,12 @@
 include = ["src/**/*", "Cargo.toml"]
 
 [dependencies]
-cros_async = { path = "../cros_async" } # provided by ebuild
-data_model = { path = "../data_model" } # provided by ebuild
+cros_async = { path = "../common/cros_async" }
+data_model = { path = "../common/data_model" }
 libc = "*"
-base = { path = "../base" } # provided by ebuild
+base = { path = "../common/base" }
 bitflags = "1"
 remain = "*"
 thiserror = "*"
 
-[workspace]
+
diff --git a/x86_64/Cargo.toml b/x86_64/Cargo.toml
index f34661d..22c42e0 100644
--- a/x86_64/Cargo.toml
+++ b/x86_64/Cargo.toml
@@ -9,8 +9,8 @@
 
 [dependencies]
 arch = { path = "../arch" }
-assertions = { path = "../assertions" }
-data_model = { path = "../data_model" }
+assertions = { path = "../common/assertions" }
+data_model = { path = "../common/data_model" }
 devices = { path = "../devices" }
 gdbstub_arch = { version = "0.1.0", optional = true }
 hypervisor = { path = "../hypervisor" }
@@ -20,9 +20,9 @@
 minijail = "*"
 remain = "*"
 resources = { path = "../resources" }
-sync = { path = "../sync" }
+sync = { path = "../common/sync" }
 thiserror = "*"
-base = { path = "../base" }
+base = { path = "../common/base" }
 acpi_tables = {path = "../acpi_tables" }
 vm_control = { path = "../vm_control" }
 vm_memory = { path = "../vm_memory" }