| 769d857b | 04-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutils: atomic.h: fix atomic_load_u32() types
Prior to this patch was atomic_load_u32() using wrong types, unsigned int instead of the expected uint32_t. Fix this by changing the types.
Reviewed-
libutils: atomic.h: fix atomic_load_u32() types
Prior to this patch was atomic_load_u32() using wrong types, unsigned int instead of the expected uint32_t. Fix this by changing the types.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8420a14c | 02-Jun-2020 |
Jerome Forissier <jerome@forissier.org> |
Disable CFG_SCTLR_ALIGNMENT_CHECK (SCTLR.A) by default
With ARM CPUs, unaligned accesses are forbidden in a number of cases such as when the MMU is disabled, or when device memory is concerned, or w
Disable CFG_SCTLR_ALIGNMENT_CHECK (SCTLR.A) by default
With ARM CPUs, unaligned accesses are forbidden in a number of cases such as when the MMU is disabled, or when device memory is concerned, or with atomic instructions. However in the general case [1] and for all modern ARMv7-A and ARMv8-A processors, they do not really matter. Compilers such as GCC and Clang will generate unaligned accesses by default; a specific flag (-mstrict-align or --mno-unaligned-access) has to be supplied to prevent such code from being output.
[1] Roughly speaking: LDR/STR instructions operating on normal cached memory.
The SCTLR.A bit ("Alignment check enable") defines whether the CPU should allow these unaligned accesses (when set to 0) or should trap (when set to 1). Having SCTLR.A enabled by default can be annoying for a couple of reasons that we have met in practice:
1. TAs linked against a third-party library. Since strict alignment is not a compiler default, it is likely that a third party library does not enforce it. With SCTLR.A == 1, such a library would have to be recompiled in order to be used by a TA. Recompiling may or may not be an easy task. Concrete example: libgcc_eh.a (the C++ exception handling support library, part of the arm-linux-gnueabihf and aarch64-linux-gnu toolchains). 2. Compiler bug. For example, Clang 9.0.1 and 10.0.0 may erroneously replace memcmp() calls with inline code performing unaligned accesses [2].
All things being considered, it seems preferable for SCTLR.A to be cleared by default, i.e., CFG_SCTLR_ALIGNMENT_CHECK=n, which is what this commit does. The configuration variable is kept just in case. Note that the Linux kernel and the KVM hypervisor do not set SCTLR.A or HSCTLR.A either.
Note regarding code running before the MMU is enabled: when SCTLR.M is clear all accesses are treated as with DEVICE attribute and hence SCTLR.A has no effect. It will trap unaligned accesses regardless. So this patch will have no side effect.
Link: [2] http://lists.llvm.org/pipermail/llvm-dev/2020-June/141985.html Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0949602c | 27-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutee: base64: initialize local variables
Initialize local variables where defined in base64 coding functions as per OP-TEE coding style directives.
Signed-off-by: Etienne Carriere <etienne.carri
libutee: base64: initialize local variables
Initialize local variables where defined in base64 coding functions as per OP-TEE coding style directives.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 522a1fc3 | 25-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutee: fix base64 to support strictly well sized buffer
Before this change base64 decoding helper function base64_dec() could mandated caller to provide an output buffer that was at least 1 byte l
libutee: fix base64 to support strictly well sized buffer
Before this change base64 decoding helper function base64_dec() could mandated caller to provide an output buffer that was at least 1 byte larger than the expected size, depending on the base64 encoded data. This change fixes the issue as this is obviously not the expected behavior.
Fixes: https://github.com/OP-TEE/optee_os/issues/3876 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by Jean-Pierre Miceli <jean-pierre.miceli@heig-vd.ch>
show more ...
|
| 614e8b8a | 26-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutee: fix size query for property as binary block
Fix TEE_GetPropertyAsBinaryBlock() to allow caller to query property size by providing a NULL output buffer reference.
Fixes: https://github.com
libutee: fix size query for property as binary block
Fix TEE_GetPropertyAsBinaryBlock() to allow caller to query property size by providing a NULL output buffer reference.
Fixes: https://github.com/OP-TEE/optee_os/issues/3876 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7ee167f5 | 17-May-2020 |
Jan Kiszka <jan.kiszka@siemens.com> |
ta: Add missing default of user-ta-version
When a user TA is built with the TA dev kit (out-of-tree TA), user-ta-version is always set to the value of CFG_TA_VERSION (default: 0) by ta_dev_kit.mk. B
ta: Add missing default of user-ta-version
When a user TA is built with the TA dev kit (out-of-tree TA), user-ta-version is always set to the value of CFG_TA_VERSION (default: 0) by ta_dev_kit.mk. But for in-tree TAs, this variable is never set outside the in-tree TA makefiles (ta/*/user_ta.mk). Therefore it is mandatory for in-tree user TAs to set the variable or various issues will happen (build error or unexpected version taken from the TA that happened to have been built just before).
To address the problem and for consistency this commit sets a default value of 0 for user-ta-version in ta/mk/build-user-ta.mk before including user_ta.mk.
Fixes: 682f256caaf6 ("TA dev kit: expose CFG_TA_VERSION build option") Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| bfa0f02c | 27-May-2020 |
Gianguido Sorà <me@gsora.xyz> |
plat-imx: remove CFG_BOOT_SYNC_CPU
It is disabled by default, and no i.MX platform enables it anyway.
Signed-off-by: Gianguido Sorà <me@gsora.xyz> Acked-by: Clement Faure <clement.faure@nxp.com> |
| 9e4ebcdc | 26-May-2020 |
Jerome Forissier <jerome@forissier.org> |
Cleanup unused comp-cflags$(sm) from libgcc lookup commands
The compiler is not expected to need any flag from $(comp-cflags$(sm)) to locate the compiler runtime libraries, and in fact this variable
Cleanup unused comp-cflags$(sm) from libgcc lookup commands
The compiler is not expected to need any flag from $(comp-cflags$(sm)) to locate the compiler runtime libraries, and in fact this variable is always undefined at the point it is used. Indeed, comp-cflags$(sm) is set in mk/compile.mk, i.e., after mk/gcc.mk (or mk/clang.mk) has been included.
Therefore, remove the useless flags.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| b836bfb0 | 19-May-2020 |
Joshua Watt <JPEWhacker@gmail.com> |
arm64: Disable outline-atomics when compiling
Disables the automatic detection of LSE (Large System Extension) instructions when compiling AArch64 code. GCC 10 implements this detection in libgcc us
arm64: Disable outline-atomics when compiling
Disables the automatic detection of LSE (Large System Extension) instructions when compiling AArch64 code. GCC 10 implements this detection in libgcc using __getauxval(), which OP-TEE does not implement. This requires that the proper -mcpu is passed to GCC so that the code can be correctly compiled to use either LSE or load-store-exclusive.
Fixes linker errors like the following when compiling with GCC 10:
aarch64-linux-ld.bfd: libgcc.a(lse-init.o): in function `init_have_lse_atomics': lse-init.c:44: undefined reference to `__getauxval' core/arch/arm/kernel/link.mk:38: recipe for target 'build/core/all_objs.o' failed
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> [jf: s/optee doesn't/OP-TEE does not/, replace ?= by := for immediate evaluation] Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 331ebf7e | 26-May-2020 |
Jerome Forissier <jerome@forissier.org> |
Allow use of cc-option in core/arch/arm/arm.mk
It can be useful to call the cc-option macro when setting flags in core/arch/arm/arm.mk. Unfortunately cc-option is defined in mk/compile.mk which is t
Allow use of cc-option in core/arch/arm/arm.mk
It can be useful to call the cc-option macro when setting flags in core/arch/arm/arm.mk. Unfortunately cc-option is defined in mk/compile.mk which is too late to be useful (core/arch/arm/arm.mk is included by core/core.mk before mk/compile.mk).
This commit addresses the issue by moving the definition of cc-option to its own file, mk/cc-option.mk, which is then included by core/arch/arm/arm.mk. There is a dependency on the compiler definitions (mk/gcc.mk or mk/clang.mk) and on $(arch-bit-$(sm)) so core/arch/arm/arm.mk is modified accordingly.
Moving cc-option out of mk/compile.mk means that all non-core submodules would lose the definition unless they include mk/cc-option.mk; the TA dev kit is modified so that TAs can call cc-option from within their sub.mk files. As for other submodules, they are internal and do not use cc-options as of now so they are not modified.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 49e57c36 | 20-May-2020 |
Jerome Forissier <jerome@forissier.org> |
mk/compile.mk: fix cc-option macro
There are (at least) three issues with the cc-option macro:
1. When COMPILER=clang: when presented with a supported but unused option, Clang emits a warning to
mk/compile.mk: fix cc-option macro
There are (at least) three issues with the cc-option macro:
1. When COMPILER=clang: when presented with a supported but unused option, Clang emits a warning to stderr (and returns a success code of 0). Therefore it is incorrect to check stderr to determine if an option is supported or not; we should rely on the return status instead. 2. When COMPILER=clang, the compile command $(CC$(sm)) contains an equal sign (e.g., clang --target=arm-linux-gnueabihf). This is not expected in the cc-option macro, currently only flags are allowed to potentially contain an equal sign. This messes with the caching of the test result. 3. The macro should not cache the return value when an option is not supported. For instance, if we have: A := $(call cc-option,--not-supported,a) B := $(call cc-option,--not-supported,b) ...we expect A to be "a" and B to be "b". The current implementation returns "a" in both cases.
This commit fixes the above problems.
Fixes: 989ac108b0ef ("mk/compile.mk: add cc-option macro") Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 05beeff0 | 20-May-2020 |
Jan Kiszka <jan.kiszka@siemens.com> |
plat-k3: Make UART number configurable via CFG_CONSOLE_UART
This is analogous to plat-hikey and allows to select a different console UART for the k3 platform as well during build. This is needed to
plat-k3: Make UART number configurable via CFG_CONSOLE_UART
This is analogous to plat-hikey and allows to select a different console UART for the k3 platform as well during build. This is needed to enable support for the IOT2050 device which uses the second UART.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Andrew F. Davis <afd@ti.com>
show more ...
|
| ab64f97b | 26-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
scripts/pem_to_pub.py: use Cryptodome module instead of Crypto
Upgrade scripts/pem_to_pub.py to use module Cryptodome instead of module Crypto for consistency with the other helper Python scripts of
scripts/pem_to_pub.py: use Cryptodome module instead of Crypto
Upgrade scripts/pem_to_pub.py to use module Cryptodome instead of module Crypto for consistency with the other helper Python scripts of OP-TEE OS package.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 978f50bf | 25-May-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
config.mk: fix CFG_OPTEE_REVISION_MINOR
The current release is 3.9.0, change the revision to match.
Fixes: af141c61fe7a ("Update CHANGELOG for 3.9.0") Reviewed-by: Joakim Bech <joakim.bech@linaro.o
config.mk: fix CFG_OPTEE_REVISION_MINOR
The current release is 3.9.0, change the revision to match.
Fixes: af141c61fe7a ("Update CHANGELOG for 3.9.0") Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reported-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 16013599 | 07-May-2020 |
Victor Chong <victor.chong@linaro.org> |
clang.mk: use the compiler-rt runtime instead of libgcc
Add the `-rtlib` option to `clang -print-libgcc-file-name` so that the compiler-rt runtime is used instead of libgcc, as the AOSP (also any ot
clang.mk: use the compiler-rt runtime instead of libgcc
Add the `-rtlib` option to `clang -print-libgcc-file-name` so that the compiler-rt runtime is used instead of libgcc, as the AOSP (also any other Clang-only) build environment comes with compiler-rt but not libgcc.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8, Clang 9.0.1)
show more ...
|
| a03cdefb | 07-May-2020 |
Victor Chong <victor.chong@linaro.org> |
link.mk: add missing $libgcc to ldargs
Add missing $libgcc arg to ldargs for ldelf, ta link.mk and ta link_shlib.mk. This is required for the AOSP clang build to fix compile errors like below:
ld.l
link.mk: add missing $libgcc to ldargs
Add missing $libgcc arg to ldargs for ldelf, ta link.mk and ta link_shlib.mk. This is required for the AOSP clang build to fix compile errors like below:
ld.lld: error: undefined symbol: __aeabi_mem*
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 6c02f96f | 25-May-2020 |
Jerome Forissier <jerome@forissier.org> |
Revert "arm64: Disable outline-atomics when compiling"
This reverts commit 5e75fab066a352c8f334b1b5c73380f5896e85f3.
Unfortunately, the cc-option function cannot be called in core/arch/arm/arm.mk,
Revert "arm64: Disable outline-atomics when compiling"
This reverts commit 5e75fab066a352c8f334b1b5c73380f5896e85f3.
Unfortunately, the cc-option function cannot be called in core/arch/arm/arm.mk, at least not without further changes, because it depends on $(CC$(sm)) which is set in mk/gcc.mk or mk/clang.mk. Both files need $(arch-bits-$(sm)), which is set in core/arch/arm/arm.mk. Circular dependency.
Let's revert this change until a proper fix is found, because it has side effects on non-GCC 10 compilation such as build warnings [1] and slow compilation with Clang.
Signed-off-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 18a6e615 | 22-May-2020 |
Jerome Forissier <jerome@forissier.org> |
ci: travis: install codespell package
Since commit e7e3142343c2 ("checkpatch: add codespell support"), checkpatch.pl expects to find the codespell dictionary at /usr/share/codespell/dictionary.txt.
ci: travis: install codespell package
Since commit e7e3142343c2 ("checkpatch: add codespell support"), checkpatch.pl expects to find the codespell dictionary at /usr/share/codespell/dictionary.txt. This patch adds the missing package.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 5e75fab0 | 19-May-2020 |
Joshua Watt <JPEWhacker@gmail.com> |
arm64: Disable outline-atomics when compiling
Disables the automatic detection of LSE (Large System Extension) instructions when compiling AArch64 code. GCC 10 implements this detection in libgcc us
arm64: Disable outline-atomics when compiling
Disables the automatic detection of LSE (Large System Extension) instructions when compiling AArch64 code. GCC 10 implements this detection in libgcc using __getauxval(), which OP-TEE doesn't implement. This requires that the proper -mcpu is passed to GCC so that the code can be correctly compiled to use either LSE or load-store-exclusive.
Fixes linker errors like the following when compiling with GCC 10:
aarch64-linux-ld.bfd: libgcc.a(lse-init.o): in function `init_have_lse_atomics': lse-init.c:44: undefined reference to `__getauxval' core/arch/arm/kernel/link.mk:38: recipe for target 'build/core/all_objs.o' failed
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> [jf: s/optee/OP-TEE/] Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| af141c61 | 05-May-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
Update CHANGELOG for 3.9.0
Update CHANGELOG for 3.9.0 and collect Tested-by tags.
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, GP) Tested-by: Jerome Forissier <jerome@forissier.org
Update CHANGELOG for 3.9.0
Update CHANGELOG for 3.9.0 and collect Tested-by tags.
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, GP) Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8) Tested-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> (mx6qsabrelite) Tested-by: Igor Opaniuk <igor.opaniuk@gmail.com> (Poplar) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu_virt/qemu_armv8) Tested-by: Sumit Garg <sumit.garg@linaro.org> (Developerbox) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabreauto) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6qpsabreauto) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ullevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulzevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6slevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx6sllevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx7dsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (mx7ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mmevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mnevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mqevk) Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qxpmek) Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey, GP) Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8) Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qmmek) Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi3) Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (Qemu armv7/armv8 + GP) Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi3-NFS) Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3) Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3/virtualization) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b627229f | 19-May-2020 |
Khoa Hoang <admin@khoahoang.com> |
core: tee_mmu: fix use after free bug in vm_unmap()
vm_unmap() uses r->va and r->size after it is freed and can cause the end VA address calculation to be wrong and the while loop keep going till it
core: tee_mmu: fix use after free bug in vm_unmap()
vm_unmap() uses r->va and r->size after it is freed and can cause the end VA address calculation to be wrong and the while loop keep going till it unmaps the rest of the regions. This bug can cause TA to crash with a translation fault since vm_unmap() unmapped text and data
Signed-off-by: Khoa Hoang <admin@khoahoang.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7fdadfdb | 19-May-2020 |
Jerome Forissier <jerome@forissier.org> |
core: aslr: suppress R_AARCH64_ABS64 and R_ARM_ABS32 relocations
The following errors were observed when building with GCC 6.2.1:
- 64 bits: GEN out/arm/core/tee.bin Unexpected relocation t
core: aslr: suppress R_AARCH64_ABS64 and R_ARM_ABS32 relocations
The following errors were observed when building with GCC 6.2.1:
- 64 bits: GEN out/arm/core/tee.bin Unexpected relocation type 0x101
- 32 bits: GEN out/arm/core/tee.bin Unexpected relocation type 0x2
Relocation type 0x101 is R_AARCH64_ABS64 and 0x2 is R_ARM_ABS32. The errors are output by scripts/gen_tee_bin.py which expects only relative relocations (the ones that are necessary for ASLR).
This patch adds the -Bsymbolic linker option to avoid these relocations. More information can be found in Linux commit [1].
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=08cc55b2afd97a654f71b3bebf8bb0ec89fdc498 Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| bef33113 | 18-May-2020 |
Jerome Forissier <jerome@forissier.org> |
libutils: confine_array_index: arm64: replace csdb by hint #20
Older compilers such as GCC 6.2 do not support the csdb mnemonic [1]. For better compatibility, replace it by its equivalent: hint #20.
libutils: confine_array_index: arm64: replace csdb by hint #20
Older compilers such as GCC 6.2 do not support the csdb mnemonic [1]. For better compatibility, replace it by its equivalent: hint #20.
CC out/arm/ldelf/ta_elf_rel.o {standard input}: Assembler messages: {standard input}:274: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:371: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:667: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:776: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:1010: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:1084: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:1413: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:1495: Error: unknown mnemonic `csdb' -- `csdb' {standard input}:1671: Error: unknown mnemonic `csdb' -- `csdb' make[1]: *** [mk/compile.mk:157: out/arm/ldelf/ta_elf_rel.o] Error 1
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 ...
|
| c192d8ef | 11-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-imx: psci: support Arm SMCCC_VERSION function ID
As per Arm SMCCC v1.1 specification [1], PSCI PSCI_FEATURES function ID should report Arm Architecture Call SMCCC_VERSION as supported when the
plat-imx: psci: support Arm SMCCC_VERSION function ID
As per Arm SMCCC v1.1 specification [1], PSCI PSCI_FEATURES function ID should report Arm Architecture Call SMCCC_VERSION as supported when the secure firmware supports both PSCI PSCI_FEATURES function ID and Arm SMCCC_VERSION function ID.
Link: [1] https://developer.arm.com/docs/den0028/latest Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Cedric Neveux <cedric.neveux@nxp.com>
show more ...
|
| c3682b1c | 15-May-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make core_is_buffer_*() paddr_t compatible
The core_is_buffer_*() helpers are sometimes used with physical addresses (type paddr_t). This can cause problem on platforms where sizeof(paddr_t) >
core: make core_is_buffer_*() paddr_t compatible
The core_is_buffer_*() helpers are sometimes used with physical addresses (type paddr_t). This can cause problem on platforms where sizeof(paddr_t) > sizeof(vaddr_t), that is on ARM32 systems with CFG_CORE_LARGE_PHYS_ADDR=y. The FVP platform compiled for AArch32 is one such system which as a consequence fails with: E/TC:0 0 check_phys_mem_is_outside:335 Non-sec mem (0x880000000:0x180000000) ove rlaps map (type 12 0xff000000:0x1000000) E/TC:0 0 Panic at core/arch/arm/mm/core_mmu.c:336 <check_phys_mem_is_outside>
This patch fixes this problem by taking input addresses as paddr_t and sizes as paddr_ssize_t instead. The wrapper macros which did some automatic casting removed. The requires updates at some of the places where these functions are called.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|