How to set values depending on BSP options in spec files?

Jan.Sommer at dlr.de Jan.Sommer at dlr.de
Thu Nov 26 12:41:15 UTC 2020


Hello,

I tried to get further acquainted with the new build system and how the spec files work.
Following a previous discussion (https://lists.rtems.org/pipermail/users/2020-November/067971.html) I thought adding support for the 4 kB MMU pages to the xilinx_zynq_* BSPs might be a small task to check things out.
Unfortunately, I still ran in some problems.
What I essentially have to do is:
1. Add the option ARM_MMU_USE_SMALL_PAGES to the xilinx_zynq BSPs.
2. Update the linker script to reserve enough space for the small table descriptors.

1.) was pretty straight forward. I just added the a link to optmmusmallpages to the xilinx-zynq/grp.yml of the BSP family.

For 2.) I essentially only have to update the ARM_MMU_TRANSLATION_TABLE_SIZE to the right value.
The default value of 16kiB is set in arm/optmmusz.yml. For option ARM_MMU_USE_SMALL_PAGES enabled this would need to be 4MiB+16kiB.
How would I achieve to set the MMU table size dependent on the ARM_MMU_USE_SMALL_PAGES option?

Would it be somewhere in xilinx-zynq/grp.yml?
Or in the arm/optmmusz.yml somehow with the "default-by-variant" mechanism.
Or would I create an new xilinx-zynq/optmmusz.yml and define it there?
Or something else?

Best regards,

    Jan


Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR)
German Aerospace Center
Institute for Software Technology | Software for Space Systems and Interactive Visualization | Lilienthalplatz 7 | 38108 Braunschweig | Germany

Jan Sommer



More information about the devel mailing list