summaryrefslogtreecommitdiffstats
path: root/hw/microblaze
diff options
context:
space:
mode:
authorPeter Crosthwaite2013-04-16 02:25:18 +0200
committerEdgar E. Iglesias2013-04-16 10:04:22 +0200
commit55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff (patch)
treedd78aaa0375d41451b2a6b01a882016d4ce7a0f3 /hw/microblaze
parentpetalogix_ml605_mmu: Attach ethernet to machine (diff)
downloadqemu-55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff.tar.gz
qemu-55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff.tar.xz
qemu-55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff.zip
xilinx_axienet: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This is setup for future work where a second stream slave connection is needed. The new child object is created at qdev init time and is linked back to the parent (the ethernet device itself) automatically. Stream slave masters differentiate which slave connection they are connected to by linking to the proxy object rather than the parent. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'hw/microblaze')
-rw-r--r--hw/microblaze/petalogix_ml605_mmu.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index a5e9b358a5..0bad3621c3 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -79,6 +79,7 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
const char *cpu_model = args->cpu_model;
MemoryRegion *address_space_mem = get_system_memory();
DeviceState *dev, *dma, *eth0;
+ Object *peer;
MicroBlazeCPU *cpu;
SysBusDevice *busdev;
CPUMBState *env;
@@ -142,7 +143,9 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
xilinx_axiethernet_init(eth0, &nd_table[0], STREAM_SLAVE(dma),
0x82780000, irq[3], 0x1000, 0x1000);
- xilinx_axidma_init(dma, STREAM_SLAVE(eth0), 0x84600000, irq[1], irq[0],
+ peer = object_property_get_link(OBJECT(eth0),
+ "axistream-connected-target", NULL);
+ xilinx_axidma_init(dma, STREAM_SLAVE(peer), 0x84600000, irq[1], irq[0],
100 * 1000000);
{