| 2bb485c3 | 14-Aug-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
kernel/link.mk: fix missing build number in version string on first build
Fix an issue with the build number in the version string. While at it, factor out the duplicated code into mk/macros.mk.
Be
kernel/link.mk: fix missing build number in version string on first build
Fix an issue with the build number in the version string. While at it, factor out the duplicated code into mk/macros.mk.
Before:
$ rm -rf out/ $ make out/arm-plat-vexpress/core/version.o UPD out/arm-plat-vexpress/core/.buildcount GEN out/arm-plat-vexpress/core/version.o cat: out/arm-plat-vexpress/core/.buildcount: No such file or directory
In addition to the error message, note the missing build number after the hash sign:
$ strings out/arm-plat-vexpress/core/version.o | grep UTC 4.3.0-48-g9c97e7d52 (gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)) # Wed Aug 14 16:17:07 UTC 2024 arm
After:
$ rm -rf out/ $ make out/arm-plat-vexpress/core/version.o UPD out/arm-plat-vexpress/core/.buildcount GEN out/arm-plat-vexpress/core/version.o $ strings out/arm-plat-vexpress/core/version.o | grep UTC 4.3.0-48-g9c97e7d52-dev (gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)) #1 Wed Aug 14 16:17:24 UTC 2024 arm
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f0bb1a5a | 14-Aug-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/compile.mk: separate rule to produce preprocessed dts files
When compiling a .dts into a .dtb, there is a pre-preprocessing phase where the C preprocessor is run on the .dts to produce a .pre.dts
mk/compile.mk: separate rule to produce preprocessed dts files
When compiling a .dts into a .dtb, there is a pre-preprocessing phase where the C preprocessor is run on the .dts to produce a .pre.dts, then the device tree compiler is called to generate the .dtb. The two phases are currently bundled into a single makefile recipe, which is not ideal.
Extract the preprocessing commands into a separate recipe to address this concern. This allows to do for example:
make PLATFORM=stm32mp1-157A_DK1 \ out/arm-plat-stm32mp1/core/arch/arm/dts/stm32mp157a-dk1.pre.dts
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3597beef | 14-Aug-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/compile.mk: remove duplicate dtc flags
When a .dts is compiled into a .dtb, the flags: '-I dts -O dtb -Wno-unit_address_vs_reg' are present several times on the command line. It is visible when b
mk/compile.mk: remove duplicate dtc flags
When a .dts is compiled into a .dtb, the flags: '-I dts -O dtb -Wno-unit_address_vs_reg' are present several times on the command line. It is visible when building with "make ... V=1".
Fix this by not appending to DTC_FLAGS but instead use DTC_FLAGS as is from the environment and add the specific flags once to the compile command.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7f1e2acc | 14-Aug-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/compile.mk: print dtc command when V=1
The command that compiles a device tree source file (.dts) into a binary (.dtb) should be displayed when verbose mode is enabled (V=1), but it is not the ca
mk/compile.mk: print dtc command when V=1
The command that compiles a device tree source file (.dts) into a binary (.dtb) should be displayed when verbose mode is enabled (V=1), but it is not the case. Fix that by replacing the @ with $(q).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6f105faf | 01-Aug-2024 |
Mikko Rapeli <mikko.rapeli@linaro.org> |
compile.mk: use CFLAGS from environment
Users can set CFLAGS just like AFLAGS, CC, LD etc and expect them to be used. It's ok to amend to them but overwriting should not be done. Build environment l
compile.mk: use CFLAGS from environment
Users can set CFLAGS just like AFLAGS, CC, LD etc and expect them to be used. It's ok to amend to them but overwriting should not be done. Build environment like yocto expect that these variables are used to call the compiler etc tools. Linux distro build environments usually set these variables.
Helps to remove build time paths from generated binaries since mappings to remove them can be set by the distro build system in CFLAGS automatically for each SW component in the build.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
show more ...
|
| 29b84ae5 | 18-Jul-2024 |
Mikko Rapeli <mikko.rapeli@linaro.org> |
mk/compile.mk: remove absolute build time paths
Some generated files get a __FILE_ID__ which include absolute build time paths. Remove the paths and use plain file name. Fixes yocto QA check.
Probl
mk/compile.mk: remove absolute build time paths
Some generated files get a __FILE_ID__ which include absolute build time paths. Remove the paths and use plain file name. Fixes yocto QA check.
Problem/bug:
$ strings ../image/lib/firmware/tee.elf | grep mikko __FILE_ID__ _home_mikko_build_core_ta_pub_key_c __FILE_ID__ _home_mikko_build_core_ldelf_hex_c __FILE_ID__ _home_mikko_build_core_early_ta_fd02c9da_306c_48c7_a49c_bbd827ae86ee_c
With this patch:
$ strings ../image/lib/firmware/tee.elf | grep mikko $ strings ../image/lib/firmware/tee.elf | grep FILE_ID | egrep \ "core_ta_pub_key_c|core_ldelf_hex_c|core_early_ta_fd02c9da_306c_4" __FILE_ID__ core_ta_pub_key_c __FILE_ID__ core_ldelf_hex_c __FILE_ID__ core_early_ta_fd02c9da_306c_48c7_a49c_bbd827ae86ee_c
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
show more ...
|
| 1c0d52ac | 20-Jun-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
Update CHANGELOG for 4.3.0
Update CHANGELOG for 4.3.0 and collect Tested-by tags.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi 3B v
Update CHANGELOG for 4.3.0
Update CHANGELOG for 4.3.0 and collect Tested-by tags.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi 3B v1.2) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt) Tested-by: Igor Opaniuk <igor.opaniuk@gmail.com> (Poplar) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6dlsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6qsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6sllevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6ulevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6ulzevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx7dsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx7ulpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8dxlevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mmevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mnevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mqevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8qmmek) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8qxpmek) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8ulpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx93evk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (LS1046A-RDB) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (LX2160A-RDB) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (rockchip-rk3399, Rockpi4B) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (imx-mx8mqevk) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Tested-by: Imre Kis <imre.kis@arm.com> (fvp-ts) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_EV1) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_EV1_SCMI) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_DK2_SCMI) Tested-by: Gatien Chevallier <gatien.chevallier@foss.st.com> (stm32mp1-157C_DK2) Tested-by: Gatien Chevallier <gatien.chevallier@foss.st.com> (stm32mp1-135F_DK)
show more ...
|
| f15052a2 | 21-Jun-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: mm: add CFG_PGT_CACHE_ENTRIES
Add CFG_PGT_CACHE_ENTRIES to allow platforms to customize the page table cache size. This is needed for example when a platform is to support very large TAs of se
core: mm: add CFG_PGT_CACHE_ENTRIES
Add CFG_PGT_CACHE_ENTRIES to allow platforms to customize the page table cache size. This is needed for example when a platform is to support very large TAs of several dozen of Mbytes of private memory (code/data).
Move PGT_CACHE_SIZE macro definition from pgt_cache.h to pgt_cache.c since it is used only in that source file.
By the way, fix pgt_cache.h layout to have header files includes first followed by macro definitions.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c8a2a652 | 06-Jun-2024 |
Rasmus Villemoes <rasmus.villemoes@prevas.dk> |
checkconf.mk: do not use full path to generate guard symbol in conf.h
The combination of building with -g3 (which emits definitions of all defined preprocessor macros to the debug info) and using a
checkconf.mk: do not use full path to generate guard symbol in conf.h
The combination of building with -g3 (which emits definitions of all defined preprocessor macros to the debug info) and using a full path to define the name of this preprocessor guard means that the output is not binary reproducible across different build hosts. For example, in my Yocto build, the string
__home_ravi_yocto_tmp_glibc_work_stm32mp135fdk_oe_linux_gnueabi_optee_os_stm32mp_3_19_0_stm32mp_r1_1_build_stm32mp135f_dk_include_generated_conf_h_
appears in several build artifacts. Another developer or buildbot would not build in some /home/ravi/... directory.
In order to increase binary reproducibility, only use the path sans the $(out-dir)/ prefix of the conf.h file.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
show more ...
|
| d4a87690 | 17-May-2024 |
Sungbae Yoo <sungbaey@nvidia.com> |
drivers: Add FFA_CONSOLE based console driver for log
This console driver uses FFA_CONSOLE ABI to write the trace logs.
If CFG_FFA_CONSOLE is enabled, OP-TEE will try to initialize the console driv
drivers: Add FFA_CONSOLE based console driver for log
This console driver uses FFA_CONSOLE ABI to write the trace logs.
If CFG_FFA_CONSOLE is enabled, OP-TEE will try to initialize the console driver that uses FFA interface to print trace logs.
Signed-off-by: Sungbae Yoo <sungbaey@nvidia.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 68ac62ef | 03-Apr-2024 |
Sami Tolvanen <samitolvanen@google.com> |
core: add CFG_RSA_PUB_EXPONENT_3
When generating RSA key pairs, OP-TEE currently enforces a minimum public exponent size of 65537 per NIST SP800-56B recommendations. However, AOSP KeyMint VTS (Encry
core: add CFG_RSA_PUB_EXPONENT_3
When generating RSA key pairs, OP-TEE currently enforces a minimum public exponent size of 65537 per NIST SP800-56B recommendations. However, AOSP KeyMint VTS (EncryptionOperationsTest.RsaNoPaddingSuccess [1]) requires implementations to support public exponent 3 for backwards compatibility. Add CFG_RSA_PUB_EXPONENT_3 to allow public exponents >= 3.
Link: https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/main/security/keymint/aidl/vts/functional/KeyMintTest.cpp#5258 [1] Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 835688ac | 11-Apr-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: make sure tee_entry_get_os_revision() uses a proper TEE_IMPL_GIT_SHA1
tee_entry_get_os_revision() stores TEE_IMPL_GIT_SHA1 into a 32 or 64-bit register, depending on the platform. Unfortunatel
core: make sure tee_entry_get_os_revision() uses a proper TEE_IMPL_GIT_SHA1
tee_entry_get_os_revision() stores TEE_IMPL_GIT_SHA1 into a 32 or 64-bit register, depending on the platform. Unfortunately the command that creates TEE_IMPL_GIT_SHA1 does not provide any guarantee that the value will fit. For instance it can happen that 8 characters are not enough to disambiguate two commits in the repository, in which case git rev-parse --short=8 will happily return 9 or more characters. In this case a 32-bit build would display a warning and TEE_IMPL_GIT_SHA1 would be truncated in a way we don't want (discarding the most significant bits).
Therefore, make sure TEE_IMPL_GIT_SHA1 is exactly 8 or 16 hexadecimal characters (plus the leading 0x).
The OPTEE_FFA_GET_OS_VERSION operation in handle_blocking_call() has to be modified since the output is a 32-bit register, and SPMC being a 64-bit TEE core, TEE_IMPL_GIT_SHA1 is a 64-bit value too.
CI needs updating to avoid the following error:
fatal: detected dubious ownership in repository at '/__w/optee_os/optee_os'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Closes: https://github.com/OP-TEE/optee_os/issues/6783 Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 12d7c4ee | 25-Mar-2024 |
Joakim Bech <joakim.bech@linaro.org> |
Update CHANGELOG for 4.2.0
Update CHANGELOG for 4.2.0 and collect Tested-by tags.
Signed-off-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm
Update CHANGELOG for 4.2.0
Update CHANGELOG for 4.2.0 and collect Tested-by tags.
Signed-off-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-135F_DK w/ pkcs11) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_DK2_SCMI w/ pkcs11) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_EV1 w/ RPMB) Tested-by: Imre Kis <imre.kis@arm.com> (fvp-ts) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (imx-mx8mqevk) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (Rockpi4B) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt) Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi 3B v1.2) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6dlsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6qsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6sllevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6ulevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx6ulzevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx7dsabresd) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx7ulpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8dxlevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mmevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mnevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8mqevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8qmmek) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8qxpmek) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx8ulpevk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (imx-mx93evk) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (LS1012A-RDB) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (LS1046A-RDB) Tested-by: Sahil Malhotra <sahil.malhotra@nxp.com> (LX2160A-RDB)
show more ...
|
| 3844bc98 | 14-Mar-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: introduce CFG_NOTIF_TEST_WD
Add CFG_NOTIF_TEST_WD to control if the notification based test watchdog should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by:
core: introduce CFG_NOTIF_TEST_WD
Add CFG_NOTIF_TEST_WD to control if the notification based test watchdog should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 82631bd4 | 13-Mar-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add CFG_CALLOUT
Add CFG_CALLOUT with a default value assigned from CFG_CORE_ASYNC_NOTIF to control if the callout service should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: add CFG_CALLOUT
Add CFG_CALLOUT with a default value assigned from CFG_CORE_ASYNC_NOTIF to control if the callout service should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 458ef442 | 21-Feb-2024 |
Alvin Chang <alvinga@andestech.com> |
drivers: Implement semihosting based console driver for log
Implement a simple console driver which uses semihosting operations to read/write the trace messages. There are two paths to output the tr
drivers: Implement semihosting based console driver for log
Implement a simple console driver which uses semihosting operations to read/write the trace messages. There are two paths to output the trace messages: - If the caller of semihosting_console_init() provides the path of the file, the driver will try to open that file, and output the log to that host side file. - If the caller of semihosting_console_init() does not provide the path of the file, the driver will connect the console to the host debug console directly.
If CFG_SEMIHOSTING_CONSOLE is enabled, OP-TEE will try to initialize the semihosting console driver by given CFG_SEMIHOSTING_CONSOLE_FILE.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7e2a1038 | 21-Feb-2024 |
Alvin Chang <alvinga@andestech.com> |
core: kernel: Add semihosting functions
Semihosting is a mechanism that enables target to communicate and use I/O facilities on a host computer which is running a debugger, such as GDB. The I/O faci
core: kernel: Add semihosting functions
Semihosting is a mechanism that enables target to communicate and use I/O facilities on a host computer which is running a debugger, such as GDB. The I/O facilities include character {read|write} {from|to} the semihosting host side console or a file. In other words, OP-TEE OS can output log to the host side console or the host side file, if there is a semihosting host and OP-TEE OS requests the semihosting operations to that host.
If CFG_SEMIHOSTING is enabled, some semihosting functions will be compiled into OP-TEE kernel, including: - semihosting_sys_readc() - semihosting_sys_writec() - semihosting_open() - semihosting_read() - semihosting_write() - semihosting_close()
Note that the architectures which support semihosting should provide their implementation of __do_semihosting(), which performs semihosting instruction to raise the semihosting request.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2825530b | 22-Feb-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/lib.mk: add library to link line only when it does contain objects
This commit addresses a build issue when the output directory is not cleaned from a previous build. Here is a test case:
# Sta
mk/lib.mk: add library to link line only when it does contain objects
This commit addresses a build issue when the output directory is not cleaned from a previous build. Here is a test case:
# Start from a clean state $ rm -rf ./out # (1) Build for Arm, with unwinding enabled $ make -s -j$(nproc) ARCH=arm PLATFORM=vexpress-qemu_armv8a O=out CFG_UNWIND=y && echo OK OK # (2) Build for RISC-V, with unwinding enabled too $ make -s -j$(nproc) ARCH=riscv PLATFORM=virt O=out CFG_UNWIND=y && echo OK OK # (3) Build for Arm again but with unwinding disabled $ make -s -j$(nproc) ARCH=arm PLATFORM=vexpress-qemu_armv8a O=out CFG_UNWIND=n aarch64-linux-gnu-ld.bfd: skipping incompatible out/ldelf-lib/libunw/libunw.a when searching for -lunw aarch64-linux-gnu-ld.bfd: cannot find -lunw: No such file or directory make: *** [ldelf/link.mk:60: out/ldelf/ldelf.elf] Error 1 make: *** Waiting for unfinished jobs....
In step (3), the libunw.a file leftover from step (2) causes a problem because it is not generated again for the current ARCH (due to CFG_UNWIND=n, so there is effectively nothing to build). Yet it is unconditionally added to the link line by mk/lib.mk although CFG_UNWIND=n. Therefore change the logic in mk/lib.mk to deal with that.
Step (2) causes no error because due to CFG_UNWIND=y and due to dependencies (different source files, different cross compiler), the archive file is re-created.
Note that it is not OK to simply guard the inclusion of mk/lib.mk with CFG_UNWIND in core/core.mk and ldelf/ldelf.mk because we still want the library headers to be accessible (no conditionals on #include <...>).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 31bcbe52 | 22-Feb-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
riscv: set default cross-compilers
Similar to what is done when ARCH=arm, set the default CROSS_COMPILE/ CROSS_COMPILE32/CROSS_COMPILE64 values to something sensible when ARCH=riscv. This simplifies
riscv: set default cross-compilers
Similar to what is done when ARCH=arm, set the default CROSS_COMPILE/ CROSS_COMPILE32/CROSS_COMPILE64 values to something sensible when ARCH=riscv. This simplifies build command lines.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f8388fdc | 19-Sep-2023 |
Clement Faure <clement.faure@nxp.com> |
core: move CFG_CORE_BIGNUM_MAX_BITS default definition
Move CFG_CORE_BIGNUM_MAX_BITS definition to mk/crypto.mk to allow crypto drivers to override the default value.
Signed-off-by: Clement Faure <
core: move CFG_CORE_BIGNUM_MAX_BITS default definition
Move CFG_CORE_BIGNUM_MAX_BITS definition to mk/crypto.mk to allow crypto drivers to override the default value.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ad194957 | 13-Oct-2023 |
Yi Chou <yich@google.com> |
core: pta: widevine: Add the init implementation
On the new ChromeOS mediatek platform, we will use the device tree to pass hardware unique key and the parameters for widevine TAs.
Signed-off-by: Y
core: pta: widevine: Add the init implementation
On the new ChromeOS mediatek platform, we will use the device tree to pass hardware unique key and the parameters for widevine TAs.
Signed-off-by: Yi Chou <yich@google.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 18b424c2 | 19-Jan-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
Update CHANGELOG for 4.1.0
Update CHANGELOG for 4.1.0 and collect Tested-by tags.
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (Rockpi4B) Tested-by: Jerome Forissier
Update CHANGELOG for 4.1.0
Update CHANGELOG for 4.1.0 and collect Tested-by tags.
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (Rockpi4B) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_virt) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a) Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi 3B v1.2) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (imx-mx8mqevk) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey + GP) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Tested-by: Igor Opaniuk <igor.opaniuk@foundries.io> (Poplar) Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io> (versal) Tested-by: Sumit Garg <sumit.garg@linaro.org> (vexpress-qemu_armv8a) (Rust 64-bit TAs) Tested-by: Sumit Garg <sumit.garg@linaro.org> (vexpress-qemu_armv8a) (Rust 32-bit TAs) Tested-by: Ricardo Salveti <ricardo@foundries.io> (ZynqMP) Tested-by: Ricardo Salveti <ricardo@foundries.io> (k3-am62x) Tested-by: Ricardo Salveti <ricardo@foundries.io> (k3-am64x) Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (rcar-salvator_m3_2x4g / virt) Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (rcar-salvator_m3_2x4g) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6dlsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6qsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6sllevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6sxsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ullevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx6ulzevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7dsabresd) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx7ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mmevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mnevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mqevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8mpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qmmek) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8qxpmek) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx8ulpevk) Tested-by: Clement Faure <clement.faure@nxp.com> (imx-mx93evk) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-135F_DK) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_DK2_SCMI) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_EV1_SCMI) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_DK2) Tested-by: Etienne Carriere <etienne.carriere@foss.st.com> (stm32mp1-157C_EV1) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 515c1ba9 | 22-Mar-2023 |
Clément Léger <clement.leger@bootlin.com> |
drivers: nvmem: add API for nvmem controllers
Add a nvmem API to access nvmem cells using device-tree description. This API allows to register nvmeme provider and obtain nvmem cells for consumer. Mu
drivers: nvmem: add API for nvmem controllers
Add a nvmem API to access nvmem cells using device-tree description. This API allows to register nvmeme provider and obtain nvmem cells for consumer. Much like other subsystem, this one relies on the generic dt_driver mechanism.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f6c57ea4 | 06-Jul-2022 |
Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> |
pta: stm32mp: add new remoteproc PTA
Add remoteproc PTA for the stm32mp1 platform. The PTA relies on the stm32_remoteproc driver for the remoteproc management. It is charge of providing interface fo
pta: stm32mp: add new remoteproc PTA
Add remoteproc PTA for the stm32mp1 platform. The PTA relies on the stm32_remoteproc driver for the remoteproc management. It is charge of providing interface for authenticating firmware images and managing the remote processor live cycle.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 5a2d2237 | 07-Sep-2023 |
Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> |
drivers: Add stm32mp1 remoteproc driver
This driver is responsible for configuring the registers and memories of the remote processor. - It stores information about memories assigned to the remote p
drivers: Add stm32mp1 remoteproc driver
This driver is responsible for configuring the registers and memories of the remote processor. - It stores information about memories assigned to the remote processor based on the device tree. - It ensures consistency between the registered memory and the addresses of the firmware segments to be loaded. - Additionally, it is responsible for starting and stopping the remote processor core.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|