Revision 8a9662ca
b/hw/qdev.c | ||
---|---|---|
113 | 113 |
return dev; |
114 | 114 |
} |
115 | 115 |
|
116 |
static int qdev_print_devinfo(DeviceInfo *info, char *dest, int len)
|
|
116 |
static void qdev_print_devinfo(DeviceInfo *info)
|
|
117 | 117 |
{ |
118 |
int pos = 0; |
|
119 |
int ret; |
|
120 |
|
|
121 |
ret = snprintf(dest+pos, len-pos, "name \"%s\", bus %s", |
|
122 |
info->name, info->bus_info->name); |
|
123 |
pos += MIN(len-pos,ret); |
|
118 |
error_printf("name \"%s\", bus %s", |
|
119 |
info->name, info->bus_info->name); |
|
124 | 120 |
if (info->alias) { |
125 |
ret = snprintf(dest+pos, len-pos, ", alias \"%s\"", info->alias); |
|
126 |
pos += MIN(len-pos,ret); |
|
121 |
error_printf(", alias \"%s\"", info->alias); |
|
127 | 122 |
} |
128 | 123 |
if (info->desc) { |
129 |
ret = snprintf(dest+pos, len-pos, ", desc \"%s\"", info->desc); |
|
130 |
pos += MIN(len-pos,ret); |
|
124 |
error_printf(", desc \"%s\"", info->desc); |
|
131 | 125 |
} |
132 | 126 |
if (info->no_user) { |
133 |
ret = snprintf(dest+pos, len-pos, ", no-user"); |
|
134 |
pos += MIN(len-pos,ret); |
|
127 |
error_printf(", no-user"); |
|
135 | 128 |
} |
136 |
return pos;
|
|
129 |
error_printf("\n");
|
|
137 | 130 |
} |
138 | 131 |
|
139 | 132 |
static int set_property(const char *name, const char *value, void *opaque) |
... | ... | |
157 | 150 |
{ |
158 | 151 |
const char *driver; |
159 | 152 |
DeviceInfo *info; |
160 |
char msg[256]; |
|
161 | 153 |
Property *prop; |
162 | 154 |
|
163 | 155 |
driver = qemu_opt_get(opts, "driver"); |
164 | 156 |
if (driver && !strcmp(driver, "?")) { |
165 | 157 |
for (info = device_info_list; info != NULL; info = info->next) { |
166 |
qdev_print_devinfo(info, msg, sizeof(msg)); |
|
167 |
qemu_error("%s\n", msg); |
|
158 |
qdev_print_devinfo(info); |
|
168 | 159 |
} |
169 | 160 |
return 1; |
170 | 161 |
} |
... | ... | |
179 | 170 |
} |
180 | 171 |
|
181 | 172 |
for (prop = info->props; prop && prop->name; prop++) { |
182 |
qemu_error("%s.%s=%s\n", info->name, prop->name, prop->info->name);
|
|
173 |
error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
|
|
183 | 174 |
} |
184 | 175 |
return 1; |
185 | 176 |
} |
... | ... | |
735 | 726 |
void do_info_qdm(Monitor *mon) |
736 | 727 |
{ |
737 | 728 |
DeviceInfo *info; |
738 |
char msg[256]; |
|
739 | 729 |
|
740 | 730 |
for (info = device_info_list; info != NULL; info = info->next) { |
741 |
qdev_print_devinfo(info, msg, sizeof(msg)); |
|
742 |
monitor_printf(mon, "%s\n", msg); |
|
731 |
qdev_print_devinfo(info); |
|
743 | 732 |
} |
744 | 733 |
} |
745 | 734 |
|
Also available in: Unified diff