Hi all. The Xilinx AXIEnet and DMA devices have two AXI stream connections (control and data), only one of which is currently modelled (data). AXI stream is modelled using the stream QOM interface described in stream.h. Unfortunately, interfaces have no nice way of modelling multiple connections of the same type. So to overcome this I created a secondary object which acts as a proxy for the stream connection. Multiple connections can be implemented using multiple proxies and stream masters link to the relevant proxy, rather than the ethernet device itself. This RFC is an example for how to do this for AXIEnet only. If acceptable, this change pattern will also be applied to AXIDMA.
Patches 1&2 are trivial cleanup and can be cherry-picked off the front. Patch 3 is the proxy patch. Patch 4 is an example stub for how a secondary connection can be created. Peter Crosthwaite (4): xilinx.h: Dont qdev_create from ethernet_create() xilinx.h: s/xilinx_axiethernetdma()/xilinx_axidma() xilinx_axienet: Create Proxy object for stream xilinx_axienet: stub out second stream connection hw/petalogix_ml605_mmu.c | 16 +++++++-- hw/xilinx.h | 18 +++------- hw/xilinx_axienet.c | 82 +++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 95 insertions(+), 21 deletions(-)