Skip to content

Commit

Permalink
vl.c: add HMP help to machine
Browse files Browse the repository at this point in the history
The help is based on the actual machine properties
exposing only the relevant options.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Greg Bellows <greg.bellows@linaro.org>
Message-id: 1418217570-15517-4-git-send-email-marcel.a@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
Marcel Apfelbaum authored and pm215 committed Dec 22, 2014
1 parent 2e16898 commit 52eb3df
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions vl.c
Expand Up @@ -1423,6 +1423,31 @@ MachineInfoList *qmp_query_machines(Error **errp)
return mach_list;
}

static int machine_help_func(QemuOpts *opts, MachineState *machine)
{
ObjectProperty *prop;

if (!qemu_opt_has_help_opt(opts)) {
return 0;
}

QTAILQ_FOREACH(prop, &OBJECT(machine)->properties, node) {
if (!prop->set) {
continue;
}

error_printf("%s.%s=%s", MACHINE_GET_CLASS(machine)->name,
prop->name, prop->type);
if (prop->description) {
error_printf(" (%s)\n", prop->description);
} else {
error_printf("\n");
}
}

return 1;
}

/***********************************************************/
/* main execution loop */

Expand Down Expand Up @@ -3758,6 +3783,9 @@ int main(int argc, char **argv, char **envp)

current_machine = MACHINE(object_new(object_class_get_name(
OBJECT_CLASS(machine_class))));
if (machine_help_func(qemu_get_machine_opts(), current_machine)) {
exit(0);
}
object_property_add_child(object_get_root(), "machine",
OBJECT(current_machine), &error_abort);
cpu_exec_init_all();
Expand Down

0 comments on commit 52eb3df

Please sign in to comment.