nd_table[] contains NIC configuration for boards to pick up. Device
code has no business looking there. Several devices do it anyway.
Two of them already have a suitable FIXME comment: "allwinner-a10" and
"msf2-soc". Copy it to the others: "allwinner-h3", "xlnx-versal",
"xlnx,zynqmp", "sparc32-ledma", "riscv.sifive.u.soc".
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
hw/arm/allwinner-h3.c | 1 +
hw/arm/xlnx-versal.c | 1 +
hw/arm/xlnx-zynqmp.c | 1 +
hw/dma/sparc32_dma.c | 1 +
hw/riscv/sifive_u.c | 1 +
5 files changed, 5 insertions(+)
diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c
index 8e09468e86..ff92ded82c 100644
--- a/hw/arm/allwinner-h3.c
+++ b/hw/arm/allwinner-h3.c
@@ -358,6 +358,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp)
"sd-bus");
/* EMAC */
+ /* FIXME use qdev NIC properties instead of nd_table[] */
if (nd_table[0].used) {
qemu_check_nic_model(&nd_table[0], TYPE_AW_SUN8I_EMAC);
qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index ead038b971..e3aa4bd1e5 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -160,6 +160,7 @@ static void versal_create_gems(Versal *s, qemu_irq *pic)
object_initialize_child(OBJECT(s), name, &s->lpd.iou.gem[i],
TYPE_CADENCE_GEM);
dev = DEVICE(&s->lpd.iou.gem[i]);
+ /* FIXME use qdev NIC properties instead of nd_table[] */
if (nd->used) {
qemu_check_nic_model(nd, "cadence_gem");
qdev_set_nic_properties(dev, nd);
diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
index 772cfa3771..5855e5d5bf 100644
--- a/hw/arm/xlnx-zynqmp.c
+++ b/hw/arm/xlnx-zynqmp.c
@@ -455,6 +455,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
NICInfo *nd = &nd_table[i];
+ /* FIXME use qdev NIC properties instead of nd_table[] */
if (nd->used) {
qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
index 9459178866..bcd1626fbd 100644
--- a/hw/dma/sparc32_dma.c
+++ b/hw/dma/sparc32_dma.c
@@ -341,6 +341,7 @@ static void sparc32_ledma_device_realize(DeviceState *dev, Error **errp)
DeviceState *d;
NICInfo *nd = &nd_table[0];
+ /* FIXME use qdev NIC properties instead of nd_table[] */
qemu_check_nic_model(nd, TYPE_LANCE);
d = qdev_new(TYPE_LANCE);
diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
index 19a976c9a6..e5682c38a9 100644
--- a/hw/riscv/sifive_u.c
+++ b/hw/riscv/sifive_u.c
@@ -714,6 +714,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp)
}
sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0, memmap[SIFIVE_U_OTP].base);
+ /* FIXME use qdev NIC properties instead of nd_table[] */
if (nd->used) {
qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
qdev_set_nic_properties(DEVICE(&s->gem), nd);
--
2.26.2
On Wed, Jul 15, 2020 at 7:06 AM Markus Armbruster <armbru@redhat.com> wrote:
>
> nd_table[] contains NIC configuration for boards to pick up. Device
> code has no business looking there. Several devices do it anyway.
> Two of them already have a suitable FIXME comment: "allwinner-a10" and
> "msf2-soc". Copy it to the others: "allwinner-h3", "xlnx-versal",
> "xlnx,zynqmp", "sparc32-ledma", "riscv.sifive.u.soc".
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> hw/arm/allwinner-h3.c | 1 +
> hw/arm/xlnx-versal.c | 1 +
> hw/arm/xlnx-zynqmp.c | 1 +
> hw/dma/sparc32_dma.c | 1 +
> hw/riscv/sifive_u.c | 1 +
> 5 files changed, 5 insertions(+)
>
> diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c
> index 8e09468e86..ff92ded82c 100644
> --- a/hw/arm/allwinner-h3.c
> +++ b/hw/arm/allwinner-h3.c
> @@ -358,6 +358,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp)
> "sd-bus");
>
> /* EMAC */
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd_table[0].used) {
> qemu_check_nic_model(&nd_table[0], TYPE_AW_SUN8I_EMAC);
> qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
> diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
> index ead038b971..e3aa4bd1e5 100644
> --- a/hw/arm/xlnx-versal.c
> +++ b/hw/arm/xlnx-versal.c
> @@ -160,6 +160,7 @@ static void versal_create_gems(Versal *s, qemu_irq *pic)
> object_initialize_child(OBJECT(s), name, &s->lpd.iou.gem[i],
> TYPE_CADENCE_GEM);
> dev = DEVICE(&s->lpd.iou.gem[i]);
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, "cadence_gem");
> qdev_set_nic_properties(dev, nd);
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 772cfa3771..5855e5d5bf 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -455,6 +455,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
> for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
> NICInfo *nd = &nd_table[i];
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
> qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
> diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
> index 9459178866..bcd1626fbd 100644
> --- a/hw/dma/sparc32_dma.c
> +++ b/hw/dma/sparc32_dma.c
> @@ -341,6 +341,7 @@ static void sparc32_ledma_device_realize(DeviceState *dev, Error **errp)
> DeviceState *d;
> NICInfo *nd = &nd_table[0];
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> qemu_check_nic_model(nd, TYPE_LANCE);
>
> d = qdev_new(TYPE_LANCE);
> diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
> index 19a976c9a6..e5682c38a9 100644
> --- a/hw/riscv/sifive_u.c
> +++ b/hw/riscv/sifive_u.c
> @@ -714,6 +714,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp)
> }
> sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0, memmap[SIFIVE_U_OTP].base);
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
> qdev_set_nic_properties(DEVICE(&s->gem), nd);
> --
> 2.26.2
>
>
On Wed, Jul 15, 2020, 16:04 Markus Armbruster <armbru@redhat.com> wrote:
> nd_table[] contains NIC configuration for boards to pick up. Device
> code has no business looking there. Several devices do it anyway.
> Two of them already have a suitable FIXME comment: "allwinner-a10" and
> "msf2-soc". Copy it to the others: "allwinner-h3", "xlnx-versal",
> "xlnx,zynqmp", "sparc32-ledma", "riscv.sifive.u.soc".
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
Reviewed-by: Niek Linnenbank <nieklinnenbank@gmail.com>
---
> hw/arm/allwinner-h3.c | 1 +
> hw/arm/xlnx-versal.c | 1 +
> hw/arm/xlnx-zynqmp.c | 1 +
> hw/dma/sparc32_dma.c | 1 +
> hw/riscv/sifive_u.c | 1 +
> 5 files changed, 5 insertions(+)
>
> diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c
> index 8e09468e86..ff92ded82c 100644
> --- a/hw/arm/allwinner-h3.c
> +++ b/hw/arm/allwinner-h3.c
> @@ -358,6 +358,7 @@ static void allwinner_h3_realize(DeviceState *dev,
> Error **errp)
> "sd-bus");
>
> /* EMAC */
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd_table[0].used) {
> qemu_check_nic_model(&nd_table[0], TYPE_AW_SUN8I_EMAC);
> qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
> diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
> index ead038b971..e3aa4bd1e5 100644
> --- a/hw/arm/xlnx-versal.c
> +++ b/hw/arm/xlnx-versal.c
> @@ -160,6 +160,7 @@ static void versal_create_gems(Versal *s, qemu_irq
> *pic)
> object_initialize_child(OBJECT(s), name, &s->lpd.iou.gem[i],
> TYPE_CADENCE_GEM);
> dev = DEVICE(&s->lpd.iou.gem[i]);
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, "cadence_gem");
> qdev_set_nic_properties(dev, nd);
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 772cfa3771..5855e5d5bf 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -455,6 +455,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev,
> Error **errp)
> for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
> NICInfo *nd = &nd_table[i];
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
> qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
> diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
> index 9459178866..bcd1626fbd 100644
> --- a/hw/dma/sparc32_dma.c
> +++ b/hw/dma/sparc32_dma.c
> @@ -341,6 +341,7 @@ static void sparc32_ledma_device_realize(DeviceState
> *dev, Error **errp)
> DeviceState *d;
> NICInfo *nd = &nd_table[0];
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> qemu_check_nic_model(nd, TYPE_LANCE);
>
> d = qdev_new(TYPE_LANCE);
> diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
> index 19a976c9a6..e5682c38a9 100644
> --- a/hw/riscv/sifive_u.c
> +++ b/hw/riscv/sifive_u.c
> @@ -714,6 +714,7 @@ static void sifive_u_soc_realize(DeviceState *dev,
> Error **errp)
> }
> sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0,
> memmap[SIFIVE_U_OTP].base);
>
> + /* FIXME use qdev NIC properties instead of nd_table[] */
> if (nd->used) {
> qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
> qdev_set_nic_properties(DEVICE(&s->gem), nd);
> --
> 2.26.2
>
>
On 15/07/2020 16.04, Markus Armbruster wrote: > nd_table[] contains NIC configuration for boards to pick up. Device > code has no business looking there. Several devices do it anyway. > Two of them already have a suitable FIXME comment: "allwinner-a10" and > "msf2-soc". Copy it to the others: "allwinner-h3", "xlnx-versal", > "xlnx,zynqmp", "sparc32-ledma", "riscv.sifive.u.soc". > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > hw/arm/allwinner-h3.c | 1 + > hw/arm/xlnx-versal.c | 1 + > hw/arm/xlnx-zynqmp.c | 1 + > hw/dma/sparc32_dma.c | 1 + > hw/riscv/sifive_u.c | 1 + > 5 files changed, 5 insertions(+) Maybe we should add an entry to https://wiki.qemu.org/Contribute/BiteSizedTasks for this? Reviewed-by: Thomas Huth <thuth@redhat.com>
Thomas Huth <thuth@redhat.com> writes: > On 15/07/2020 16.04, Markus Armbruster wrote: >> nd_table[] contains NIC configuration for boards to pick up. Device >> code has no business looking there. Several devices do it anyway. >> Two of them already have a suitable FIXME comment: "allwinner-a10" and >> "msf2-soc". Copy it to the others: "allwinner-h3", "xlnx-versal", >> "xlnx,zynqmp", "sparc32-ledma", "riscv.sifive.u.soc". >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com> >> --- >> hw/arm/allwinner-h3.c | 1 + >> hw/arm/xlnx-versal.c | 1 + >> hw/arm/xlnx-zynqmp.c | 1 + >> hw/dma/sparc32_dma.c | 1 + >> hw/riscv/sifive_u.c | 1 + >> 5 files changed, 5 insertions(+) > > Maybe we should add an entry to > https://wiki.qemu.org/Contribute/BiteSizedTasks for this? I'd prefer to leave that to someone who knows how this should be done properly, and thus has a better idea on how big the bite actually is. Figuring this out myself might be more work than fixing it. > Reviewed-by: Thomas Huth <thuth@redhat.com> Thanks!
© 2016 - 2026 Red Hat, Inc.