Xilinx header files installed by BSP

Chris Johns chrisj at rtems.org
Thu Mar 28 02:29:53 UTC 2024


On 27/3/2024 7:14 am, Kinsey Moore wrote:
> On Mon, Mar 25, 2024 at 3:34 PM Bernd Moessner <berndmoessner80 at gmail.com
> <mailto:berndmoessner80 at gmail.com>> wrote:
> 
> 
>     On 25.03.2024 13:26, Sebastian Huber wrote:
>     > Hello,
>     >
>     > the BSPs for the Xilinx Zynq/ZynqMP/Versal platforms use code from
>     > Xilinx. They also install some header files from Xilinx in the
>     > top-level include directory of the BSP, for example:
>     >
>     > sleep.h  xbasic_types.h  xil_assert.h  xil_cache.h xil_exception.h
>     > xil_io.h  xil_mem.h  xil_printf.h  xil_smc.h xil_types.h 
>     > xparameters.h  xpseudo_asm_gcc.h  xpseudo_asm.h xreg_cortexa53.h 
>     > xstatus.h
>     >
>     > This can lead to conflicts if I would like to build software from
>     >
>     > https://github.com/Xilinx/embeddedsw <https://github.com/Xilinx/embeddedsw>
>     >
>     > because now some header files are duplicated and available through
>     > different include paths. Why do we install these header files? I think
>     > they should be only used internally to build the BSP provided drivers.
>     > The RTEMS drivers should expose their interfaces not through the
>     > Xilinx header files.
>     >
>     > Any objections to remove the installation of the Xilinx header files?
>     >
>     Dear Sebastian,
> 
>     Zynq 7000 is not using them. Rtems-lwip requires some of the headers. I
>     provided a patch which added "objxilinxsupport.yml" to the Zynq 7000
>     configurations. After a discussion on Discord my patch was rolled back
>     (which I think was a good decision).
> 
>     Chris and Kinsey, please correct me if I misunderstood something, but as
>     far as I understood it the headers will be removed from the kernel.
>     Afaik, there are some drivers for the ZU require them. Thus, it will
>     require some time / planning to overwork the drivers and move the
>     required headers to rtems-lwip.
> 
>     Long story short, Chris and Kinsey should be able to give some more
>     detailed information on the strategy and timeline.
> 
> 
> The eventual goal is that the installed Xilinx headers will no longer be
> installed to prevent conflicts as Sebastian suggested. Currently, use of the
> QSPI/NOR and NAND drivers in RTEMS requires access to those headers in the
> installed BSP. Those drivers need to be wrapped to remove dependency on
> installed Xilinx headers. It's on my todo list to wrap these drivers properly.


Reduced exposure and/or removal would benefit us long term. The upstream repo is
a company over wall one and forced pushes and bulk updates happen based on the
internal Xilinx release cycle for their tools.

Chris


More information about the devel mailing list