<div dir="auto">Congratulations! Did you already push a tester configuration for qemu?<div dir="auto"><br></div><div dir="auto">I'm ok with the patches getting pushed.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 25, 2021, 1:55 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">With this patch, libbsd networking is functional with<br>
qemu-system-aarch64   -no-reboot -nographic -M xlnx-versal-virt -m<br>
4096 -serial none -serial mon:stdio -net nic -kernel init.exe<br>
<br>
>From what I gather, qemu is using the Cadence GEM for the<br>
xlnx-versal-virt, although the real hw uses a slightly different GEM<br>
IP.<br>
<br>
Passed:        31<br>
Failed:         3<br>
User Input:    19<br>
Expected Fail:  0<br>
Indeterminate:  0<br>
Benchmark:      0<br>
Timeout:        2<br>
Test too long:  0<br>
Invalid:        0<br>
Wrong Version:  0<br>
Wrong Build:    0<br>
Wrong Tools:    0<br>
-----------------<br>
Total:         55<br>
Failures:<br>
 ping01.exe<br>
 pf01.exe<br>
 commands01.exe<br>
<br>
commands01.exe works manually.<br>
<br>
I also confirmed with a telnet application that I can open a remote<br>
connection to the simulated target.<br>
<br>
On Fri, Jun 25, 2021 at 12:45 PM Gedare Bloom <<a href="mailto:gedare@rtems.org" target="_blank" rel="noreferrer">gedare@rtems.org</a>> wrote:<br>
><br>
> ---<br>
>  rtemsbsd/include/bsp/nexus-devices.h           |  7 +++++++<br>
>  rtemsbsd/include/machine/rtems-bsd-nexus-bus.h | 11 +++++++++++<br>
>  2 files changed, 18 insertions(+)<br>
><br>
> diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h<br>
> index efe4fcb4..e6487470 100644<br>
> --- a/rtemsbsd/include/bsp/nexus-devices.h<br>
> +++ b/rtemsbsd/include/bsp/nexus-devices.h<br>
> @@ -115,6 +115,13 @@ RTEMS_BSD_DRIVER_E1000PHY;<br>
>  RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM0(ZYNQMP_IRQ_ETHERNET_0);<br>
>  RTEMS_BSD_DRIVER_E1000PHY;<br>
><br>
> +#elif defined(LIBBSP_AARCH64_XILINX_VERSAL_BSP_H)<br>
> +<br>
> +#include <bsp/irq.h><br>
> +<br>
> +RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM0(VERSAL_IRQ_ETHERNET_0);<br>
> +RTEMS_BSD_DRIVER_E1000PHY;<br>
> +<br>
>  #elif defined(LIBBSP_ARM_ATSAM_BSP_H)<br>
><br>
>  RTEMS_BSD_DRIVER_USB;<br>
> diff --git a/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h b/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h<br>
> index 5902c58c..2c013ef3 100644<br>
> --- a/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h<br>
> +++ b/rtemsbsd/include/machine/rtems-bsd-nexus-bus.h<br>
> @@ -409,6 +409,17 @@ extern "C" {<br>
>    #define RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM3(_irq)       \<br>
>      RTEMS_BSD_DRIVER_XILINX_ZYNQ_CGEM(3, 0xff0e0000, _irq)<br>
>  #endif /* RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM3 */<br>
> +/*<br>
> + * Versal has a similar GEM as the CGEM. This should work for now.<br>
> + */<br>
> +#if !defined(RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM0)<br>
> +  #define RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM0(_irq)                \<br>
> +    RTEMS_BSD_DRIVER_XILINX_ZYNQ_GEM(0, 0xff0c0000, _irq)<br>
> +#endif /* RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM0 */<br>
> +#if !defined(RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM1)<br>
> +  #define RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM1(_irq)       \<br>
> +    RTEMS_BSD_DRIVER_XILINX_ZYNQ_GEM(1, 0xff0d0000, _irq)<br>
> +#endif /* RTEMS_BSD_DRIVER_XILINX_VERSAL_GEM1 */<br>
><br>
>  /*<br>
>   * Designware/Synopsys Ethernet MAC Controller.<br>
> --<br>
> 2.25.1<br>
><br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank" rel="noreferrer">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>