crosvm/Cargo.lock

950 lines
28 KiB
Text
Raw Normal View History

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "aarch64"
version = "0.1.0"
dependencies = [
"arch 0.1.0",
"base 0.1.0",
"data_model 0.1.0",
"devices 0.1.0",
"hypervisor 0.1.0",
"kernel_cmdline 0.1.0",
"kvm 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"minijail 0.2.1",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"resources 0.1.0",
"sync 0.1.0",
"vm_control 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "acpi_tables"
version = "0.1.0"
dependencies = [
"data_model 0.1.0",
"tempfile 3.0.7",
]
[[package]]
name = "android_log-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "arch"
version = "0.1.0"
dependencies = [
"acpi_tables 0.1.0",
"base 0.1.0",
"devices 0.1.0",
"hypervisor 0.1.0",
"kernel_cmdline 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"minijail 0.2.1",
"resources 0.1.0",
"sync 0.1.0",
"vm_control 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "assertions"
version = "0.1.0"
[[package]]
name = "async-trait"
version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "audio_streams"
version = "0.1.0"
dependencies = [
"sync 0.1.0",
"sys_util 0.1.0",
]
[[package]]
name = "base"
version = "0.1.0"
dependencies = [
"cros_async 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"sync 0.1.0",
"sys_util 0.1.0",
]
[[package]]
name = "bit_field"
version = "0.1.0"
dependencies = [
"bit_field_derive 0.1.0",
]
[[package]]
name = "bit_field_derive"
version = "0.1.0"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "bitflags"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cc"
version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cfg-if"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cras-sys"
version = "0.1.0"
dependencies = [
"audio_streams 0.1.0",
"data_model 0.1.0",
]
[[package]]
name = "cros_async"
version = "0.1.0"
dependencies = [
"async-trait 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"io_uring 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"paste 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
cros_async: Refactor executors This CL includes several smaller changes to how executors work: * Replace BTreeMap with Slab, which should give us some small performance benefits by giving O(1) lookups and reducing memory allocations when adding new I/O operations. It also gives some improvements to readability as we no longer have to carry around "next_*" variables. Slab has no dependencies and we're already pulling it in via the futures crate. * WakerToken no longer implements Clone. * Merge pending_ops and completed_ops in URingExecutor into a single `ops` Slab and introduce an OpStatus enum that indicates whether an operation is pending or completed. This also fixes a resource leak where an operation that was canceled before completion would end up staying in completed_ops ~forever. Add a test for this leak. * Add a generation number to RingWakerState and include it in all RegisteredSources. Since a RegisteredSource can outlive the RingWakerState that created it, the generation number ensures that it will only affect the RingWakerState that created it. Add a test for this. * Poison RegisteredSource so that it doesn't implement Send or Sync. Since it's associated with a thread-local executor, sending it across thread boundaries is not ok. BUG=none TEST=unit tests Change-Id: I43dcfbb8166002995ec8773522c22fab8fb2da9e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2374885 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Chirantan Ekbote <chirantan@chromium.org>
2020-08-25 10:03:44 +00:00
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"sys_util 0.1.0",
"syscall_defines 0.1.0",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "crosvm"
version = "0.1.0"
dependencies = [
"aarch64 0.1.0",
"acpi_tables 0.1.0",
"arch 0.1.0",
"assertions 0.1.0",
"audio_streams 0.1.0",
"base 0.1.0",
"bit_field 0.1.0",
"crosvm_plugin 0.17.0",
"data_model 0.1.0",
"devices 0.1.0",
"disk 0.1.0",
"enumn 0.1.0",
"gpu_buffer 0.1.0",
"gpu_renderer 0.1.0",
"hypervisor 0.1.0",
"kernel_cmdline 0.1.0",
"kernel_loader 0.1.0",
"kvm 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"libcras 0.1.0",
"minijail 0.2.1",
"msg_socket 0.1.0",
"net_util 0.1.0",
"p9 0.1.0",
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protos 0.1.0",
"rand_ish 0.1.0",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"resources 0.1.0",
"sync 0.1.0",
"tempfile 3.0.7",
"vhost 0.1.0",
"vm_control 0.1.0",
"vm_memory 0.1.0",
"x86_64 0.1.0",
]
[[package]]
name = "crosvm_plugin"
version = "0.17.0"
dependencies = [
"base 0.1.0",
"kvm 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protos 0.1.0",
]
[[package]]
name = "data_model"
version = "0.1.0"
dependencies = [
"assertions 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "devices"
version = "0.1.0"
dependencies = [
"acpi_tables 0.1.0",
"audio_streams 0.1.0",
"base 0.1.0",
"bit_field 0.1.0",
"cros_async 0.1.0",
"data_model 0.1.0",
"disk 0.1.0",
"enumn 0.1.0",
"fuse 0.1.0",
"gpu_buffer 0.1.0",
"gpu_display 0.1.0",
"gpu_renderer 0.1.0",
"hypervisor 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"libcras 0.1.0",
"libvda 0.1.0",
"linux_input_sys 0.1.0",
"minijail 0.2.1",
"msg_on_socket_derive 0.1.0",
"msg_socket 0.1.0",
"net_sys 0.1.0",
"net_util 0.1.0",
"p9 0.1.0",
"protos 0.1.0",
devices: fs: Fix posix acl handling Posix acls are a truly incredible example of API design. The presence of a default posix acl in a directory completely changes the meaning of the `mode` parameter for all system call that create inodes. However, this new behavior only applies when the inode is first created and not for any subsequent operations that use the mode, like fchmod. When a directory has a default posix acl, all inodes created in that directory get the permissions specified in the default acl. The mode parameter is treated like a umask where any permissions allowed by the default acl that are not allowed by the mode parameter are blocked. The actual umask is ignored in this case. So to handle this properly we need to set FUSE_DONT_MASK to prevent the kernel driver from preemptively applying the umask. Then we have to check if the parent directory has a default posix acl and only apply the umask to the mode if it does not. This also means that we cannot use `mkdtemp` because that always creates directories with a mode of 0o700 and since the default posix acl calculation only applies on creation and not on later operations, we need to apply the proper mode in the very beginning. BUG=b:159285544,b:152806644 TEST=vm.Virtiofs. Use a test program to create files/directories in directories that have a default acl and ones that don't, and verify that the mode is correctly set after creation Change-Id: Ieca8ac9db391feebe5719630c5f3b57b04b71533 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2260253 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Chirantan Ekbote <chirantan@chromium.org> Auto-Submit: Chirantan Ekbote <chirantan@chromium.org>
2020-06-23 08:12:03 +00:00
"rand_ish 0.1.0",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"resources 0.1.0",
"sync 0.1.0",
"syscall_defines 0.1.0",
"tempfile 3.0.7",
"tpm2 0.1.0",
"usb_util 0.1.0",
"vfio_sys 0.1.0",
"vhost 0.1.0",
"virtio_sys 0.1.0",
"vm_control 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "disk"
version = "0.1.0"
dependencies = [
"async-trait 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"base 0.1.0",
"cros_async 0.1.0",
"data_model 0.1.0",
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protos 0.1.0",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.7",
"vm_memory 0.1.0",
]
[[package]]
name = "downcast-rs"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "enumn"
version = "0.1.0"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "fuse"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"data_model 0.1.0",
"enumn 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "futures"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "futures-channel"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "futures-core"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "futures-executor"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "futures-io"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "futures-macro"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "futures-sink"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "futures-task"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "futures-util"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "getopts"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "gpu_buffer"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
]
[[package]]
name = "gpu_display"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"linux_input_sys 0.1.0",
]
[[package]]
name = "gpu_renderer"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"vm_memory 0.1.0",
]
[[package]]
name = "hypervisor"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"bit_field 0.1.0",
"data_model 0.1.0",
"downcast-rs 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"enumn 0.1.0",
"kvm 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"msg_socket 0.1.0",
"sync 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "io_uring"
version = "0.1.0"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"sys_util 0.1.0",
"syscall_defines 0.1.0",
]
[[package]]
name = "kernel_cmdline"
version = "0.1.0"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "kernel_loader"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.7",
"vm_memory 0.1.0",
]
[[package]]
name = "kvm"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"kvm_sys 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"msg_socket 0.1.0",
"sync 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "kvm_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "libc"
version = "0.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "libcras"
version = "0.1.0"
dependencies = [
"audio_streams 0.1.0",
"cras-sys 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"sys_util 0.1.0",
]
[[package]]
name = "libvda"
version = "0.1.0"
dependencies = [
"enumn 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "linux_input_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "log"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "memchr"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "minijail"
version = "0.2.1"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"minijail-sys 0.0.11",
]
[[package]]
name = "minijail-sys"
version = "0.0.11"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "msg_on_socket_derive"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "msg_socket"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"cros_async 0.1.0",
"data_model 0.1.0",
"futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"msg_on_socket_derive 0.1.0",
"sync 0.1.0",
]
[[package]]
name = "net_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
]
[[package]]
name = "net_util"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"net_sys 0.1.0",
]
[[package]]
name = "num_cpus"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "p9"
version = "0.1.0"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"wire_format_derive 0.1.0",
]
[[package]]
name = "paste"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "pin-utils"
version = "0.1.0-alpha.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "pkg-config"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "poll_token_derive"
version = "0.1.0"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "proc-macro-hack"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "proc-macro-nested"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "proc-macro2"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "protobuf"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "protobuf-codegen"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "protoc"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "protoc-rust"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protoc 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.7",
]
[[package]]
name = "protos"
version = "0.1.0"
dependencies = [
"kvm_sys 0.1.0",
"protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protoc-rust 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "qcow_utils"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"disk 0.1.0",
"getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "quote"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rand_ish"
version = "0.1.0"
[[package]]
name = "remain"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "resources"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"gpu_buffer 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"msg_socket 0.1.0",
]
[[package]]
name = "slab"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "syn"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "sync"
version = "0.1.0"
[[package]]
name = "sys_util"
version = "0.1.0"
dependencies = [
"android_log-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"poll_token_derive 0.1.0",
"sync 0.1.0",
"syscall_defines 0.1.0",
"tempfile 3.0.7",
]
[[package]]
name = "syscall_defines"
version = "0.1.0"
[[package]]
name = "tempfile"
version = "3.0.7"
dependencies = [
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thiserror"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"thiserror-impl 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thiserror-impl"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "tpm2"
version = "0.1.0"
dependencies = [
"tpm2-sys 0.1.0",
]
[[package]]
name = "tpm2-sys"
version = "0.1.0"
dependencies = [
"num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "unicode-width"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "unicode-xid"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "usb_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
]
[[package]]
name = "usb_util"
version = "0.1.0"
dependencies = [
"assertions 0.1.0",
"base 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"usb_sys 0.1.0",
]
[[package]]
name = "vfio_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
]
[[package]]
name = "vhost"
version = "0.1.0"
dependencies = [
"assertions 0.1.0",
"base 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"net_util 0.1.0",
"virtio_sys 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "virtio_sys"
version = "0.1.0"
dependencies = [
"base 0.1.0",
]
[[package]]
name = "vm_control"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"data_model 0.1.0",
"hypervisor 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"msg_socket 0.1.0",
"resources 0.1.0",
kvm: allow registering memory from current address space This is good for enabling non-exportable Vulkan host coherent memory, along with anything else where an exportable OS object isn't supported. This CL introduces: 1. ExternalMapping, which wraps an external library mapping using function callbacks, for purposes of sharing device memory to the guest in the case where the device memory is not compatible with the mmap interface. This is common in Vulkan when VkDeviceMemory is host visible but not external, or external but based on an opaque fd. The lifetime of the library mapping is tied to the lifetime of the ExternalMapping. 2. Usually, we would send such memory requests over a socket to the main thread. However, since these new objects require more metadata than other requests that are sent over the wire (because there's information about inheritance and refcounts), we also plumb the "map_request" field, which wraps a single ExternalMapping. Note that this ExternalMapping will not work in the sandbox case. In the sandbox case, we will then have to figure out how to serialize/deserialize ExternalMapping requests over a socket. BUG=b/146066070, b/153580313 TEST=compile and test Change-Id: I3b099b308aec45a313a8278ed6274f9dec66c30b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2034029 Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
2020-01-31 21:55:35 +00:00
"sync 0.1.0",
"vm_memory 0.1.0",
]
[[package]]
name = "vm_memory"
version = "0.1.0"
dependencies = [
"base 0.1.0",
"cros_async 0.1.0",
"data_model 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"syscall_defines 0.1.0",
]
[[package]]
name = "wire_format_derive"
version = "0.1.0"
dependencies = [
"proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
"syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "x86_64"
version = "0.1.0"
dependencies = [
"acpi_tables 0.1.0",
"arch 0.1.0",
"assertions 0.1.0",
"base 0.1.0",
"data_model 0.1.0",
"devices 0.1.0",
"hypervisor 0.1.0",
"kernel_cmdline 0.1.0",
"kernel_loader 0.1.0",
"libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
"minijail 0.2.1",
"remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"resources 0.1.0",
"sync 0.1.0",
"vm_control 0.1.0",
"vm_memory 0.1.0",
]
[metadata]
"checksum android_log-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85965b6739a430150bdd138e2374a98af0c3ee0d030b3bb7fc3bddff58d0102e"
"checksum async-trait 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92"
"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
"checksum downcast-rs 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
"checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
"checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
"checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f"
"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
"checksum paste 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ba7ae1a2180ed02ddfdb5ab70c70d596a26dd642e097bb6fe78b1bde8588ed97"
"checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f"
"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
"checksum protobuf 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20"
"checksum protobuf-codegen 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a"
"checksum protoc 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3998c4bc0af8ccbd3cc68245ee9f72663c5ae2fb78bc48ff7719aef11562edea"
"checksum protoc-rust 2.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "234c97039c32bb58a883d0deafa57db37e59428ce536f3bdfe1c46cffec04113"
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
"checksum remain 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "99c861227fc40c8da6fdaa3d58144ac84c0537080a43eb1d7d45c28f88dcb888"
"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
"checksum thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08"
"checksum thiserror-impl 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793"
"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"