Home
last modified time | relevance | path

Searched full:crosvm (Results 1 – 25 of 186) sorted by relevance

12345678

/external/crosvm/
DREADME.md1 # 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 …]
DCONTRIBUTING.md5 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/
Dcrosvm_seccomp_policy_product_packages.mk40 # 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 …]
DAndroid.bp55 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/
Dplugin_hint.c21 #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 …]
Dplugin_supported_cpuid.c13 #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 …]
Dplugin_vcpu_pause.c23 #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 …]
Dplugin_vm_state.c12 #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 …]
Dplugin_adder.c20 #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 …]
Dmini_plugin_template.c20 #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 …]
Dplugin_async_write.c21 #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 …]
Dplugins.rs36 .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 …]
Dplugin_dirty_log.c20 #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 …]
Dplugin_ioevent.c20 #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 …]
Dplugin_irqfd.c20 #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 …]
Dplugin_msr_index_list.c13 #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()
Dplugin_extensions.c20 #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/
Dcrosvm.h21 * 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/
Dcommon.sh6 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/
DREADME.md1 # 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/
Drust-vmm.md2 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/
Dlib.rs7 //! 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/
DAndroid.bp50 // ../../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/
Dlib.rs5 // 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/
DAndroid.bp56 // ../../../../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

12345678