diff options
author | Markus Armbruster <armbru@redhat.com> | 2010-01-29 19:49:00 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-02-03 12:39:01 -0600 |
commit | 08350cf06a4aa1b703ff6968688fab9fd8e90fcc (patch) | |
tree | 6aaa5ddcebf0ab40a83c7b31b5c957bedd22ddd9 /hw/qdev.c | |
parent | 5137b6accdbb43913c31e4d8579da4eb9957b0e7 (diff) |
qdev: Add help for device properties
Option "-device DRIVER,?" and monitor command "device_add DRIVER,?"
print the supported properties instead of creating a device. The
former also terminates the program.
This is commit 2ba6edf0 (just reverted) done right.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/qdev.c')
-rw-r--r-- | hw/qdev.c | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -158,6 +158,7 @@ int qdev_device_help(QemuOpts *opts) const char *driver; DeviceInfo *info; char msg[256]; + Property *prop; driver = qemu_opt_get(opts, "driver"); if (driver && !strcmp(driver, "?")) { @@ -168,7 +169,19 @@ int qdev_device_help(QemuOpts *opts) return 1; } - return 0; + if (!qemu_opt_get(opts, "?")) { + return 0; + } + + info = qdev_find_info(NULL, driver); + if (!info) { + return 0; + } + + for (prop = info->props; prop && prop->name; prop++) { + qemu_error("%s.%s\n", info->name, prop->name); + } + return 1; } DeviceState *qdev_device_add(QemuOpts *opts) |