diff options
author | Peter Crosthwaite | 2013-04-16 02:25:18 +0200 |
---|---|---|
committer | Edgar E. Iglesias | 2013-04-16 10:04:22 +0200 |
commit | 55b3e0c2f8fb7ef6d7929de23f3ae2a3d805ebff (patch) | |
tree | dd78aaa0375d41451b2a6b01a882016d4ce7a0f3 /hw/microblaze/petalogix_ml605_mmu.c | |
parent | petalogix_ml605_mmu: Attach ethernet to machine (diff) | |
download | qemu-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/petalogix_ml605_mmu.c')
-rw-r--r-- | hw/microblaze/petalogix_ml605_mmu.c | 5 |
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); { |