qdev: Add help for device properties

When called with property "?", a list of supported
properties will be printed (instead of an error message).

This is useful for command lines like
	qemu -device e1000,?
and was already standard for other options like model=?

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Stefan Weil 2010-01-20 22:58:33 +01:00 committed by Anthony Liguori
parent ee636500d6
commit 2ba6edf0dd

View File

@ -544,8 +544,19 @@ int qdev_prop_parse(DeviceState *dev, const char *name, const char *value)
prop = qdev_prop_find(dev, name);
if (!prop) {
fprintf(stderr, "property \"%s.%s\" not found\n",
dev->info->name, name);
if (strcmp(name, "?") != 0) {
fprintf(stderr, "property \"%s.%s\" not found\n",
dev->info->name, name);
} else {
fprintf(stderr, "supported properties:\n");
if (dev->info->props != NULL) {
Property *props = dev->info->props;
while (props->name) {
fprintf(stderr, "%s.%s\n", dev->info->name, props->name);
props++;
}
}
}
return -1;
}
if (!prop->info->parse) {