Frank Kuehndel created an issue: 
https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16



## Our Goal

Our goal is to revitalize the pre-qualified RTEMS within rtems.org.

What is the current state in rtems.org?

- rtems.git:

  - Lots of header and test files generated from the spec in rtems-central go 
slowly out of sync since they are updated by hand in the rtems repository.

  - Build system support for pre-qualified RTEMS (`RTEMS_QUAL` config.ini 
option) is not integrated in the RTEMS repository.

  - Memory benchmarks are not integrated (optional).

  - Hacks for the pre-qualified RTEMS are not integrated (no need).

- rtems-docs.git:

  - Lots of header and test files generated from the spec in rtems-central go 
slowly out of sync since they are updated by hand in the rtems-docs repository.

- rtems-central.git:

  - Lots of specification items which are basically unused since the workflow 
is too complicated.

What is the state of the pre-qualified RTEMS used by EB and ESA?

- The baseline is the RTEMS 6 release branch.

- For the ongoing ESA activity the baseline will be updated to RTEMS 7 or 8.

- Pre-qualified RTEMS configurations are available for ZynqMP, Zynq 7000, 
Polarfire SoC, NanoXplore NGUltra, GR712, G740, QorIQ P-Series.

- Planned pre-qualified RTEMS: NXP Layerscape, GR765 (LEON5 and RISC-V)

- All qualification related tools are public, now: 
https://github.com/specthings/

- CI runners test the tools on Ubuntu, macOS and FreeBSD.

## What is next?

1. The most critical thing to fix is the workflow to maintain the generated 
sources within rtems.git and rtems-docs.git. Here the proposal is to move the 
specification items from rtems-central.git to rtems.git with more or less 
history imported. Having the specification of RTEMS in rtems.git avoids 
inconsistencies and enables an automatic generation of change logs for the 
specification documents. With the help of CI support, you can ensure that 
generated files are in a consistent state for each commit. The CI can also 
assist in the updates removing the burden to install the tools on the 
contributor side. No matter how this is solved eventually, it is very important 
to establish a better and more efficient workflow. (See also #8 and [Import 
specification items with history from 
rtems-central](https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1115))

2. There are currently activities ongoing to reformat the RTEMS code. Our 
pre-qualified RTEMS has not yet been reformated. It would save us much effort, 
when we could first integrate our pre-qualified RTEMS in RTEMS and the 
reformating activities would be carried out afterwards.

3. The build system support for the pre-qualified RTEMS works basically on an 
include or exclude file level. For the memory allocator some hacks were 
necessary. They can be removed once a memory allocator is pre-qualified. We 
intend to replace the first-fit allocator of RTEMS with TLSF.

4. Once we established an efficient workflow, we can start extending the 
pre-qualified feature set with POSIX API functions. The goal is to be able to 
run OpenMP provided by GCC. We can also start integrating the work done for 
some of the targets listed above.

5. The package building is an entirely different topic. The tools are already 
available, however, a package configuration and the ECSS conform documentation 
is not available yet. For the ECSS conform documentation, we have to resolve 
some third-party copyright issues.

    The package configuration and the ECSS conform documentation should go into 
own repositories. Once these are set up, the QDPs can be build from the 
repository containing the package configuration, e.g. by an CI job.

## See also

* [EPIC for *Enhancement of RTEMS 
Pre-Qualification*](https://gitlab.rtems.org/groups/rtems/-/epics/38)
* #15 Introduction to *Enhancement of RTEMS Pre-Qualification*
* [Official ESA web-page for pre-qualified RTEMS 
packages](https://rtems-qual.io.esa.int/)
* [specthings -- The tools for the 
qualification](https://github.com/specthings/)
* [Sample pre-qualification 
package](https://github.com/embedded-brains/rtems-package)
* [Discord announcement of public package build CI job (see point 5. 
above)](https://discord.com/channels/820452222382112799/1466719388592898049/1495774484412629126)

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to