feat(optee): check paged image sizeThe base and size of the paged image is passed in arg1 and arg2. If theimage size is 0 it's unnecessary to pass an unused image base, so checkthe size before up
feat(optee): check paged image sizeThe base and size of the paged image is passed in arg1 and arg2. If theimage size is 0 it's unnecessary to pass an unused image base, so checkthe size before updating arg1 and arg2.Change-Id: Iebf621cc1a86a99d9128ddfbc327285cf8cf771cSigned-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
chore: update to use Arm word across TF-AAlign entire TF-A to use Arm in copyright header.Change-Id: Ief9992169efdab61d0da6bd8c5180de7a4bc2244Signed-off-by: Govindraj Raja <govindraj.raja@arm.co
chore: update to use Arm word across TF-AAlign entire TF-A to use Arm in copyright header.Change-Id: Ief9992169efdab61d0da6bd8c5180de7a4bc2244Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
fix(tree): correct some typosfound using codespell (https://github.com/codespell-project/codespell).Signed-off-by: Elyes Haouas <ehaouas@noos.fr>Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6
fix(tree): correct some typosfound using codespell (https://github.com/codespell-project/codespell).Signed-off-by: Elyes Haouas <ehaouas@noos.fr>Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6373
feat(optee): add loading OP-TEE image via an SMCThis adds the ability to load the OP-TEE image via an SMC called fromnon-secure userspace rather than loading it during boot. This shouldonly be ut
feat(optee): add loading OP-TEE image via an SMCThis adds the ability to load the OP-TEE image via an SMC called fromnon-secure userspace rather than loading it during boot. This shouldonly be utilized on platforms that can ensure security is maintained upuntil the point the SMC is invoked as it breaks the normal barrierbetween the secure and non-secure world.Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com>Change-Id: I21cfa9699617c493fa4190f01d1cbb714e7449cc
refactor(libc): clean up dependencies in libc- Removing platform dependencies from libc modules.- Replacing panicking with actual error handling.- Debug macros are included indirectly from assert
refactor(libc): clean up dependencies in libc- Removing platform dependencies from libc modules.- Replacing panicking with actual error handling.- Debug macros are included indirectly from assert.h. Removing "platform_def.h" from assert.h and adding "common/debug.h" where the macros are used.- Removing hack for fixing PLAT_LOG_LEVEL_ASSERT to 40. Instead removing assert with expression, as this does not provide additional information.Signed-off-by: Claus Pedersen <claustbp@google.com>Change-Id: Icc201ea7b63c1277e423c1cfd13fd6816c2bc568
feat(optee): check paged_image_infoFor OP-TEE without pager, the paged image may not be present in OP-TEEheader. We could then pass NULL for paged_image_info to the functionparse_optee_header().
feat(optee): check paged_image_infoFor OP-TEE without pager, the paged image may not be present in OP-TEEheader. We could then pass NULL for paged_image_info to the functionparse_optee_header(). It avoids creating a useless struct for thatnon existing image. But we should then avoid assigning header_ep argsthat depend on paged_image_info.Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>Change-Id: I4fdb45a91ac1ba6f912d6130813f5215c7e28c8b
fix(lib/optee): correct signedness comparisonAvoid compilation errors with -Wsign-compare :"comparison of integer expressions of different signedness"by changing type of num to uint32_t.And chan
fix(lib/optee): correct signedness comparisonAvoid compilation errors with -Wsign-compare :"comparison of integer expressions of different signedness"by changing type of num to uint32_t.And change init_load_addr check.Change-Id: I891e4a288a964ffdb52129813ba8652c5bcf85b2Signed-off-by: Yann Gautier <yann.gautier@st.com>
feat(lib/optee): introduce optee_header_is_valid()This new function optee_header_is_valid() allows platform to knowwhether OP-TEE OS is loaded from multi-image (using OP-TEE headerimage as BL32_I
feat(lib/optee): introduce optee_header_is_valid()This new function optee_header_is_valid() allows platform to knowwhether OP-TEE OS is loaded from multi-image (using OP-TEE headerimage as BL32_IMAGE_ID) or from a single OP-TEE binary image.The function tee_validate_header() is reworked to return a boolean,and is now silent.Change-Id: Idc7dde091f2ada8898f40d02e68c3834ca39d8e8Signed-off-by: Etienne Carriere <etienne.carriere@st.com>Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Coverity: remove unnecessary header file includesThis patch removes unnecessary header file includesdiscovered by Coverity HFA option.Change-Id: I2827c37c1c24866c87db0e206e681900545925d4Signed-
Coverity: remove unnecessary header file includesThis patch removes unnecessary header file includesdiscovered by Coverity HFA option.Change-Id: I2827c37c1c24866c87db0e206e681900545925d4Signed-off-by: Zelalem <zelalem.aweke@arm.com>
Switch AARCH32/AARCH64 to __aarch64__NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.All common C compilers pre-define the same macros to signal whicharchitecture the cod
Switch AARCH32/AARCH64 to __aarch64__NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.All common C compilers pre-define the same macros to signal whicharchitecture the code is being compiled for: __arm__ for AArch32 (orearlier versions) and __aarch64__ for AArch64. There's no need for TF-Ato define its own custom macros for this. In order to unify code withthe export headers (which use __aarch64__ to avoid another dependency),let's deprecate the AARCH32 and AARCH64 macros and switch the code baseover to the pre-defined standard macro. (Since it is somewhatunintuitive that __arm__ only means AArch32, let's standardize on onlyusing __aarch64__.)Change-Id: Ic77de4b052297d77f38fc95f95f65a8ee70cf200Signed-off-by: Julius Werner <jwerner@chromium.org>
Sanitise includes across codebaseEnforce full include path for includes. Deprecate old paths.The following folders inside include/lib have been left unchanged:- include/lib/cpus/${ARCH}- inclu
Sanitise includes across codebaseEnforce full include path for includes. Deprecate old paths.The following folders inside include/lib have been left unchanged:- include/lib/cpus/${ARCH}- include/lib/el3_runtime/${ARCH}The reason for this change is that having a global namespace forincludes isn't a good idea. It defeats one of the advantages of havingfolders and it introduces problems that are sometimes subtle (becauseyou may not know the header you are actually including if there are twoof them).For example, this patch had to be created because two headers werecalled the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platformto avoid collision."). More recently, this patch has had similarproblems: 46f9b2c3a282 ("drivers: add tzc380 support").This problem was introduced in commit 4ecca33988b9 ("Move include andsource files to logical locations"). At that time, there weren't toomany headers so it wasn't a real issue. However, time has shown thatthis creates problems.Platforms that want to preserve the way they include headers may add theremoved paths to PLAT_INCLUDES, but this is discouraged.Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8fSigned-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Fixed ARM-software/tf-issues#603Updated optee_utils.c to fix ARM-software/tf-issues#603 related to thetee-validate-header bug.Minor updates to the header valid checking logic. It would never mak
Fixed ARM-software/tf-issues#603Updated optee_utils.c to fix ARM-software/tf-issues#603 related to thetee-validate-header bug.Minor updates to the header valid checking logic. It would never makesense to have less than 1 image to load so this is now checked.Changed OPTEE_MAX_IMAGE_NUM to OPTEE_MAX_NUM_IMAGES to clarify itsdefinition. OPTEE_MAX_IMAGE_NUM sounds like an ID assigned to the lastimage to load. OPTEE_MAX_NUM_IMAGES sounds like the maximum number ofimages to load.Signed-off-by: Nathan Menhorn <nathan.menhorn@xilinx.com>
Fix MISRA Rule 5.7 Part 3Rule 5.7: A tag name shall be a unique identifierFollow convention of shorter names for smaller scope to fixviolations of MISRA rule 5.7Fixed For: make ARM_TSP_RAM
Fix MISRA Rule 5.7 Part 3Rule 5.7: A tag name shall be a unique identifierFollow convention of shorter names for smaller scope to fixviolations of MISRA rule 5.7Fixed For: make ARM_TSP_RAM_LOCATION=tdram LOG_LEVEL=50 PLAT=fvp SPD=opteedChange-Id: I5fbb5d6ebddf169550eddb07ed880f5c8076bb76Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
optee: print header info before validateCurrently optee header info is only printed after it is validated,but this does not help with debugging in case of error, so print itbefore.Signed-off-by
optee: print header info before validateCurrently optee header info is only printed after it is validated,but this does not help with debugging in case of error, so print itbefore.Signed-off-by: Victor Chong <victor.chong@linaro.org>
aarch32: optee: define the OP-TEE secure payloadAArch32 only platforms can boot the OP-TEE secure firmware asa BL32 secure payload. Such configuration can be defined throughAARCH32_SP=optee.The
aarch32: optee: define the OP-TEE secure payloadAArch32 only platforms can boot the OP-TEE secure firmware asa BL32 secure payload. Such configuration can be defined throughAARCH32_SP=optee.The source files can rely on AARCH32_SP_OPTEE to conditionOP-TEE boot specific instruction sequences.OP-TEE does not expect ARM Trusted Firmware formatted structureas boot argument. Load sequence is expected to have already loadedto OP-TEE boot arguments into the bl32 entrypoint info structure.Last, AArch32 platform can only boot AArch32 OP-TEE images.Change-Id: Ic28eec5004315fc9111051add6bb1a1d607fc815Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Add Trusted OS extra image parsing support for ARM standard platformsTrusted OS may have extra images to be loaded. Load them one by oneand do the parsing. In this patch, ARM TF need to load up to
Add Trusted OS extra image parsing support for ARM standard platformsTrusted OS may have extra images to be loaded. Load them one by oneand do the parsing. In this patch, ARM TF need to load up to 3 imagesfor optee os: header, pager and paged images. Header image is the infoabout optee os and images. Pager image include pager code and data.Paged image include the paging parts using virtual memory.Change-Id: Ia3bcfa6d8a3ed7850deb5729654daca7b00be394Signed-off-by: Summer Qin <summer.qin@arm.com>