/external/crosvm/ |
D | README.md | 1 # crosvm - The Chrome OS Virtual Machine Monitor 3 This component, known as crosvm, runs untrusted operating systems along with 5 makes crosvm unique is a focus on safety within the programming language and a 11 The channel #crosvm on [freenode](https://webchat.freenode.net/#crosvm) is used hashtag 12 for technical discussion related to crosvm development and integration. 18 crosvm on Chromium OS is built with Portage, so it follows the same general 20 `chromeos-base/crosvm`. 30 to build and test crosvm in enviroments outside of the Chrome OS chroot. 36 First, [set up depot_tools] and use `repo` to sync down the crosvm source 38 to build crosvm. [all …]
|
D | CONTRIBUTING.md | 5 in guiding crosvm's direction. 9 The following is high level guidance for producing contributions to crosvm. 23 In the `bin/` directory of the crosvm repository, there is the `clippy` script 24 which lints the Rust code and the `fmt` script which will format the crosvm Rust 29 The `./test_all` script will use docker containers to run all tests for crosvm. 44 crosvm will be built and the unit tests (with some exceptions) will be run by 53 To format all code, crosvm defers to rustfmt. In addition, the code adheres to 61 4. crosvm crates 64 crosvm uses the [remain](https://github.com/dtolnay/remain) crate to keep error
|
/external/crosvm/seccomp/ |
D | crosvm_seccomp_policy_product_packages.mk | 40 # TODO: Remove this when crosvm is added to generic system image 42 system/etc/seccomp_policy/crosvm/9p_device.policy \ 43 system/etc/seccomp_policy/crosvm/balloon_device.policy \ 44 system/etc/seccomp_policy/crosvm/battery.policy \ 45 system/etc/seccomp_policy/crosvm/block_device.policy \ 46 system/etc/seccomp_policy/crosvm/cras_audio_device.policy \ 47 system/etc/seccomp_policy/crosvm/fs_device.policy \ 48 system/etc/seccomp_policy/crosvm/gpu_device.policy \ 49 system/etc/seccomp_policy/crosvm/input_device.policy \ 50 system/etc/seccomp_policy/crosvm/net_device.policy \ [all …]
|
D | Android.bp | 55 relative_install_path: "crosvm/x86_64-linux-gnu/seccomp", 69 relative_install_path: "crosvm/aarch64-linux-gnu/seccomp", 75 relative_install_path: "seccomp_policy/crosvm", 104 relative_install_path: "crosvm/x86_64-linux-gnu/seccomp", 118 relative_install_path: "crosvm/aarch64-linux-gnu/seccomp", 124 relative_install_path: "seccomp_policy/crosvm", 153 relative_install_path: "crosvm/x86_64-linux-gnu/seccomp", 167 relative_install_path: "crosvm/aarch64-linux-gnu/seccomp", 173 relative_install_path: "seccomp_policy/crosvm", 202 relative_install_path: "crosvm/x86_64-linux-gnu/seccomp", [all …]
|
/external/crosvm/tests/ |
D | plugin_hint.c | 21 #include "crosvm.h" 75 * crosvm being halted. in vcpu_thread() 78 fprintf(stderr, "failed to send stop to crosvm\n"); in vcpu_thread() 82 printf("get regs query on crosvm\n"); in vcpu_thread() 85 * The failure mode for this test is that crosvm remains in vcpu_thread() 87 * crosvm_vcpu_[g|s]et_regs() to resume crosvm) and in vcpu_thread() 94 printf("set regs query on crosvm\n"); in vcpu_thread() 100 printf("get sregs query on crosvm\n"); in vcpu_thread() 105 printf("set sregs query on crosvm\n"); in vcpu_thread() 111 printf("get debugregs query on crosvm\n"); in vcpu_thread() [all …]
|
D | plugin_supported_cpuid.c | 13 #include "crosvm.h" 15 typedef int (*crosvm_function)(struct crosvm*, uint32_t, 22 crosvm_function crosvm; member 26 int test_cpuid(void* crosvm, union cpuid_function funct, const char* name) { in test_cpuid() argument 29 int ret = funct.crosvm(crosvm, 1, cpuids, &n_entries); in test_cpuid() 36 ret = funct.crosvm(crosvm, 100, cpuids, &n_entries); in test_cpuid() 58 struct crosvm* crosvm = NULL; in main() local 59 int ret = crosvm_connect(&crosvm); in main() 61 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 66 ret = crosvm_get_vcpu(crosvm, 0, &vcpu); in main() [all …]
|
D | plugin_vcpu_pause.c | 23 #include "crosvm.h" 117 static int signal_pause(struct crosvm *crosvm) { in signal_pause() argument 122 return crosvm_pause_vcpus(crosvm, 1, NULL); in signal_pause() 125 static void signal_unpause(struct crosvm *crosvm, bool exit_loop) { in signal_unpause() argument 159 struct crosvm *crosvm; in main() local 160 int ret = crosvm_connect(&crosvm); in main() 162 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 167 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 173 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, in main() 202 ret = crosvm_create_memory(crosvm, mem_fd, 0x1000, 0x1000, 0x1000, in main() [all …]
|
D | plugin_vm_state.c | 12 #include "crosvm.h" 15 struct crosvm *crosvm; in main() local 16 int ret = crosvm_connect(&crosvm); in main() 18 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 23 ret = crosvm_get_pic_state(crosvm, false, &pic_state); in main() 35 ret = crosvm_set_pic_state(crosvm, false, &pic_state); in main() 41 ret = crosvm_get_pic_state(crosvm, false, &pic_state); in main() 54 ret = crosvm_get_ioapic_state(crosvm, &ioapic_state); in main() 68 ret = crosvm_set_ioapic_state(crosvm, &ioapic_state); in main() 74 ret = crosvm_get_ioapic_state(crosvm, &ioapic_state); in main() [all …]
|
D | plugin_adder.c | 20 #include "crosvm.h" 114 struct crosvm *crosvm; in main() local 115 int ret = crosvm_connect(&crosvm); in main() 117 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 125 struct crosvm *extra_crosvm; in main() 126 ret = crosvm_new_connection(crosvm, &extra_crosvm); in main() 133 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 139 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, SERIAL_ADDRESS, 1); in main() 145 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, KILL_ADDRESS, 1); in main() 171 ret = crosvm_create_memory(crosvm, mem_fd, 0x1000, 0x1000, 0x1000, false, false, &mem_obj); in main() [all …]
|
D | mini_plugin_template.c | 20 #include "crosvm.h" 41 int setup_vm(struct crosvm *, void *mem); 44 int check_result(struct crosvm *, void *mem); 86 struct crosvm *crosvm; in main() local 87 int ret = crosvm_connect(&crosvm); in main() 89 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 93 int kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 119 ret = crosvm_create_memory(crosvm, mem_fd, 0, mem_size, 0, false, false, &mem_obj); in main() 121 fprintf(stderr, "failed to create memory in crosvm: %d\n", ret); in main() 125 ret = setup_vm(crosvm, mem); in main() [all …]
|
D | plugin_async_write.c | 21 #include "crosvm.h" 152 struct crosvm *crosvm; in main() local 153 int ret = crosvm_connect(&crosvm); in main() 155 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 163 struct crosvm *extra_crosvm; in main() 164 ret = crosvm_new_connection(crosvm, &extra_crosvm); in main() 171 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 177 ret = crosvm_reserve_async_write_range(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, in main() 184 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, in main() 213 ret = crosvm_create_memory(crosvm, mem_fd, 0x1000, 0x1000, 0x1000, false, in main() [all …]
|
D | plugins.rs | 36 .expect("failed to get crosvm binary directory") in get_target_path() 49 .expect("failed to get crosvm binary directory") in get_crosvm_path() 58 .args(&["-Icrosvm_plugin", "-pthread", "-o"]) // crosvm.h location and set output path. in build_plugin() 83 crosvm_path.push("crosvm"); in run_plugin() 108 let mut child = cmd.spawn().expect("failed to spawn crosvm"); in run_plugin() 110 match child.try_wait().expect("failed to wait for crosvm") { in run_plugin() 118 child.kill().expect("failed to kill crosvm"); in run_plugin() 119 panic!("crosvm process has timed out"); in run_plugin() 304 int setup_vm(struct crosvm *crosvm, void *mem) { in test_debugregs() 305 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in test_debugregs() [all …]
|
D | plugin_dirty_log.c | 20 #include "crosvm.h" 92 struct crosvm *crosvm; in main() local 93 int ret = crosvm_connect(&crosvm); in main() 95 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 99 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 105 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_MMIO, KILL_ADDRESS, 1); in main() 131 ret = crosvm_create_memory(crosvm, mem_fd, 0, mem_size, 0, false, true, &mem_obj); in main() 133 fprintf(stderr, "failed to create memory in crosvm: %d\n", ret); in main() 141 ret = crosvm_get_vcpu(crosvm, vcpu_count, &vcpus[vcpu_count]); in main() 152 ret = crosvm_start(crosvm); in main() [all …]
|
D | plugin_ioevent.c | 20 #include "crosvm.h" 105 struct crosvm *crosvm; in main() local 106 int ret = crosvm_connect(&crosvm); in main() 108 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 112 g_kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 118 ret = crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_MMIO, KILL_ADDRESS, 1); in main() 126 ret = crosvm_create_io_event(crosvm, CROSVM_ADDRESS_SPACE_IOPORT, 0x3f8, 1, &datamatch, &io); in main() 154 ret = crosvm_create_memory(crosvm, mem_fd, 0, mem_size, 0, false, false, &mem_obj); in main() 156 fprintf(stderr, "failed to create memory in crosvm: %d\n", ret); in main() 165 ret = crosvm_get_vcpu(crosvm, vcpu_count, &vcpus[vcpu_count]); in main() [all …]
|
D | plugin_irqfd.c | 20 #include "crosvm.h" 131 struct crosvm *crosvm; in main() local 132 int ret = crosvm_connect(&crosvm); in main() 134 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 138 int kill_evt = crosvm_get_shutdown_eventfd(crosvm); in main() 144 crosvm_reserve_range(crosvm, CROSVM_ADDRESS_SPACE_MMIO, KILL_ADDRESS, 1); in main() 147 ret = crosvm_create_irq_event(crosvm, 0, &irq); in main() 175 ret = crosvm_create_memory(crosvm, mem_fd, 0, mem_size, 0, false, false, &mem_obj); in main() 177 fprintf(stderr, "failed to create memory in crosvm: %d\n", ret); in main() 186 ret = crosvm_get_vcpu(crosvm, vcpu_count, &vcpus[vcpu_count]); in main() [all …]
|
D | plugin_msr_index_list.c | 13 #include "crosvm.h" 16 struct crosvm *crosvm; in main() local 17 int ret = crosvm_connect(&crosvm); in main() 19 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 25 ret = crosvm_get_msr_index_list(crosvm, 1, msr_indices, &n_entries); in main() 34 ret = crosvm_get_msr_index_list(crosvm, 256, msr_indices, &n_entries); in main()
|
D | plugin_extensions.c | 20 #include "crosvm.h" 23 struct crosvm *crosvm; in main() local 24 int ret = crosvm_connect(&crosvm); in main() 26 fprintf(stderr, "failed to connect to crosvm: %d\n", ret); in main() 31 ret = crosvm_check_extension(crosvm, KVM_CAP_IRQCHIP, &supported); in main() 42 ret = crosvm_check_extension(crosvm, KVM_CAP_S390_PSW, &supported); in main()
|
/external/crosvm/crosvm_plugin/ |
D | crosvm.h | 21 * This module is used to implement a plugin for crosvm. 23 * A plugin for crosvm interfaces with the virtual machine using the `struct 24 * crosvm` object and its child objects. A typical plugin is expected to call 30 * between the `crosvm_vcpu_wait` and `crosvm_vcpu_resume` calls. The crosvm 47 * do not indicate anything about what version of crosvm is running. 60 /* Handle to the parent crosvm process. */ 61 struct crosvm; 76 * Connects to the parent crosvm process and returns a new `struct crosvm` 79 * This is the entry point for interfacing with crosvm as a plugin. This should 82 int crosvm_connect(struct crosvm**); [all …]
|
/external/crosvm/ci/kokoro/ |
D | common.sh | 6 crosvm_root="${KOKORO_ARTIFACTS_DIR}"/git/crosvm 32 echo "Downloading crosvm dependencies to $(pwd)/cros..." 47 -g crosvm || return 1 52 echo "Mounting crosvm source to $(pwd)/src/platform/crosvm..." 53 rm -rf src/platform/crosvm && mkdir -p src/platform/crosvm 55 bindfs "${crosvm_root}" src/platform/crosvm || return 1 57 sudo mount --bind "${crosvm_root}" src/platform/crosvm || return 1 70 fusermount -uz "${KOKORO_ARTIFACTS_DIR}/cros/src/platform/crosvm" 72 sudo umount --lazy "${KOKORO_ARTIFACTS_DIR}/cros/src/platform/crosvm" 89 cd "${KOKORO_ARTIFACTS_DIR}/cros/src/platform/crosvm"
|
/external/crosvm/ci/ |
D | README.md | 1 # CrosVM Continuous Integration 3 Crosvm has a complex set of dependencies and requirements on the host machine to 9 ## How to run crosvm tests 13 Since crosvm is part of chromiumos, and uses a couple of it's projects as 17 To reduce the number of repositories to download, you can use the `-g crosvm` 23 …om/chromiumos/manifest.git --repo-url https://chromium.googlesource.com/external/repo.git -g crosvm 25 $ cd src/platform/crosvm 91 crosvm-aarch64$ ./run_tests 92 crosvm-aarch64$ cargo test -p kvm_sys 110 crosvm. [all …]
|
/external/crosvm/docs/ |
D | rust-vmm.md | 2 crosvm is open to using rust-vmm modules. However, as of Fall 2020 there has been no progress toward 4 make integration challenging . It is possible to overcome this and enable crosvm to use common 11 Soon after crosvm's code was public, Amazon used it as the basis for their own VMM named 13 crosvm. In order to drive collaboration and code sharing, an independent organization was created, 21 and crosvm to use the shared components. 24 crosvm and rust-vmm are most alike in the 25 [kvm-bindings](https://github.com/rust-vmm/kvm-bindings)(limited by crosvm's use of aarch64 bindings 28 sharing more code with rust-vmm, but that work remains low priority for crosvm.
|
/external/crosvm/crosvm_plugin/src/ |
D | lib.rs | 7 //! This module implements the dynamically loaded client library API used by a crosvm plugin, 8 //! defined in `crosvm.h`. It implements the client half of the plugin protocol, which is defined in 11 //! To implement the `crosvm.h` C API, each function and struct definition is repeated here, with 13 //! oriented Rust implementation method. Most methods require a request over the crosvm connection, 248 pub struct crosvm { struct 256 impl crosvm { argument 257 fn from_connection(socket: UnixDatagram) -> result::Result<crosvm, c_int> { in from_connection() argument 258 let mut crosvm = crosvm { in from_connection() localVariable 265 crosvm.load_all_vcpus()?; in from_connection() 266 Ok(crosvm) in from_connection() [all …]
|
/external/adhd/audio_streams/ |
D | Android.bp | 50 // ../../crosvm/assertions/src/lib.rs 51 // ../../crosvm/data_model/src/lib.rs 52 // ../../crosvm/sync/src/lib.rs 53 // ../../crosvm/sys_util/poll_token_derive/poll_token_derive.rs 54 // ../../crosvm/sys_util/src/lib.rs 55 // ../../crosvm/syscall_defines/src/lib.rs 56 // ../../crosvm/tempfile/src/lib.rs
|
/external/crosvm/libcrosvm_control/src/ |
D | lib.rs | 5 // Provides parts of crosvm as a library to communicate with running crosvm instances. 6 // Usually you would need to invoke crosvm with subcommands and you'd get the result on 29 /// Stops the crosvm instance whose control socket is listening on `socket_path`. 44 /// Suspends the crosvm instance whose control socket is listening on `socket_path`. 59 /// Resumes the crosvm instance whose control socket is listening on `socket_path`. 74 /// Adjusts the balloon size of the crosvm instance whose control socket is 112 /// Returns all USB devices passed through the crosvm instance whose control socket is listening on… 117 /// * `socket_path` - Path to the crosvm control socket 122 /// Crosvm supports passing through up to 255 devices, so pasing an array with 255 entries will 154 /// Attaches an USB device to crosvm instance whose control socket is listening on `socket_path`. [all …]
|
/external/adhd/cras/client/libcras/ |
D | Android.bp | 56 // ../../../../crosvm/assertions/src/lib.rs 57 // ../../../../crosvm/data_model/src/lib.rs 58 // ../../../../crosvm/sync/src/lib.rs 59 // ../../../../crosvm/sys_util/poll_token_derive/poll_token_derive.rs 60 // ../../../../crosvm/sys_util/src/lib.rs 61 // ../../../../crosvm/syscall_defines/src/lib.rs 62 // ../../../../crosvm/tempfile/src/lib.rs
|