Lines Matching +full:- +full:- +full:print +full:- +full:architecture
3 // SPDX-License-Identifier: Apache-2.0
40 #[cfg(feature = "dhat-heap")]
71 #[error("Error parsing --api-socket")]
73 #[error("Error parsing --event-monitor")]
76 #[error("`--dbus-object-path` option isn't provided")]
79 #[error("`--dbus-service-name` option isn't provided")]
81 #[error("Error parsing --event-monitor: path or fd required")]
88 #[error("Error parsing --gdb")]
91 #[error("Error parsing --gdb: path required")]
123 fn enabled(&self, _metadata: &log::Metadata) -> bool { in enabled()
138 "cloud-hypervisor: {:.6?}: <{}> {}:{}:{} -- {}\r\n", in log()
149 "cloud-hypervisor: {:.6?}: <{}> {}:{} -- {}\r\n", in log()
162 fn prepare_default_values() -> (String, String, String) { in prepare_default_values()
166 fn default_vcpus() -> String { in default_vcpus()
174 fn default_memory() -> String { in default_memory()
178 fn default_rng() -> String { in default_rng()
183 /// `--help` output.
188 ) -> Box<[Arg]> { in get_cli_options_sorted()
190 Arg::new("api-socket") in get_cli_options_sorted()
191 .long("api-socket") in get_cli_options_sorted()
194 .group("vmm-config"), in get_cli_options_sorted()
199 .group("vm-config"), in get_cli_options_sorted()
204 .group("vm-config"), Arg::new("console") in get_cli_options_sorted()
210 .group("vm-config"), in get_cli_options_sorted()
221 .group("vm-config"), in get_cli_options_sorted()
223 Arg::new("debug-console") in get_cli_options_sorted()
224 .long("debug-console") in get_cli_options_sorted()
227 .group("vm-config"), in get_cli_options_sorted()
229 Arg::new("dbus-service-name") in get_cli_options_sorted()
230 .long("dbus-service-name") in get_cli_options_sorted()
233 .group("vmm-config"), in get_cli_options_sorted()
235 Arg::new("dbus-object-path") in get_cli_options_sorted()
236 .long("dbus-object-path") in get_cli_options_sorted()
239 .group("vmm-config"), in get_cli_options_sorted()
241 Arg::new("dbus-system-bus") in get_cli_options_sorted()
242 .long("dbus-system-bus") in get_cli_options_sorted()
246 .group("vmm-config"), in get_cli_options_sorted()
251 .group("vm-config"), in get_cli_options_sorted()
256 .group("vm-config"), in get_cli_options_sorted()
257 Arg::new("event-monitor") in get_cli_options_sorted()
258 .long("event-monitor") in get_cli_options_sorted()
261 .group("vmm-config"), in get_cli_options_sorted()
266 .group("vm-payload"), in get_cli_options_sorted()
271 .group("vm-config"), in get_cli_options_sorted()
277 .group("vmm-config"), in get_cli_options_sorted()
283 .group("vm-payload"), in get_cli_options_sorted()
285 Arg::new("host-data") in get_cli_options_sorted()
286 .long("host-data") in get_cli_options_sorted()
289 .group("vm-config"), in get_cli_options_sorted()
294 .group("vm-config"), in get_cli_options_sorted()
299 entry point (e.g. vmlinux) or architecture equivalent", in get_cli_options_sorted()
302 .group("vm-payload"), in get_cli_options_sorted()
311 .group("vm-config"), in get_cli_options_sorted()
312 Arg::new("landlock-rules") in get_cli_options_sorted()
313 .long("landlock-rules") in get_cli_options_sorted()
316 .group("vm-config"), in get_cli_options_sorted()
317 Arg::new("log-file") in get_cli_options_sorted()
318 .long("log-file") in get_cli_options_sorted()
328 hotplug_method=acpi|virtio-mem,\ in get_cli_options_sorted()
334 .group("vm-config"), in get_cli_options_sorted()
335 Arg::new("memory-zone") in get_cli_options_sorted()
336 .long("memory-zone") in get_cli_options_sorted()
348 .group("vm-config"), in get_cli_options_sorted()
353 .group("vm-config"), in get_cli_options_sorted()
358 .group("vm-config"), in get_cli_options_sorted()
359 Arg::new("pci-segment") in get_cli_options_sorted()
360 .long("pci-segment") in get_cli_options_sorted()
363 .group("vm-config"), in get_cli_options_sorted()
370 .group("vm-config"), in get_cli_options_sorted()
375 .group("vm-config"), in get_cli_options_sorted()
382 .group("vm-config"), in get_cli_options_sorted()
388 .group("vm-config"), in get_cli_options_sorted()
389 Arg::new("rate-limit-group") in get_cli_options_sorted()
390 .long("rate-limit-group") in get_cli_options_sorted()
393 .group("vm-config"), in get_cli_options_sorted()
398 .group("vmm-config"), in get_cli_options_sorted()
405 .group("vm-config"), in get_cli_options_sorted()
415 .group("vm-config"), in get_cli_options_sorted()
417 Arg::new("sgx-epc") in get_cli_options_sorted()
418 .long("sgx-epc") in get_cli_options_sorted()
421 .group("vm-config"), in get_cli_options_sorted()
426 .group("vm-config"), in get_cli_options_sorted()
427 Arg::new("user-device") in get_cli_options_sorted()
428 .long("user-device") in get_cli_options_sorted()
431 .group("vm-config"), in get_cli_options_sorted()
441 .group("vm-config"), in get_cli_options_sorted()
446 .help("Print version") in get_cli_options_sorted()
452 .group("vm-config"), in get_cli_options_sorted()
455 .help("Enable virtio-watchdog") in get_cli_options_sorted()
458 .group("vm-config"), in get_cli_options_sorted()
463 fn create_app(default_vcpus: String, default_memory: String, default_rng: String) -> Command { in create_app()
465 ArgGroup::new("vm-config") in create_app()
467 .requires("vm-payload"), in create_app()
468 ArgGroup::new("vmm-config").multiple(true), in create_app()
470 ArgGroup::new("vm-payload").multiple(true), in create_app()
475 Command::new("cloud-hypervisor") in create_app()
479 .about("Launch a cloud-hypervisor VMM.") in create_app()
485 fn start_vmm(cmd_arguments: ArgMatches) -> Result<Option<String>, Error> { in start_vmm()
494 cmd_arguments.get_one::<String>("log-file") in start_vmm()
509 if let Some(socket_config) = cmd_arguments.get_one::<String>("api-socket") { in start_vmm()
524 .get_one::<String>("api-socket") in start_vmm()
544 panic!("Invalid parameter {val} for \"--seccomp\" flag"); in start_vmm()
558 Try running with `strace -ff` to identify the cause and open an issue: \ in start_vmm()
559 https://github.com/cloud-hypervisor/cloud-hypervisor/issues/new\n" in start_vmm()
614 .get_one::<String>("event-monitor") in start_vmm()
651 cmd_arguments.get_one::<String>("dbus-service-name"), in start_vmm()
652 cmd_arguments.get_one::<String>("dbus-object-path"), in start_vmm()
664 system_bus: cmd_arguments.get_flag("dbus-system-bus"), in start_vmm()
780 // This is a best-effort solution to the latency induced by the RCU
786 // synchronize_rcu() to ensure all preexisting RCU read-side critical sections
794 // a big chunk of the total time required to start cloud-hypervisor and restore
804 fn expand_fdtable() -> Result<(), FdTableError> { in expand_fdtable()
831 let flags: i32 = unsafe { libc::fcntl(table_size - 1, libc::F_GETFD) }; in expand_fdtable()
842 if unsafe { libc::dup2(dummy_evt.as_raw_fd(), table_size - 1) } < 0 { in expand_fdtable()
846 unsafe { libc::close(table_size - 1) }; in expand_fdtable()
857 #[cfg(feature = "dhat-heap")] in main()
892 #[cfg(feature = "dhat-heap")] in main()
913 fn get_vm_config_from_vec(args: &[&str]) -> VmConfig { in get_vm_config_from_vec()
926 ) -> (VmConfig, VmConfig) { in compare_vm_config_cli_vs_json()
941 let cli = vec!["cloud-hypervisor", "--kernel", "/path/to/kernel"]; in test_valid_vm_config_default()
1035 "cloud-hypervisor", in test_valid_vm_config_cpus()
1036 "--kernel", in test_valid_vm_config_cpus()
1038 "--cpus", in test_valid_vm_config_cpus()
1049 "cloud-hypervisor", in test_valid_vm_config_cpus()
1050 "--kernel", in test_valid_vm_config_cpus()
1052 "--cpus", in test_valid_vm_config_cpus()
1063 "cloud-hypervisor", in test_valid_vm_config_cpus()
1064 "--kernel", in test_valid_vm_config_cpus()
1066 "--cpus", in test_valid_vm_config_cpus()
1086 … vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1073741824"], in test_valid_vm_config_memory()
1094 vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G"], in test_valid_vm_config_memory()
1102 … vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G,mergeable=on"], in test_valid_vm_config_memory()
1110 … vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G,mergeable=off"], in test_valid_vm_config_memory()
1118 … vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G,mergeable=on"], in test_valid_vm_config_memory()
1126 … vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G,hotplug_size=1G"], in test_valid_vm_config_memory()
1134 …vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "size=1G,hotplug_method=virtio… in test_valid_vm_config_memory()
1151 vec!["cloud-hypervisor", "--kernel", "/path/to/kernel"], in test_valid_vm_config_kernel()
1167 "cloud-hypervisor", in test_valid_vm_config_cmdline()
1168 "--kernel", in test_valid_vm_config_cmdline()
1170 "--cmdline", in test_valid_vm_config_cmdline()
1189 "cloud-hypervisor", in test_valid_vm_config_disks()
1190 "--kernel", in test_valid_vm_config_disks()
1192 "--disk", in test_valid_vm_config_disks()
1207 "cloud-hypervisor", in test_valid_vm_config_disks()
1208 "--kernel", in test_valid_vm_config_disks()
1210 "--disk", in test_valid_vm_config_disks()
1224 "cloud-hypervisor", in test_valid_vm_config_disks()
1225 "--kernel", in test_valid_vm_config_disks()
1227 "--memory", in test_valid_vm_config_disks()
1229 "--disk", in test_valid_vm_config_disks()
1243 "cloud-hypervisor", in test_valid_vm_config_disks()
1244 "--kernel", in test_valid_vm_config_disks()
1246 "--memory", in test_valid_vm_config_disks()
1248 "--disk", in test_valid_vm_config_disks()
1262 "cloud-hypervisor", in test_valid_vm_config_disks()
1263 "--kernel", in test_valid_vm_config_disks()
1265 "--disk", in test_valid_vm_config_disks()
1268 "--rate-limit-group", in test_valid_vm_config_disks()
1297 vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--net", "mac="], in test_valid_vm_config_net()
1305 …vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--net", "mac=12:34:56:78:90:ab,host_mac=3… in test_valid_vm_config_net()
1316 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1317 "--net", in test_valid_vm_config_net()
1330 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1331 "--net", in test_valid_vm_config_net()
1344 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1345 "--net", in test_valid_vm_config_net()
1358 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1359 "--cpus", "boot=2", in test_valid_vm_config_net()
1360 "--net", in test_valid_vm_config_net()
1374 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1375 "--cpus", "boot=2", in test_valid_vm_config_net()
1376 "--net", in test_valid_vm_config_net()
1390 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1391 "--net", in test_valid_vm_config_net()
1404 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1405 "--net", in test_valid_vm_config_net()
1419 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1420 "--net", in test_valid_vm_config_net()
1434 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1435 "--net", in test_valid_vm_config_net()
1449 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_net()
1450 "--net", in test_valid_vm_config_net()
1462 …vec!["cloud-hypervisor", "--kernel", "/path/to/kernel", "--memory", "shared=true", "--net", "mac=1… in test_valid_vm_config_net()
1483 "cloud-hypervisor", in test_valid_vm_config_rng()
1484 "--kernel", in test_valid_vm_config_rng()
1486 "--rng", in test_valid_vm_config_rng()
1505 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_fs()
1506 "--memory", "shared=true", in test_valid_vm_config_fs()
1507 "--fs", in test_valid_vm_config_fs()
1523 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_fs()
1524 "--memory", "shared=true", in test_valid_vm_config_fs()
1525 "--fs", in test_valid_vm_config_fs()
1540 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_fs()
1541 "--memory", "shared=true", "--cpus", "boot=4", in test_valid_vm_config_fs()
1542 "--fs", in test_valid_vm_config_fs()
1557 "cloud-hypervisor", "--kernel", "/path/to/kernel", in test_valid_vm_config_fs()
1558 "--memory", "shared=true", "--cpus", "boot=4", in test_valid_vm_config_fs()
1559 "--fs", in test_valid_vm_config_fs()
1583 "cloud-hypervisor", in test_valid_vm_config_pmem()
1584 "--kernel", in test_valid_vm_config_pmem()
1586 "--pmem", in test_valid_vm_config_pmem()
1602 "cloud-hypervisor", in test_valid_vm_config_pmem()
1603 "--kernel", in test_valid_vm_config_pmem()
1605 "--pmem", in test_valid_vm_config_pmem()
1620 "cloud-hypervisor", in test_valid_vm_config_pmem()
1621 "--kernel", in test_valid_vm_config_pmem()
1623 "--pmem", in test_valid_vm_config_pmem()
1646 "cloud-hypervisor", in test_valid_vm_config_debug_console()
1647 "--kernel", in test_valid_vm_config_debug_console()
1649 "--debug-console", in test_valid_vm_config_debug_console()
1669 vec!["cloud-hypervisor", "--kernel", "/path/to/kernel"], in test_valid_vm_config_serial_console()
1679 "cloud-hypervisor", in test_valid_vm_config_serial_console()
1680 "--kernel", in test_valid_vm_config_serial_console()
1682 "--serial", in test_valid_vm_config_serial_console()
1684 "--console", in test_valid_vm_config_serial_console()
1694 "cloud-hypervisor", in test_valid_vm_config_serial_console()
1695 "--kernel", in test_valid_vm_config_serial_console()
1697 "--serial", in test_valid_vm_config_serial_console()
1699 "--console", in test_valid_vm_config_serial_console()
1720 vec!["cloud-hypervisor", "--kernel", "/path/to/kernel"], in test_valid_vm_config_serial_pty_console_pty()
1730 "cloud-hypervisor", in test_valid_vm_config_serial_pty_console_pty()
1731 "--kernel", in test_valid_vm_config_serial_pty_console_pty()
1733 "--serial", in test_valid_vm_config_serial_pty_console_pty()
1735 "--console", in test_valid_vm_config_serial_pty_console_pty()
1745 "cloud-hypervisor", in test_valid_vm_config_serial_pty_console_pty()
1746 "--kernel", in test_valid_vm_config_serial_pty_console_pty()
1748 "--serial", in test_valid_vm_config_serial_pty_console_pty()
1750 "--console", in test_valid_vm_config_serial_pty_console_pty()
1773 "cloud-hypervisor", in test_valid_vm_config_devices()
1774 "--kernel", in test_valid_vm_config_devices()
1776 "--device", in test_valid_vm_config_devices()
1791 "cloud-hypervisor", in test_valid_vm_config_devices()
1792 "--kernel", in test_valid_vm_config_devices()
1794 "--device", in test_valid_vm_config_devices()
1808 "cloud-hypervisor", in test_valid_vm_config_devices()
1809 "--kernel", in test_valid_vm_config_devices()
1811 "--device", in test_valid_vm_config_devices()
1825 "cloud-hypervisor", in test_valid_vm_config_devices()
1826 "--kernel", in test_valid_vm_config_devices()
1828 "--device", in test_valid_vm_config_devices()
1841 "cloud-hypervisor", in test_valid_vm_config_devices()
1842 "--kernel", in test_valid_vm_config_devices()
1844 "--device", in test_valid_vm_config_devices()
1867 "cloud-hypervisor", in test_valid_vm_config_vdpa()
1868 "--kernel", in test_valid_vm_config_vdpa()
1870 "--vdpa", in test_valid_vm_config_vdpa()
1885 "cloud-hypervisor", in test_valid_vm_config_vdpa()
1886 "--kernel", in test_valid_vm_config_vdpa()
1888 "--vdpa", in test_valid_vm_config_vdpa()
1912 "cloud-hypervisor", in test_valid_vm_config_vsock()
1913 "--kernel", in test_valid_vm_config_vsock()
1915 "--vsock", in test_valid_vm_config_vsock()
1926 "cloud-hypervisor", in test_valid_vm_config_vsock()
1927 "--kernel", in test_valid_vm_config_vsock()
1929 "--vsock", in test_valid_vm_config_vsock()
1941 "cloud-hypervisor", in test_valid_vm_config_vsock()
1942 "--kernel", in test_valid_vm_config_vsock()
1944 "--vsock", in test_valid_vm_config_vsock()
1957 "cloud-hypervisor", in test_valid_vm_config_vsock()
1958 "--kernel", in test_valid_vm_config_vsock()
1960 "--vsock", in test_valid_vm_config_vsock()
1971 "cloud-hypervisor", in test_valid_vm_config_vsock()
1972 "--kernel", in test_valid_vm_config_vsock()
1974 "--vsock", in test_valid_vm_config_vsock()
1994 "cloud-hypervisor", in test_valid_vm_config_tpm_socket()
1995 "--kernel", in test_valid_vm_config_tpm_socket()
1997 "--tpm", in test_valid_vm_config_tpm_socket()