diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-07-15 13:43:35 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-07-16 17:28:53 -0500 |
commit | eb54b6dcb8c6795c3667bcf1cb142639a36fdf85 (patch) | |
tree | 8b19ec6fb83e0a896164206f8a00811730a9f5a6 | |
parent | ab73ff29ceb785aad3fc182e09d702ccee2e5559 (diff) | |
download | hqemu-eb54b6dcb8c6795c3667bcf1cb142639a36fdf85.zip hqemu-eb54b6dcb8c6795c3667bcf1cb142639a36fdf85.tar.gz |
qdev: add id= support for pci nics.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/pci.c | 2 | ||||
-rw-r--r-- | net.c | 5 | ||||
-rw-r--r-- | net.h | 1 |
3 files changed, 7 insertions, 1 deletions
@@ -822,6 +822,8 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model, if (strcmp(nd->model, pci_nic_models[i]) == 0) { pci_dev = pci_create(pci_nic_names[i], devaddr); dev = &pci_dev->qdev; + if (nd->id) + dev->id = qemu_strdup(nd->id); dev->nd = nd; qdev_init(dev); nd->private = dev; @@ -2428,7 +2428,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p) } if (!strcmp(device, "nic")) { static const char * const nic_params[] = { - "vlan", "name", "macaddr", "model", "addr", "vectors", NULL + "vlan", "name", "macaddr", "model", "addr", "id", "vectors", NULL }; NICInfo *nd; uint8_t *macaddr; @@ -2466,6 +2466,9 @@ int net_client_init(Monitor *mon, const char *device, const char *p) if (get_param_value(buf, sizeof(buf), "addr", p)) { nd->devaddr = strdup(buf); } + if (get_param_value(buf, sizeof(buf), "id", p)) { + nd->id = strdup(buf); + } nd->nvectors = NIC_NVECTORS_UNSPECIFIED; if (get_param_value(buf, sizeof(buf), "vectors", p)) { char *endptr; @@ -95,6 +95,7 @@ struct NICInfo { const char *model; const char *name; const char *devaddr; + const char *id; VLANState *vlan; VLANClientState *vc; void *private; |