xilinx.h: Error check when setting links
Assert that the ethernet and dma controller are sucessfully linked to their
peers.
Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
(cherry picked from commit 4b5e52101f
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
36d7fb299a
commit
85368b79a0
10
hw/xilinx.h
10
hw/xilinx.h
|
@ -55,13 +55,16 @@ xilinx_axiethernet_create(NICInfo *nd, StreamSlave *peer,
|
||||||
int txmem, int rxmem)
|
int txmem, int rxmem)
|
||||||
{
|
{
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
|
Error *errp = NULL;
|
||||||
|
|
||||||
qemu_check_nic_model(nd, "xlnx.axi-ethernet");
|
qemu_check_nic_model(nd, "xlnx.axi-ethernet");
|
||||||
|
|
||||||
dev = qdev_create(NULL, "xlnx.axi-ethernet");
|
dev = qdev_create(NULL, "xlnx.axi-ethernet");
|
||||||
qdev_set_nic_properties(dev, nd);
|
qdev_set_nic_properties(dev, nd);
|
||||||
qdev_prop_set_uint32(dev, "rxmem", rxmem);
|
qdev_prop_set_uint32(dev, "rxmem", rxmem);
|
||||||
qdev_prop_set_uint32(dev, "txmem", txmem);
|
qdev_prop_set_uint32(dev, "txmem", txmem);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(peer), "tx_dev", NULL);
|
object_property_set_link(OBJECT(dev), OBJECT(peer), "tx_dev", &errp);
|
||||||
|
assert_no_error(errp);
|
||||||
qdev_init_nofail(dev);
|
qdev_init_nofail(dev);
|
||||||
sysbus_mmio_map(sysbus_from_qdev(dev), 0, base);
|
sysbus_mmio_map(sysbus_from_qdev(dev), 0, base);
|
||||||
sysbus_connect_irq(sysbus_from_qdev(dev), 0, irq);
|
sysbus_connect_irq(sysbus_from_qdev(dev), 0, irq);
|
||||||
|
@ -74,8 +77,11 @@ xilinx_axiethernetdma_init(DeviceState *dev, StreamSlave *peer,
|
||||||
target_phys_addr_t base, qemu_irq irq,
|
target_phys_addr_t base, qemu_irq irq,
|
||||||
qemu_irq irq2, int freqhz)
|
qemu_irq irq2, int freqhz)
|
||||||
{
|
{
|
||||||
|
Error *errp = NULL;
|
||||||
|
|
||||||
qdev_prop_set_uint32(dev, "freqhz", freqhz);
|
qdev_prop_set_uint32(dev, "freqhz", freqhz);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(peer), "tx_dev", NULL);
|
object_property_set_link(OBJECT(dev), OBJECT(peer), "tx_dev", &errp);
|
||||||
|
assert_no_error(errp);
|
||||||
qdev_init_nofail(dev);
|
qdev_init_nofail(dev);
|
||||||
|
|
||||||
sysbus_mmio_map(sysbus_from_qdev(dev), 0, base);
|
sysbus_mmio_map(sysbus_from_qdev(dev), 0, base);
|
||||||
|
|
Loading…
Reference in New Issue