Skip to content

Commit

Permalink
qdev: add user-specified identifier to devices.
Browse files Browse the repository at this point in the history
Add id field to DeviceState.  Make "info qtree" print it.

This helps users and management apps identifying devices in monitor
output, which is especially useful with otherwise identical devices
such as two virtio disks.

This patch doesn't add a way to set the id, followup patches will do.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
  • Loading branch information
kraxel authored and Anthony Liguori committed Jul 16, 2009
1 parent 96cc181 commit ccb63de
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
6 changes: 4 additions & 2 deletions hw/qdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ void qdev_init(DeviceState *dev)
void qdev_free(DeviceState *dev)
{
LIST_REMOVE(dev, sibling);
free(dev);
qemu_free(dev->id);
qemu_free(dev);
}

/* Get a character (serial) device interface. */
Expand Down Expand Up @@ -266,7 +267,8 @@ static void qdev_print_props(Monitor *mon, DeviceState *dev, Property *props,
static void qdev_print(Monitor *mon, DeviceState *dev, int indent)
{
BusState *child;
qdev_printf("dev: %s\n", dev->info->name);
qdev_printf("dev: %s, id \"%s\"\n", dev->info->name,
dev->id ? dev->id : "");
indent += 2;
if (dev->num_gpio_in) {
qdev_printf("gpio-in %d\n", dev->num_gpio_in);
Expand Down
1 change: 1 addition & 0 deletions hw/qdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ typedef struct BusInfo BusInfo;
/* This structure should not be accessed directly. We declare it here
so that it can be embedded in individual device state structures. */
struct DeviceState {
char *id;
DeviceInfo *info;
BusState *parent_bus;
int num_gpio_out;
Expand Down

0 comments on commit ccb63de

Please sign in to comment.