Skip to content

Commit

Permalink
hw/arm/virt: Support legacy -nic command line syntax
Browse files Browse the repository at this point in the history
Support the legacy -nic syntax for creating PCI network devices
as well as the new-style -device options. This makes life easier
for people moving from x86 KVM virtualization to ARM KVM virtualization
and expecting their network configuration options to work the same
way for both setups.

We use "virtio" as the default NIC model if the user doesn't specify one.

Signed-off-by: Ashok Kumar <ashoks@broadcom.com>
Message-id: 1452091659-17698-1-git-send-email-ashoks@broadcom.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: expanded and clarified commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
Ashok Kumar authored and pm215 committed Jan 11, 2016
1 parent 5de6f3c commit fea9b3c
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions hw/arm/virt.c
Expand Up @@ -808,6 +808,7 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic,
DeviceState *dev;
char *nodename;
int i;
PCIHostState *pci;

dev = qdev_create(NULL, TYPE_GPEX_HOST);
qdev_init_nofail(dev);
Expand Down Expand Up @@ -847,6 +848,19 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic,
sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, pic[irq + i]);
}

pci = PCI_HOST_BRIDGE(dev);
if (pci->bus) {
for (i = 0; i < nb_nics; i++) {
NICInfo *nd = &nd_table[i];

if (!nd->model) {
nd->model = g_strdup("virtio");
}

pci_nic_init_nofail(nd, pci->bus, nd->model, NULL);
}
}

nodename = g_strdup_printf("/pcie@%" PRIx64, base);
qemu_fdt_add_subnode(vbi->fdt, nodename);
qemu_fdt_setprop_string(vbi->fdt, nodename,
Expand Down

0 comments on commit fea9b3c

Please sign in to comment.