Commit eb54b6dcb8c6795c3667bcf1cb142639a36fdf85
Committed by
Anthony Liguori
1 parent
ab73ff29
qdev: add id= support for pci nics.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
3 changed files
with
7 additions
and
1 deletions
hw/pci.c
@@ -822,6 +822,8 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model, | @@ -822,6 +822,8 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model, | ||
822 | if (strcmp(nd->model, pci_nic_models[i]) == 0) { | 822 | if (strcmp(nd->model, pci_nic_models[i]) == 0) { |
823 | pci_dev = pci_create(pci_nic_names[i], devaddr); | 823 | pci_dev = pci_create(pci_nic_names[i], devaddr); |
824 | dev = &pci_dev->qdev; | 824 | dev = &pci_dev->qdev; |
825 | + if (nd->id) | ||
826 | + dev->id = qemu_strdup(nd->id); | ||
825 | dev->nd = nd; | 827 | dev->nd = nd; |
826 | qdev_init(dev); | 828 | qdev_init(dev); |
827 | nd->private = dev; | 829 | nd->private = dev; |
net.c
@@ -2428,7 +2428,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p) | @@ -2428,7 +2428,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p) | ||
2428 | } | 2428 | } |
2429 | if (!strcmp(device, "nic")) { | 2429 | if (!strcmp(device, "nic")) { |
2430 | static const char * const nic_params[] = { | 2430 | static const char * const nic_params[] = { |
2431 | - "vlan", "name", "macaddr", "model", "addr", "vectors", NULL | 2431 | + "vlan", "name", "macaddr", "model", "addr", "id", "vectors", NULL |
2432 | }; | 2432 | }; |
2433 | NICInfo *nd; | 2433 | NICInfo *nd; |
2434 | uint8_t *macaddr; | 2434 | uint8_t *macaddr; |
@@ -2466,6 +2466,9 @@ int net_client_init(Monitor *mon, const char *device, const char *p) | @@ -2466,6 +2466,9 @@ int net_client_init(Monitor *mon, const char *device, const char *p) | ||
2466 | if (get_param_value(buf, sizeof(buf), "addr", p)) { | 2466 | if (get_param_value(buf, sizeof(buf), "addr", p)) { |
2467 | nd->devaddr = strdup(buf); | 2467 | nd->devaddr = strdup(buf); |
2468 | } | 2468 | } |
2469 | + if (get_param_value(buf, sizeof(buf), "id", p)) { | ||
2470 | + nd->id = strdup(buf); | ||
2471 | + } | ||
2469 | nd->nvectors = NIC_NVECTORS_UNSPECIFIED; | 2472 | nd->nvectors = NIC_NVECTORS_UNSPECIFIED; |
2470 | if (get_param_value(buf, sizeof(buf), "vectors", p)) { | 2473 | if (get_param_value(buf, sizeof(buf), "vectors", p)) { |
2471 | char *endptr; | 2474 | char *endptr; |
net.h
@@ -95,6 +95,7 @@ struct NICInfo { | @@ -95,6 +95,7 @@ struct NICInfo { | ||
95 | const char *model; | 95 | const char *model; |
96 | const char *name; | 96 | const char *name; |
97 | const char *devaddr; | 97 | const char *devaddr; |
98 | + const char *id; | ||
98 | VLANState *vlan; | 99 | VLANState *vlan; |
99 | VLANClientState *vc; | 100 | VLANClientState *vc; |
100 | void *private; | 101 | void *private; |