Removing a BSP
Table of Contents
Before doing this as a GCI task, you should complete a "Getting Started" task to build a working RTEMS development environment.
Whether GCI or not, the patches generated by this effort should be attached to an RTEMS issue tracking ticket. If a GCI student, after you add the patches to the ticket, post a message in the GCI task asking a mentor to review the ticket.
This page describes the process of removing a BSP from the RTEMS source repository. It must be preceded by an announcement to the community in order to allow for feedback that it can be removed or is still in use.
In these instructions, it is assumed that an entire BSP family is removed. Removing one or more BSP variants within a family is likely to require closer attention to configuration and conditional sections or files specific to the BSP variant being removed.
Removing a BSP Family from the Source
A BSP is normally well contained in the c/src/lib/libbsp/@ARCHITECTURE@/@BSP_FAMILY@ directory. Removing it should consist of a few simple steps.
Note that in these instructions, @ARCHITECTURE@ should be replaced with the target architecture for the BSP being removed and @BSP_FAMILY@ is the BSP family. These must be substituted with real names.
File a ticket - This is important so all modifications related to removing this BSP are easy to identify in case the BSP is resurrected.
NOTE: In some cases, the ticket may already be filed and you are just doing the "coding" part of the effort. In this case, use the ticket number already available.
Create a branch in git to make local changes on.
git checkout -b am
Remove the BSP family from git - Be sure to include the ticket number in the commit message.
cd .../c/src/lib/libbsp/@ARCHITECTURE@ git rm -r @BSP_FAMILY@
Regenerate the acinclude.m4 file in c/src/libbsp/@ARCHITECTURE@
The acinclude.m4 will definitely need to be regenerated. However, the configure.ac file in the same directory may reference the BSP you just deleted. If configure.ac does make this reference, change it to another BSP or Makefile.am if there are no more BSPs in theis architecture.
../../../../../bootstrap git add acinclude.m4
Now, commit it.
The commit message for the above should be something like:
@ARCHITECTURE@/@BSP_FAMILY@: Remove Close #NNNN.
where NNNN is the ticket number for the ticket filed earlier.
At this point, you should have a git branch named "am" which one patch. Send this patch to the RTEMS development mailing list. The lines at the bottom of the commit messages will automatically close the ticket when the patch is committed.
Some BSPs use code in c/src/libcpu/@ARCHITECTURE@. Look for *.rel files in the Makefile.am of the BSP. In doubt, ask on the mailing list.
Other Possible References to @BSP@
There are other places where a BSP might be referenced which need to be addressed as part of removing support for a BSP.
- If the BSP has a simulation option, then there could be testing helper scripts in the rtems-testing and rtems-tools repositories. Check with the devel@… mailing list for what to do about these.
- Some BSPs are mentioned in documentation. These will have to be addressed. In particular, BSPs which are easily approachable like those for the SPARC and those that use qemu fall into this category.
- Wiki pages may need updating. In particular, there is likely a page dedicated to the BSP.
- In the future, there may be a database of BSP information which requires updating.