| #
3513f961 |
| 03-Sep-2020 |
Jerome Forissier <jerome@forissier.org> |
arm32: fold UNWIND(.fnstart/.fnend) into the FUNC macros
This change applies to arm32 assembler sources.
Instead of using UNWIND(.fnstart) after FUNC or LOCAL_FUNC and UNWIND(.fnend) before END_FUN
arm32: fold UNWIND(.fnstart/.fnend) into the FUNC macros
This change applies to arm32 assembler sources.
Instead of using UNWIND(.fnstart) after FUNC or LOCAL_FUNC and UNWIND(.fnend) before END_FUNC, let's fold these statements into the FUNC macros.
The .fnstart/.fnend directives mark the start and end of a function with an unwind table entry (.ARM.exidx) and therefore a function without them has no entry and cannot be unwound. This means that a stack dump (on abort or panic) would stop when reaching such a function.
As a result of this patch, a small number of functions now have an entry in the unwind table when they had none before (the functions which were using FUNC or LOCAL_FUNC but had no .fnstart/.fnend). It was almost always a bug and this pacth only increases the size of the .ARM.exidx section by a few bytes (tested on QEMU).
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
827be46c |
| 03-Sep-2020 |
Jerome Forissier <jerome@forissier.org> |
arm32: move the UNWIND() macro to <asm.S>
All the users of the UNWIND() macro include <asm.S> already, which is therefore a good place to define this macro. Let's move it from <kernel/unwind.h> to <
arm32: move the UNWIND() macro to <asm.S>
All the users of the UNWIND() macro include <asm.S> already, which is therefore a good place to define this macro. Let's move it from <kernel/unwind.h> to <asm.S>, remove a couple of duplicates in assembler files, and drop the useless includes.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
069c9230 |
| 30-Apr-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add dcache_clean_range_pou()
Adds dcache_clean_range_pou() which cleans the data cache to the point of unification. This is exactly what's needed when later invalidating the icache due to upda
core: add dcache_clean_range_pou()
Adds dcache_clean_range_pou() which cleans the data cache to the point of unification. This is exactly what's needed when later invalidating the icache due to updates in a page.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
ed071871 |
| 30-Apr-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: cache_helpers_a{32,64}.S: remove section assignments
Since the FUNC and LOCAL_FUNC assembly macros now assign a section to each assembly function the explicitly assigned sections in cache_help
core: cache_helpers_a{32,64}.S: remove section assignments
Since the FUNC and LOCAL_FUNC assembly macros now assign a section to each assembly function the explicitly assigned sections in cache_helpers_a{32,64}.S are ignored. So remove the ignored section assignments.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
2d0b0bcf |
| 30-Apr-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
arm.h: add CTR_WORD_SIZE
Adds a common define for the word size used by the CTR (cache type) register.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jen
arm.h: add CTR_WORD_SIZE
Adds a common define for the word size used by the CTR (cache type) register.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
13f187f4 |
| 15-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: update cache helpers
Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S and lib/aarch64/cache_helpers.S in ARM-TF, https://github.com/ARM-software/arm-trusted-firmware/tr
core: update cache helpers
Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S and lib/aarch64/cache_helpers.S in ARM-TF, https://github.com/ARM-software/arm-trusted-firmware/tree/2bd26faf62411c75111fea4b23c542865383b068
The imported routines only covers the inner cache. Already present ARMv7 cache routines are replaced by the new equivalent routines. The AArch64 routines are updated with the resent changes in ARM-TF.
The imported files are modified to better fit into OP-TEE, some functions and defines are renamed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey AArch{32,64} pager) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno AArch{32,64} pager) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|