| c3d0b15d | 17-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: generate gicv3 register access code
Replaces the hand crafted system register code in <arm32.h> with generated code based on arm32_gicv3_sysreg.txt which is extracted from The ARM Gener
core: arm32: generate gicv3 register access code
Replaces the hand crafted system register code in <arm32.h> with generated code based on arm32_gicv3_sysreg.txt which is extracted from The ARM Generic Interrupt Controller Architecture Specification GIC architecture version 3.0 and version 4.0.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 18b58024 | 16-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: generate system register access code
Replaces the hand crafted system register code in <arm32.h> and <arm32_macros.S> with generated code based on arm32_sysreg.txt which is extracted fr
core: arm32: generate system register access code
Replaces the hand crafted system register code in <arm32.h> and <arm32_macros.S> with generated code based on arm32_sysreg.txt which is extracted from the ARM Architecture Reference Manual.
The remaining hand crafted code for cp15 accesses is not covered by the ARM Architecture Reference Manual.
A script is added to generate both assembly macros and static inline functions to access the system registers.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6cea5715 | 23-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename read_idpfr1() to read_id_pfr1()
Renames the assembly macro read_idpfr1() to read_id_pfr1() to use the real register name.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Si
core: rename read_idpfr1() to read_id_pfr1()
Renames the assembly macro read_idpfr1() to read_id_pfr1() to use the real register name.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| bbd8f31b | 17-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename to read_pmu_ccnt() to read_pmccntr()
Renames read_pmu_ccnt() to read_pmccntr() to use the real register name.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by:
core: rename to read_pmu_ccnt() to read_pmccntr()
Renames read_pmu_ccnt() to read_pmccntr() to use the real register name.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e72c941f | 14-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: sm: optimize padding in struct sm_ctx
Removes redundant padding in struct sm_ctx and sub-structs with regards to CFG_SM_NO_CYCLE_COUNTING. Saves 4 bytes per core if CFG_SM_NO_CYCLE_COUNT
core: arm: sm: optimize padding in struct sm_ctx
Removes redundant padding in struct sm_ctx and sub-structs with regards to CFG_SM_NO_CYCLE_COUNTING. Saves 4 bytes per core if CFG_SM_NO_CYCLE_COUNTING is defined.
Removes assumptions in monitor assembly code about where the padding in struct sm_ctx is located.
Adds compile time asserts are added to check that struct sm_ctx is properly aligned.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU virt) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| dd24684e | 13-Aug-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: sm: fix FIQ from normal world
When compiled with "CFG_SM_NO_CYCLE_COUNTING=y" sm_save_unbanked_regs() doesn't return with r0 pointing to ctx->nsec.r8 even if that's assumed in sm_fiq_entr
core: arm: sm: fix FIQ from normal world
When compiled with "CFG_SM_NO_CYCLE_COUNTING=y" sm_save_unbanked_regs() doesn't return with r0 pointing to ctx->nsec.r8 even if that's assumed in sm_fiq_entry(). Fixes this by calculating the pointer based on sp instead or relying on a certain value in r0.
Fixes: 8267e19bbcce ("core: arm: sm: initialize PMCR.DP to 1 and save/restore PMCR") Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a06857f9 | 10-Aug-2018 |
Vinitha V Pillai <vinitha.pillai@nxp.com> |
plat-ls:add LS2088ARDB platform flavors
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com> |
| 0ecda02b | 10-Aug-2018 |
Vinitha V Pillai <vinitha.pillai@nxp.com> |
plat-ls:add LS1088ARDB platform flavors
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Reviewed-by: Pankaj Gupta <pankaj.gupta@nxp.co
plat-ls:add LS1088ARDB platform flavors
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Reviewed-by: Pankaj Gupta <pankaj.gupta@nxp.com>
show more ...
|
| 17eba58a | 10-Aug-2018 |
Vinitha V Pillai <vinitha.pillai@nxp.com> |
plat-ls:add LS1012AFRWY platform flavors
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.c
plat-ls:add LS1012AFRWY platform flavors
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com>
show more ...
|
| 906cd457 | 07-Aug-2018 |
Vinitha V Pillai <vinitha.pillai.nxp.com> |
Updating MAINTAINERS for LS1046A-RDB, LS1043A-RDB, LS1021
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Reviewed-by: Pankaj Gupta <pankaj.gupta@nxp.com> Acked-by: Sumit Garg <sumit.garg@l
Updating MAINTAINERS for LS1046A-RDB, LS1043A-RDB, LS1021
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Reviewed-by: Pankaj Gupta <pankaj.gupta@nxp.com> Acked-by: Sumit Garg <sumit.garg@linaro.org>
show more ...
|
| 929b5671 | 06-Aug-2018 |
Vinitha V Pillai <vinitha.pillai.nxp.com> |
core:arch:arm:plat-ls: make generic layout for all platforms
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sahil Malhotra <
core:arch:arm:plat-ls: make generic layout for all platforms
Signed-off-by: Vinitha V Pillai <vinitha.pillai@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sahil Malhotra <sahil.malhotra@nxp.com>
show more ...
|
| aa1288ed | 01-Aug-2018 |
Vinitha V Pillai <vinitha.pillai.nxp.com> |
core:arch:arm:plat-ls: remove platform specific function get_core_pos_mpidr
get_core_pos_mpidr return value was being set as MPIDR_CPU_MASK which returned only the core ID, and ignored the cluster v
core:arch:arm:plat-ls: remove platform specific function get_core_pos_mpidr
get_core_pos_mpidr return value was being set as MPIDR_CPU_MASK which returned only the core ID, and ignored the cluster value. Hence all threads that were requested execution by optee_os, were getting serviced only by the cores of 1st cluster, irrespective of the number of clusters present. Hence removing the file and getting the value from generic function that returns correct core_id based on the cluster it belongs to.
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Vinitha V Pillai <vinitha.pillai@nxp.com>
show more ...
|
| e59d8fd7 | 21-Jun-2018 |
Amit Singh Tomar <amittomer25@gmail.com> |
plat-sunxi: Add Allwinner A64 support
This commit adds support for pine64[1] board based on Allwinner's A64 SoC.
1. Build command
# make PLATFORM=sunxi-sun50i_a64
2. Pass optee_example_hello_
plat-sunxi: Add Allwinner A64 support
This commit adds support for pine64[1] board based on Allwinner's A64 SoC.
1. Build command
# make PLATFORM=sunxi-sun50i_a64
2. Pass optee_example_hello_world and xtest.
[1]: https://www.pine64.org/
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Amit Singh Tomar <amittomer25@gmail.com>
show more ...
|
| 8452bf4e | 13-Aug-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Do not make in-tree TAs depend on a phony target
Commit cf903a62bc12 ("Add dependency on ta-dev-kit when building in-tree TA") introduces a dependency of the in-tree TA object files on the phony tar
Do not make in-tree TAs depend on a phony target
Commit cf903a62bc12 ("Add dependency on ta-dev-kit when building in-tree TA") introduces a dependency of the in-tree TA object files on the phony target 'ta_dev_kit'. The purpose was to make sure the dev kit files are available when make starts building the TA. Unfortunately, this introduces useless recompilation (the lines marked with >):
$ make -s && make CHK out/arm-plat-vexpress/conf.mk CHK out/arm-plat-vexpress/include/generated/conf.h CHK out/arm-plat-vexpress/conf.cmake CHK out/arm-plat-vexpress/export-ta_arm32/mk/conf.mk > CC out/arm-plat-vexpress/ta/avb/entry.o > CC out/arm-plat-vexpress/ta/avb/user_ta_header.o > CPP out/arm-plat-vexpress/ta/avb/ta.lds > LD out/arm-plat-vexpress/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.elf > OBJDUMP out/arm-plat-vexpress/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.dmp > OBJCOPY out/arm-plat-vexpress/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.stripped.elf > SIGN out/arm-plat-vexpress/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.ta
This happens because phony targets are always considered new by the make program, so they'd rather not be used as dependencies. Instead, replace 'ta-dev-kit' by the actual list of all the files in the TA dev kit. Then, the second make invocation will not rebuild anything:
$ make -s && make CHK out/arm-plat-vexpress/conf.mk CHK out/arm-plat-vexpress/include/generated/conf.h CHK out/arm-plat-vexpress/conf.cmake CHK out/arm-plat-vexpress/export-ta_arm32/mk/conf.mk
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 066be2bc | 11-Aug-2018 |
Peng Fan <peng.fan@nxp.com> |
sm: pm_a32: typo fix
typo fix: do->pm
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| cf903a62 | 10-Aug-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add dependency on ta-dev-kit when building in-tree TA
Fixes the following errors which may reportedly be triggered by plain "make" too [1]:
$ make -s clean && make -s out/arm-plat-vexpress/ta/avb/
Add dependency on ta-dev-kit when building in-tree TA
Fixes the following errors which may reportedly be triggered by plain "make" too [1]:
$ make -s clean && make -s out/arm-plat-vexpress/ta/avb/entry.o cc1: warning: out/arm-plat-vexpress/export-ta_arm32/include: No such file or directory [-Wmissing-include-dirs] ta/avb/entry.c:5:30: fatal error: tee_internal_api.h: No such file or directory compilation terminated. mk/compile.mk:146: recipe for target 'out/arm-plat-vexpress/ta/avb/entry.o' failed make: *** [out/arm-plat-vexpress/ta/avb/entry.o] Error 1
$ make -s clean && make -s out/arm-plat-vexpress/ta/avb/user_ta_header.o cc1: warning: out/arm-plat-vexpress/export-ta_arm32/include: No such file or directory [-Wmissing-include-dirs] out/arm-plat-vexpress/export-ta_arm32/src/user_ta_header.c:5:22: fatal error: compiler.h: No such file or directory compilation terminated. mk/compile.mk:154: recipe for target 'out/arm-plat-vexpress/ta/avb/user_ta_header.o' failed make: *** [out/arm-plat-vexpress/ta/avb/user_ta_header.o] Error 1
Link: [1] https://github.com/OP-TEE/build/issues/285 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3798db34 | 08-Aug-2018 |
Silvano di Ninno <silvano.dininno@nxp.com> |
core: tee: crypt_utl: remove one crypto_init
Crypto_init is called twice in tee_cryp_init.
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@
core: tee: crypt_utl: remove one crypto_init
Crypto_init is called twice in tee_cryp_init.
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7247a01e | 21-Jun-2018 |
Yongqin Liu <yongqin.liu@linaro.org> |
mk/aosp_optee.mk: move ta files to vendor partition
to make it work with Treble enabled builds
Acked-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org> |
| cfa34ec6 | 03-Aug-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
abort.c: manipulate with VFP state only if thread is active
abort_handler() can be called both within and without thread context. In the latter case it stops on assert(thread_get_exceptions() & THRE
abort.c: manipulate with VFP state only if thread is active
abort_handler() can be called both within and without thread context. In the latter case it stops on assert(thread_get_exceptions() & THREAD_EXCP_FOREIGN_INTR) in thread_kernel_save_vfp() and no information about abort is displayed.
This assert fires during some initialization stages and during fast SMCs, because they are handled with foreign interrupts disabled.
To fix this, we should call thread_kernel_{save,restore}_vfp() only when foreign interrupts are enabled.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 8d028a17 | 03-Aug-2018 |
Silvano di Ninno <silvano.dininno@nxp.com> |
core: arm: ree_fs: fix free hash_ctx
Properly free hash_ctx by calling crypto_hash_free_ctx instead of the generic free function.
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-
core: arm: ree_fs: fix free hash_ctx
Properly free hash_ctx by calling crypto_hash_free_ctx instead of the generic free function.
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| fefbee97 | 03-Aug-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Replace 'echo' commands with '$(cmd-echo-silent)'
Since commit b29b419506fa ("ta: add AVB TA"), "make -s" is not totally silent anymore. The following line is always printed:
SIGN out/ta/avb/0
Replace 'echo' commands with '$(cmd-echo-silent)'
Since commit b29b419506fa ("ta: add AVB TA"), "make -s" is not totally silent anymore. The following line is always printed:
SIGN out/ta/avb/023f8f1a-292a-432b-8fc4-de8471358067.ta
The AVB commit just revealed a simple mistake in the TA makefile. Fix it.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| ca7065cb | 03-Aug-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
In-tree TAs: prevent double slash in object paths
When processing the source files for an in-tree user TA (ta/*/user_ta.mk), make sure not to insert a double slash in the object file path.
Fixes th
In-tree TAs: prevent double slash in object paths
When processing the source files for an in-tree user TA (ta/*/user_ta.mk), make sure not to insert a double slash in the object file path.
Fixes the following error:
$ make -s $ make clean CLEAN out/arm-plat-vexpress rmdir: failed to remove 'out/arm-plat-vexpress/ta/avb': No such file or directory Makefile:98: recipe for target 'clean' failed make: *** [clean] Error 1
The error results from the fact that we have two kinds of object files in the in-tree TAs: - The object files built from ta/*/user_ta.mk. For AVB, we have out/arm-plat-vexpress/ta/avb//entry.o (notice the repeated slash). - The object files that correspond to "specified source files", i.e., constructed from $(spec-out-dir) and $(spec-srcs). For AVB we have out/arm-plat-vexpress/ta/avb/user_ta_header.o. When "make clean" creates the list of directories to be removed, it strips the /filename part and keeps only the directory part, resulting in:
rmdir ... out/arm-plat-vexpress/ta/avb/ out/arm-plat-vexpress/ta/avb
Trying to remove the same directory twice: "No such file or directory".
Fixes: https://github.com/OP-TEE/optee_os/issues/2484 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| a01f09e4 | 25-Jul-2018 |
Peng Fan <peng.fan@nxp.com> |
shippable: remove uneccessary macros for mx6ul/ullevk
The macros are already defined in conf.mk, no need add them in shippable.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jerome Foriss
shippable: remove uneccessary macros for mx6ul/ullevk
The macros are already defined in conf.mk, no need add them in shippable.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9478b208 | 25-Jul-2018 |
Peng Fan <peng.fan@nxp.com> |
imx: update README.md/MAINTAINERS
Update README.md to mark mx6qsabresd/sabrelite as actively maintained. I tested with latest optee os/client/xtest, works well.
Simplify the MAINTAINERS entry for i
imx: update README.md/MAINTAINERS
Update README.md to mark mx6qsabresd/sabrelite as actively maintained. I tested with latest optee os/client/xtest, works well.
Simplify the MAINTAINERS entry for i.MX with using i.MX family entry.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a53b813e | 25-Jul-2018 |
Peng Fan <peng.fan@nxp.com> |
imx: cleanup configuration
Cleanup configuration to make it easy to add new platforms. Make most configurations be common to CFG_MX6/7. Normally only need to define CFG_DDR_SIZE and CFG_NS_ENTRY_ADD
imx: cleanup configuration
Cleanup configuration to make it easy to add new platforms. Make most configurations be common to CFG_MX6/7. Normally only need to define CFG_DDR_SIZE and CFG_NS_ENTRY_ADDR to support new platforms.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|