hw/arm: use qemu_configure_nic_device()
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
1328084588
commit
e8c003c414
@ -503,14 +503,12 @@ static MemoryRegion *make_eth_dev(MPS2TZMachineState *mms, void *opaque,
|
||||
const PPCExtraData *extradata)
|
||||
{
|
||||
SysBusDevice *s;
|
||||
NICInfo *nd = &nd_table[0];
|
||||
|
||||
/* In hardware this is a LAN9220; the LAN9118 is software compatible
|
||||
* except that it doesn't support the checksum-offload feature.
|
||||
*/
|
||||
qemu_check_nic_model(nd, "lan9118");
|
||||
mms->lan9118 = qdev_new(TYPE_LAN9118);
|
||||
qdev_set_nic_properties(mms->lan9118, nd);
|
||||
qemu_configure_nic_device(mms->lan9118, true, NULL);
|
||||
|
||||
s = SYS_BUS_DEVICE(mms->lan9118);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
@ -528,7 +526,6 @@ static MemoryRegion *make_eth_usb(MPS2TZMachineState *mms, void *opaque,
|
||||
* irqs[] is the ethernet IRQ.
|
||||
*/
|
||||
SysBusDevice *s;
|
||||
NICInfo *nd = &nd_table[0];
|
||||
|
||||
memory_region_init(&mms->eth_usb_container, OBJECT(mms),
|
||||
"mps2-tz-eth-usb-container", 0x200000);
|
||||
@ -537,9 +534,8 @@ static MemoryRegion *make_eth_usb(MPS2TZMachineState *mms, void *opaque,
|
||||
* In hardware this is a LAN9220; the LAN9118 is software compatible
|
||||
* except that it doesn't support the checksum-offload feature.
|
||||
*/
|
||||
qemu_check_nic_model(nd, "lan9118");
|
||||
mms->lan9118 = qdev_new(TYPE_LAN9118);
|
||||
qdev_set_nic_properties(mms->lan9118, nd);
|
||||
qemu_configure_nic_device(mms->lan9118, true, NULL);
|
||||
|
||||
s = SYS_BUS_DEVICE(mms->lan9118);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
|
@ -197,12 +197,8 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
|
||||
g_free(bus_name);
|
||||
}
|
||||
|
||||
/* FIXME use qdev NIC properties instead of nd_table[] */
|
||||
if (nd_table[0].used) {
|
||||
qemu_check_nic_model(&nd_table[0], TYPE_MSS_EMAC);
|
||||
qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
|
||||
}
|
||||
dev = DEVICE(&s->emac);
|
||||
qemu_configure_nic_device(dev, true, NULL);
|
||||
object_property_set_link(OBJECT(&s->emac), "ahb-bus",
|
||||
OBJECT(get_system_memory()), &error_abort);
|
||||
if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) {
|
||||
|
@ -1277,9 +1277,8 @@ static void musicpal_init(MachineState *machine)
|
||||
}
|
||||
sysbus_create_simple(TYPE_MV88W8618_FLASHCFG, MP_FLASHCFG_BASE, NULL);
|
||||
|
||||
qemu_check_nic_model(&nd_table[0], "mv88w8618");
|
||||
dev = qdev_new(TYPE_MV88W8618_ETH);
|
||||
qdev_set_nic_properties(dev, &nd_table[0]);
|
||||
qemu_configure_nic_device(dev, true, "mv88w8618");
|
||||
object_property_set_link(OBJECT(dev), "dma-memory",
|
||||
OBJECT(get_system_memory()), &error_fatal);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
@ -109,16 +109,13 @@ static void zynq_write_board_setup(ARMCPU *cpu,
|
||||
|
||||
static struct arm_boot_info zynq_binfo = {};
|
||||
|
||||
static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
|
||||
static void gem_init(uint32_t base, qemu_irq irq)
|
||||
{
|
||||
DeviceState *dev;
|
||||
SysBusDevice *s;
|
||||
|
||||
dev = qdev_new(TYPE_CADENCE_GEM);
|
||||
if (nd->used) {
|
||||
qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
|
||||
qdev_set_nic_properties(dev, nd);
|
||||
}
|
||||
qemu_configure_nic_device(dev, true, NULL);
|
||||
object_property_set_int(OBJECT(dev), "phy-addr", 7, &error_abort);
|
||||
s = SYS_BUS_DEVICE(dev);
|
||||
sysbus_realize_and_unref(s, &error_fatal);
|
||||
@ -280,8 +277,8 @@ static void zynq_init(MachineState *machine)
|
||||
sysbus_create_varargs("cadence_ttc", 0xF8002000,
|
||||
pic[69-IRQ_OFFSET], pic[70-IRQ_OFFSET], pic[71-IRQ_OFFSET], NULL);
|
||||
|
||||
gem_init(&nd_table[0], 0xE000B000, pic[54-IRQ_OFFSET]);
|
||||
gem_init(&nd_table[1], 0xE000C000, pic[77-IRQ_OFFSET]);
|
||||
gem_init(0xE000B000, pic[54 - IRQ_OFFSET]);
|
||||
gem_init(0xE000C000, pic[77 - IRQ_OFFSET]);
|
||||
|
||||
for (n = 0; n < 2; n++) {
|
||||
int hci_irq = n ? 79 : 56;
|
||||
|
@ -256,18 +256,13 @@ static void versal_create_gems(Versal *s, qemu_irq *pic)
|
||||
static const int irqs[] = { VERSAL_GEM0_IRQ_0, VERSAL_GEM1_IRQ_0};
|
||||
static const uint64_t addrs[] = { MM_GEM0, MM_GEM1 };
|
||||
char *name = g_strdup_printf("gem%d", i);
|
||||
NICInfo *nd = &nd_table[i];
|
||||
DeviceState *dev;
|
||||
MemoryRegion *mr;
|
||||
|
||||
object_initialize_child(OBJECT(s), name, &s->lpd.iou.gem[i],
|
||||
TYPE_CADENCE_GEM);
|
||||
dev = DEVICE(&s->lpd.iou.gem[i]);
|
||||
/* FIXME use qdev NIC properties instead of nd_table[] */
|
||||
if (nd->used) {
|
||||
qemu_check_nic_model(nd, "cadence_gem");
|
||||
qdev_set_nic_properties(dev, nd);
|
||||
}
|
||||
qemu_configure_nic_device(dev, true, NULL);
|
||||
object_property_set_int(OBJECT(dev), "phy-addr", 23, &error_abort);
|
||||
object_property_set_int(OBJECT(dev), "num-priority-queues", 2,
|
||||
&error_abort);
|
||||
|
@ -618,13 +618,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
|
||||
}
|
||||
|
||||
for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
||||
/* FIXME use qdev NIC properties instead of nd_table[] */
|
||||
if (nd->used) {
|
||||
qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
|
||||
qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
|
||||
}
|
||||
qemu_configure_nic_device(DEVICE(&s->gem[i]), true, NULL);
|
||||
object_property_set_int(OBJECT(&s->gem[i]), "revision", GEM_REVISION,
|
||||
&error_abort);
|
||||
object_property_set_int(OBJECT(&s->gem[i]), "phy-addr", 23,
|
||||
|
Loading…
Reference in New Issue
Block a user