From: Ruslan Ruslichenko <[email protected]> This patch adds a new command line option `-machine-path` to specify a directory path for shared machine resources.
This path is intended to serve as a base directory for devices or subsystems that need to automatically create coordination files, such as Unix domain sockets, particularly in multi-process simulation environments. Signed-off-by: Edgar E. Iglesias <[email protected]> Signed-off-by: Takahiro Nakata <[email protected]> Signed-off-by: Ruslan Ruslichenko <[email protected]> --- include/system/system.h | 2 ++ qemu-options.hx | 10 ++++++++++ system/vl.c | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/include/system/system.h b/include/system/system.h index 03a2d0e900..0cd012004d 100644 --- a/include/system/system.h +++ b/include/system/system.h @@ -57,6 +57,8 @@ bool is_mlock_on_fault(MlockState); extern MlockState mlock_state; +extern const char *machine_path; + #define MAX_OPTION_ROMS 16 typedef struct QEMUOptionRom { const char *name; diff --git a/qemu-options.hx b/qemu-options.hx index 6dd3e04e38..b7dd2a64f0 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -765,6 +765,16 @@ SRST Preallocate memory when using -mem-path. ERST +DEF("machine-path", HAS_ARG, QEMU_OPTION_machine_path, + "-machine-path DIR A directory in which to create machine nodes\n", + QEMU_ARCH_ALL) +SRST +``-machine-path path`` + Selects the machine path. + Multi-arch machine nodes will be created in <path>. + This option also sets -mem-shared-path to the given path. +ERST + DEF("k", HAS_ARG, QEMU_OPTION_k, "-k language use keyboard layout (for example 'fr' for French)\n", QEMU_ARCH_ALL) diff --git a/system/vl.c b/system/vl.c index c890da586c..4750b1cf69 100644 --- a/system/vl.c +++ b/system/vl.c @@ -182,6 +182,7 @@ static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list); static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue); static bool nographic = false; static int mem_prealloc; /* force preallocation of physical target memory */ +const char *machine_path; static const char *vga_model = NULL; static DisplayOptions dpy; static int num_serial_hds; @@ -3128,6 +3129,9 @@ void qemu_init(int argc, char **argv) case QEMU_OPTION_mem_prealloc: mem_prealloc = 1; break; + case QEMU_OPTION_machine_path: + machine_path = optarg; + break; case QEMU_OPTION_d: log_mask = optarg; break; -- 2.43.0
