Patchwork [v2,6/8] petalogix_ml605_mmu: Attach ethernet to machine

login
register
mail settings
Submitter Peter Crosthwaite
Date Feb. 25, 2013, 8:50 a.m.
Message ID <1f104bb9bb2726b25790b52d3671a1069847de92.1361782087.git.peter.crosthwaite@xilinx.com>
Download mbox | patch
Permalink /patch/222865/
State New
Headers show

Comments

Peter Crosthwaite - Feb. 25, 2013, 8:50 a.m.
Explicitily make the ethernet a child of the machine. This is needed to set
and use links pre-realize. Also makes the ethernet initialization consistent
with its peer DMA.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/petalogix_ml605_mmu.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Andreas Färber - Feb. 25, 2013, 12:53 p.m.
Am 25.02.2013 09:50, schrieb Peter Crosthwaite:
> Explicitily make the ethernet a child of the machine. This is needed to set
> and use links pre-realize. Also makes the ethernet initialization consistent
> with its peer DMA.
> 
> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> ---
> 
>  hw/petalogix_ml605_mmu.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
> index 98e647d..e3528c0 100644
> --- a/hw/petalogix_ml605_mmu.c
> +++ b/hw/petalogix_ml605_mmu.c
> @@ -134,6 +134,8 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
>      dma = qdev_create(NULL, "xlnx.axi-dma");
>  
>      /* FIXME: attach to the sysbus instead */
> +    object_property_add_child(qdev_get_machine(), "xilinx-eth", OBJECT(eth0),
> +                              NULL);
>      object_property_add_child(qdev_get_machine(), "xilinx-dma", OBJECT(dma),
>                                NULL);
>  

Reviewed-by: Andreas Färber <afaerber@suse.de>

BTW concerning the above FIXME, I believe we do have a /machine/sysbus
node or so, which contains link<> properties to its child devices.
Adding those devices as child<> properties before qdev_init*() (realized
= true) changes the canonical paths these are displayed as from
/machine/unassigned/device[n] or no to /machine/xilinx-eth in this case.

Andreas

Patch

diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
index 98e647d..e3528c0 100644
--- a/hw/petalogix_ml605_mmu.c
+++ b/hw/petalogix_ml605_mmu.c
@@ -134,6 +134,8 @@  petalogix_ml605_init(QEMUMachineInitArgs *args)
     dma = qdev_create(NULL, "xlnx.axi-dma");
 
     /* FIXME: attach to the sysbus instead */
+    object_property_add_child(qdev_get_machine(), "xilinx-eth", OBJECT(eth0),
+                              NULL);
     object_property_add_child(qdev_get_machine(), "xilinx-dma", OBJECT(dma),
                               NULL);