| #
2d4f264b |
| 17-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "romlib-fixes" into integration
* changes: fix(romlib): wrap indirectly included functions fix(arm): remove duplicate jumptable entry
|
| #
d95d56bd |
| 22-Jul-2024 |
Jimmy Brisson <jimmy.brisson@arm.com> |
fix(romlib): wrap indirectly included functions
The problem that this resolves is a bit involved; the following must be met at the same time for some function <to_be_wrapped>:
* to_be_wrapped must
fix(romlib): wrap indirectly included functions
The problem that this resolves is a bit involved; the following must be met at the same time for some function <to_be_wrapped>:
* to_be_wrapped must be specified as part of the romlib * to_be_wrapped must _not_ be referenced by any translation unit in TF-A * to_be_wrapped must be referenced by a translation unit in a dependent library, mbedtls for example.
Under these circumstances, to_be_wrapped will not be wrapped, and will instead reference its original definition while simultaneously residing in romlib.
This is a side effect of two issues with romlib prior to this patch:
1 to_be_wrapped is expected to wrap by duplicating its definition. This causes any condition that links against both the base and wrapper functions to be a link error (duplicate symbol definition). 2 to_be_wrapped is in its own translation unit This causes the wrappers to be used by TF-A in an as needed.
The duplicate function definitions can be worked around using the linker's `--wrap` flag, which redirects all references to a symbol to resolve to `__wrap_<symbol>` and the original symbol to be available as `__real_<symbol>`. Most of the changes handle creating this arguments and passing them to the linker.
Further, once you use the linker's wrap, you will encounter another issue: if TF-A does not use a function, its wrapper is not present. This causes link issues when a library and not TF-A uses the wrapper. Note that this issue would have been resolved previously by ignoring the wrapper and using the base definition.
This further issue is worked around by concatenating the assembly for all of the wrappers into a single translation unit. It's possible to work around this issue in a few other ways, including reordering the libraries passed to the linker to place libwrapper.a last or grouping the libraries so that symbols from later libraries may be resolved with prior libraries.
I chose the translation unit concatenation approach as it revealed that a jumptable has duplicate symbols within it.
Change-Id: Ie57b5ae69bde2fc8705bdc7a93fae3ddb5341ed9 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
show more ...
|
| #
c8be7c08 |
| 18-Apr-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(docs): typo in the romlib design" into integration
|
| #
3b57ae23 |
| 18-Apr-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(docs): typo in the romlib design
There's a typo in the romlib design document when referring to the generator script. It should be romlib_generator.py instead of romlib_generate.py so fixed this
fix(docs): typo in the romlib design
There's a typo in the romlib design document when referring to the generator script. It should be romlib_generator.py instead of romlib_generate.py so fixed this typo.
Change-Id: I6db7ee66b13c2b0b9d8511da7e0d1b058366281b Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| #
f325f9ce |
| 27-Nov-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "doc: Split the User Guide into multiple files" into integration
|
| #
43f35ef5 |
| 29-May-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Split the User Guide into multiple files
The User Guide document has grown organically over time and now covers a wide range of topics, making it difficult to skim read and extract information
doc: Split the User Guide into multiple files
The User Guide document has grown organically over time and now covers a wide range of topics, making it difficult to skim read and extract information from. Currently, it covers these topics and maybe a couple more:
- Requirements (hardware, tools, libs) - Checking out the repo - Basic build instructions - A comprehensive list of build flags - FIP packaging - Building specifically for Juno - Firmware update images - EL3 payloads - Preloaded BL33 boot flow - Running on FVPs - Running on Juno
I have separated these out into a few groups that become new documents. Broadly speaking, build instructions for the tools, for TF-A generally, and for specific scenarios are separated. Content relating to specific platforms (Juno and the FVPs are Arm-specific platforms, essentially) has been moved into the documentation that is specific to those platforms, under docs/plat/arm.
Change-Id: Ica87c52d8cd4f577332be0b0738998ea3ba3bbec Signed-off-by: Paul Beesley <paul.beesley@arm.com>
show more ...
|
| #
896add4f |
| 18-Nov-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "lm/improve_memory_layout" into integration
* changes: DOC: Update ROMLIB page with memory impact info ROMLIB: Optimize memory layout when ROMLIB is used
|
| #
4685b64f |
| 11-Oct-2019 |
Louis Mayencourt <louis.mayencourt@arm.com> |
DOC: Update ROMLIB page with memory impact info
Complete the Library at ROM documentation with information regarding the memory impact of the feature.
Change-Id: I5a10620a8e94f123021bb19523a36d558b
DOC: Update ROMLIB page with memory impact info
Complete the Library at ROM documentation with information regarding the memory impact of the feature.
Change-Id: I5a10620a8e94f123021bb19523a36d558b330deb Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
show more ...
|
| #
18b8266c |
| 25-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge "Romlib makefile refactoring and script rewriting" into integration
|
| #
d8210dc6 |
| 09-Jul-2019 |
Imre Kis <imre.kis@arm.com> |
Romlib makefile refactoring and script rewriting
The features of the previously existing gentbl, genvar and genwrappers scripts were reimplemented in the romlib_generator.py Python script. This resu
Romlib makefile refactoring and script rewriting
The features of the previously existing gentbl, genvar and genwrappers scripts were reimplemented in the romlib_generator.py Python script. This resulted in more readable and maintainable code and the script introduces additional features that help dependency handling in makefiles. The assembly templates were separated from the script logic and were collected in the 'templates' directory.
The targets and their dependencies were reorganized in the makefile and the dependency handling of included index files is possible now. Incremental build is available in case of modifying the index files.
Signed-off-by: Imre Kis <imre.kis@arm.com> Change-Id: I79f65fab9dc5c70d1f6fc8f57b2a3009bf842dc5
show more ...
|
| #
ced17112 |
| 23-May-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "pb/sphinx-doc" into integration
* changes: doc: Use proper note and warning annotations doc: Refactor contributor acknowledgements doc: Reorganise images and update l
Merge changes from topic "pb/sphinx-doc" into integration
* changes: doc: Use proper note and warning annotations doc: Refactor contributor acknowledgements doc: Reorganise images and update links doc: Set correct syntax highlighting style doc: Add minimal glossary doc: Remove per-page contents lists doc: Make checkpatch ignore rst files doc: Format security advisory titles and headings doc: Reformat platform port documents doc: Normalise section numbering and headings doc: Reword document titles
show more ...
|
| #
a2c320a8 |
| 13-Mar-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Reorganise images and update links
Change-Id: I679d1499376a524bef1cfc33df995b0a719b5ac8 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
|
| #
29c02529 |
| 13-Mar-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Set correct syntax highlighting style
Several code blocks do not specify a language for syntax highlighting. This results in Sphinx using a default highlighter which is Python.
This patch adds
doc: Set correct syntax highlighting style
Several code blocks do not specify a language for syntax highlighting. This results in Sphinx using a default highlighter which is Python.
This patch adds the correct language to each code block that doesn't already specify it.
Change-Id: Icce1949aabfdc11a334a42d49edf55fa673cddc3 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
show more ...
|
| #
57354abb |
| 07-Mar-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Remove per-page contents lists
These are no longer needed as there will always be a table of contents rendered to the left of every page.
Some of these lists can be quite long and, when openin
doc: Remove per-page contents lists
These are no longer needed as there will always be a table of contents rendered to the left of every page.
Some of these lists can be quite long and, when opening a page, the reader sees nothing but a huge list of contents! After this patch, the document contents are front-and-centre and the contents are nicely rendered in the sidebar without duplication.
Change-Id: I444754d548ec91d00f2b04e861de8dde8856aa62 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
show more ...
|
| #
83993177 |
| 07-Mar-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Normalise section numbering and headings
Required work to make all documents sit at the correct levels within the document tree and any derived content like the table of contents and the catego
doc: Normalise section numbering and headings
Required work to make all documents sit at the correct levels within the document tree and any derived content like the table of contents and the categories in the sidebar.
Change-Id: I4885fbe30864a87c8822ee67482b71fb46a8fbc6 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
show more ...
|
| #
6d95ccda |
| 21-May-2019 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "doc: Move documents into subdirectories" into integration
|
| #
40d553cf |
| 11-Feb-2019 |
Paul Beesley <paul.beesley@arm.com> |
doc: Move documents into subdirectories
This change creates the following directories under docs/ in order to provide a grouping for the content:
- components - design - getting_started - perf - pr
doc: Move documents into subdirectories
This change creates the following directories under docs/ in order to provide a grouping for the content:
- components - design - getting_started - perf - process
In each of these directories an index.rst file is created and this serves as an index / landing page for each of the groups when the pages are compiled. Proper layout of the top-level table of contents relies on this directory/index structure.
Without this patch it is possible to build the documents correctly with Sphinx but the output looks messy because there is no overall hierarchy.
Change-Id: I3c9f4443ec98571a56a6edf775f2c8d74d7f429f Signed-off-by: Paul Beesley <paul.beesley@arm.com>
show more ...
|