<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style="--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>

<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style="font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";">
<div class="content">

<p class="details" style="font-style: italic; color: #626168;">
<a href="https://gitlab.rtems.org/frank_k">Frank Kuehndel</a> created an issue: <a href="https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16">#16</a>
</p>
<div class="md" style="position: relative; z-index: 1; color: #3a383f; word-wrap: break-word;">
<h2 id="user-content-our-goal" dir="auto" style="margin-top: 0; margin-bottom: 10px;" align="initial">Our Goal<a href="#our-goal" aria-label="Link to heading 'Our Goal'" data-heading-content="Our Goal" class="anchor" style="margin-top: 0;"></a>
</h2>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">Our goal is to revitalize the pre-qualified RTEMS within rtems.org.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">What is the current state in rtems.org?</p>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">rtems.git:</p>
<ul style="list-style-type: circle; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">Build system support for pre-qualified RTEMS (<code style="font-size: 90%; color: #18171d; word-wrap: break-word; background-color: #ececef; border-radius: .25rem; margin-top: 0; font-weight: inherit; overflow-wrap: break-word; white-space: break-spaces; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;">RTEMS_QUAL</code> config.ini option) is not integrated in the RTEMS repository.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">Memory benchmarks are not integrated (optional).</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">Hacks for the pre-qualified RTEMS are not integrated (no need).</p>
</li>
</ul>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">rtems-docs.git:</p>
<ul style="list-style-type: circle; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">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.</li>
</ul>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">rtems-central.git:</p>
<ul style="list-style-type: circle; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">Lots of specification items which are basically unused since the workflow is too complicated.</li>
</ul>
</li>
</ul>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">What is the state of the pre-qualified RTEMS used by EB and ESA?</p>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">The baseline is the RTEMS 6 release branch.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">For the ongoing ESA activity the baseline will be updated to RTEMS 7 or 8.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">Pre-qualified RTEMS configurations are available for ZynqMP, Zynq 7000, Polarfire SoC, NanoXplore NGUltra, GR712, G740, QorIQ P-Series.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">Planned pre-qualified RTEMS: NXP Layerscape, GR765 (LEON5 and RISC-V)</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">All qualification related tools are public, now: <a href="https://github.com/specthings/" rel="nofollow noreferrer noopener" target="_blank" style="margin-top: 0;">https://github.com/specthings/</a></p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">CI runners test the tools on Ubuntu, macOS and FreeBSD.</p>
</li>
</ul>
<h2 id="user-content-what-is-next" dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">What is next?<a href="#what-is-next" aria-label="Link to heading 'What is next?'" data-heading-content="What is next?" class="anchor" style="margin-top: 0;"></a>
</h2>
<ol dir="auto" style="text-align: initial; margin: 0 0 1rem; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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 <a href="https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/8" title="Interface maintanence workflow is too cumbersome" class="gfm gfm-issue" data-original="#8" data-link="false" data-link-reference="false" data-issue="29226" data-project="9" data-iid="8" data-namespace-path="rtems/prequal/rtems-central" data-project-path="rtems/prequal/rtems-central" data-issue-type="issue" data-container="body" data-placement="top" data-reference-type="issue" style="margin-top: 0;">#8</a> and <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1115" title="Draft: Import specification items with history from rtems-central" class="gfm gfm-merge_request" data-original="Import specification items with history from rtems-central" data-link="true" data-link-reference="true" data-merge-request="2313" data-project="26" data-project-path="rtems/rtos/rtems" data-iid="1115" data-container="body" data-placement="top" data-reference-type="merge_request">Import specification items with history from rtems-central</a>)</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
<p style="color: #3a383f; margin: 0 0 1rem;">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.</p>
</li>
</ol>
<h2 id="user-content-see-also" dir="auto" style="margin-top: 20px; margin-bottom: 10px;" align="initial">See also<a href="#see-also" aria-label="Link to heading 'See also'" data-heading-content="See also" class="anchor" style="margin-top: 0;"></a>
</h2>
<ul dir="auto" style="text-align: initial; list-style-type: disc; margin: 0; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;"><a href="https://gitlab.rtems.org/groups/rtems/-/epics/38" title="Enhancement of RTEMS Pre-Qualification" class="gfm gfm-epic" data-original="EPIC for <em>Enhancement of RTEMS Pre-Qualification</em>" data-link="true" data-link-reference="true" data-group="3" data-group-path="rtems" data-iid="38" data-epic="43" data-container="body" data-placement="top" data-reference-type="epic" style="margin-top: 0;">EPIC for <em style="margin-top: 0;">Enhancement of RTEMS Pre-Qualification</em></a></li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<a href="https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/15" title="Enhancement of RTEMS Pre-Qualification" class="gfm gfm-issue" data-original="#15" data-link="false" data-link-reference="false" data-issue="29523" data-project="9" data-iid="15" data-namespace-path="rtems/prequal/rtems-central" data-project-path="rtems/prequal/rtems-central" data-issue-type="issue" data-container="body" data-placement="top" data-reference-type="issue" style="margin-top: 0;">#15</a> Introduction to <em>Enhancement of RTEMS Pre-Qualification</em>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;"><a href="https://rtems-qual.io.esa.int/" rel="nofollow noreferrer noopener" target="_blank" style="margin-top: 0;">Official ESA web-page for pre-qualified RTEMS packages</a></li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;"><a href="https://github.com/specthings/" rel="nofollow noreferrer noopener" target="_blank" style="margin-top: 0;">specthings -- The tools for the qualification</a></li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;"><a href="https://github.com/embedded-brains/rtems-package" rel="nofollow noreferrer noopener" target="_blank" style="margin-top: 0;">Sample pre-qualification package</a></li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;"><a href="https://discord.com/channels/820452222382112799/1466719388592898049/1495774484412629126" rel="nofollow noreferrer noopener" target="_blank" style="margin-top: 0;">Discord announcement of public package build CI job (see point 5. above)</a></li>
</ul>
</div>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">

<br>
<a href="https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/sent_notifications/3-81gkub0k5fp3gd5jsh06rdisn/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<span style="color: transparent; font-size: 0; display: none; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16 at 1776764470
</span>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Issue","url":"https://gitlab.rtems.org/rtems/prequal/rtems-central/-/issues/16"}}</script>


</p>
</div>
</body>
</html>