hw/arm/sysbus-fdt: enable amd-xgbe dynamic instantiation
commitcf5a13e370afad57f1cfab0a8871ed839f5eda48
authorEric Auger <eric.auger@linaro.org>
Fri, 19 Feb 2016 16:42:31 +0000 (19 09:42 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Fri, 19 Feb 2016 16:42:31 +0000 (19 09:42 -0700)
tree79f8ec87629c329d3f1885aa0555e811822b444d
parent9481cf2e5f2f2bb679d8bbda19f917a37a11034b
hw/arm/sysbus-fdt: enable amd-xgbe dynamic instantiation

This patch allows the instantiation of the vfio-amd-xgbe device
from the QEMU command line (-device vfio-amd-xgbe,host="<device>").

The guest is exposed with a device tree node that combines the description
of both XGBE and PHY (representation supported from 4.2 onwards kernel):
Documentation/devicetree/bindings/net/amd-xgbe.txt.

There are 5 register regions, 6 interrupts including 4 optional
edge-sensitive per-channel interrupts.

Some property values are inherited from host device tree. Host device tree
must feature a combined XGBE/PHY representation (>= 4.2 host kernel).

2 clock nodes (dma and ptp) also are created. It is checked those clocks
are fixed on host side.

AMD XGBE node creation function has a dependency on vfio Linux header and
more generally node creation function for VFIO platform devices only make
sense with CONFIG_LINUX so let's protect this code with #ifdef CONFIG_LINUX.

Signed-off-by: Eric Auger <eric.auger@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
hw/arm/sysbus-fdt.c