Commit 5d12f961 authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Michael S. Tsirkin
Browse files

Rework --name to use QemuOpts

parent 6e1f0a55
Loading
Loading
Loading
Loading
+39 −13
Original line number Diff line number Diff line
@@ -479,6 +479,27 @@ static QemuOptsList qemu_msg_opts = {
    },
};

static QemuOptsList qemu_name_opts = {
    .name = "name",
    .implied_opt_name = "guest",
    .merge_lists = true,
    .head = QTAILQ_HEAD_INITIALIZER(qemu_name_opts.head),
    .desc = {
        {
            .name = "guest",
            .type = QEMU_OPT_STRING,
            .help = "Sets the name of the guest.\n"
                    "This name will be displayed in the SDL window caption.\n"
                    "The name will also be used for the VNC server",
        }, {
            .name = "process",
            .type = QEMU_OPT_STRING,
            .help = "Sets the name of the QEMU process, as shown in top etc",
        },
        { /* End of list */ }
    },
};

/**
 * Get machine options
 *
@@ -929,6 +950,18 @@ static int parse_sandbox(QemuOpts *opts, void *opaque)
    return 0;
}

static void parse_name(QemuOpts *opts)
{
    const char *proc_name;

    qemu_name = qemu_opt_get(opts, "guest");

    proc_name = qemu_opt_get(opts, "process");
    if (proc_name) {
        os_set_proc_name(proc_name);
    }
}

bool usb_enabled(bool default_usb)
{
    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb", default_usb);
@@ -2887,6 +2920,7 @@ int main(int argc, char **argv, char **envp)
    qemu_add_opts(&qemu_tpmdev_opts);
    qemu_add_opts(&qemu_realtime_opts);
    qemu_add_opts(&qemu_msg_opts);
    qemu_add_opts(&qemu_name_opts);

    runstate_init();

@@ -3632,19 +3666,11 @@ int main(int argc, char **argv, char **envp)
                                "is no longer supported.\n");
                break;
            case QEMU_OPTION_name:
                qemu_name = g_strdup(optarg);
		 {
		     char *p = strchr(qemu_name, ',');
		     if (p != NULL) {
		        *p++ = 0;
			if (strncmp(p, "process=", 8)) {
			    fprintf(stderr, "Unknown subargument %s to -name\n", p);
                opts = qemu_opts_parse(qemu_find_opts("name"), optarg, 1);
                if (!opts) {
                    exit(1);
                }
			p += 8;
			os_set_proc_name(p);
		     }
		 }
                parse_name(opts);
                break;
            case QEMU_OPTION_prom_env:
                if (nb_prom_envs >= MAX_PROM_ENVS) {