| 628a9a10 | 07-Mar-2018 |
Tetsuya Yoshizaki <yoshizaki.tetsuya@socionext.com> |
ltc: ctr: improve performance
When accel_ctr_encrypt() is not used, accel_ecb_encrypt() is used via ecb_encrypt() instead. The accel_ecb_encrypt() is frequently called at every single block process.
ltc: ctr: improve performance
When accel_ctr_encrypt() is not used, accel_ecb_encrypt() is used via ecb_encrypt() instead. The accel_ecb_encrypt() is frequently called at every single block process. VFP assembly code called from the accel_ecb_encrypt() is protected by tomcrypt_arm_neon_enable()/disable(). FIQ enable/disable and VFP register save/restore (64bitx32 registers!) to/from memory are done in the tomcrypt_arm_neon_enable()/disable(). These overhead exist in each single block process cause the degradation of system performance eventually. Cases where h/w accelerated AES-CTR did not show any effects or showed less performance than pure software processing have been observed.
This patch resolves the issue by increasing utilization rate of accel_ctr_encrypt().
Signed-off-by: Tetsuya Yoshizaki <yoshizaki.tetsuya@socionext.com> Signed-off-by: Victor Chong <victor.chong@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b4cd324d | 16-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
README.md: Mediatek MT8173 EVB is not maintained anymore
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> |
| ea9569e3 | 15-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
MAINTAINERS: mark Mediatek MT8173 EVB as Orphan
Mediatek MT8173 EVB is not used on a regular basis for OP-TEE by anyone we know, so mark is as Orphan. I'm not getting rid of the platform code becaus
MAINTAINERS: mark Mediatek MT8173 EVB as Orphan
Mediatek MT8173 EVB is not used on a regular basis for OP-TEE by anyone we know, so mark is as Orphan. I'm not getting rid of the platform code because is is small and quite trivial, so there is not much to be gained by removing it.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 7d339d55 | 14-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
ci: .travis.yml: track latest manifest again
Now that build files support GCC 4.9 [1] and "make check" supports the buildroot environment [2], revert commit 793884e19284 ("ci: .travis.yml: clone sta
ci: .travis.yml: track latest manifest again
Now that build files support GCC 4.9 [1] and "make check" supports the buildroot environment [2], revert commit 793884e19284 ("ci: .travis.yml: clone stable version (3.0.0)") and set COMPILE_LEGACY=y to instruct the build system to download and use the legacy compiler (gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf).
[1] commit 92582b57dd45 ("Support legacy compiler") https://github.com/OP-TEE/build/commit/92582b57dd45 [2] commit 4763adc5b75a ("qemu-check.exp: fix expected prompts") https://github.com/OP-TEE/build/commit/4763adc5b75a
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3f524498 | 01-Mar-2018 |
Peng Fan <peng.fan@nxp.com> |
core: imx: a7_plat_init: implement get_core_pos_mpidr
Implement get_core_pos_mpidr for A7. According the DIT0017f_Cortex-A7_Integration_Manual_r0p5, If the system contains only a single multiprocess
core: imx: a7_plat_init: implement get_core_pos_mpidr
Implement get_core_pos_mpidr for A7. According the DIT0017f_Cortex-A7_Integration_Manual_r0p5, If the system contains only a single multiprocessor device, tie all the CLUSTERID[3:0] to HIGH. To i.MX family which use A7 core, there is no one contains more that 4 cores. on i.MX7ULP, there is only one core. So implement get_core_pos_mpidr to avoid get wrong cpu id.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e24b3d39 | 12-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-imx: pm: generate struct imx7_pm_info offsets automatically
Remove hardcoded defines PM_INFO_MX7_* and generate them at build time instead.
Signed-off-by: Jerome Forissier <jerome.forissier@li
plat-imx: pm: generate struct imx7_pm_info offsets automatically
Remove hardcoded defines PM_INFO_MX7_* and generate them at build time instead.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-and-Tested-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 070168e2 | 12-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
build: introduce asm-defines-y
The Makefile rules that are used to generate a C header file containing constants for struct offsets etc. are currently in mk/compile.mk. They are used by core.mk whic
build: introduce asm-defines-y
The Makefile rules that are used to generate a C header file containing constants for struct offsets etc. are currently in mk/compile.mk. They are used by core.mk which sets a variable (asm-defines-file) before it includes compile.mk. This works well for this purpose, but does not scale to several files.
There is a use case for platform code to be able to use the asm-defines mechanism, too. Therefore, introduce a variable that can be used in any sub.mk: asm-defines-y.
In addition, to avoid duplication, the DEFINE and DEFINES macros are moved to their own header (core/include/gen-asm-defines.h), with the added benefit that it can be explicitly excluded from the checkpatch list and thus not generate any warning on the 'DEFINE' macro needing parentheses.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 89fe7c3c | 12-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
build: include <generated/asm-defines.h> instead of <asm-defines.h>
Make it clear that asm-defines.h is not to be found in the sources since it is generated.
Signed-off-by: Jerome Forissier <jerome
build: include <generated/asm-defines.h> instead of <asm-defines.h>
Make it clear that asm-defines.h is not to be found in the sources since it is generated.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 793884e1 | 13-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
ci: .travis.yml: clone stable version (3.0.0)
Due to recent changes in manifest.git and build.git for buildroot support, it is not possible to build with GCC4.9 anymore. One has to use the toolchai
ci: .travis.yml: clone stable version (3.0.0)
Due to recent changes in manifest.git and build.git for buildroot support, it is not possible to build with GCC4.9 anymore. One has to use the toolchain installed by "make toolchains".
Since we want to keep GCC4.9 for now [1], let's revert to an older, stable version of the source tree, except for the optee_* projects which we keep at the tip of their master branch.
[1] Commit 148ea708383e ("ci: .travis.yml: use GCC 4.9")
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 42dd7a20 | 13-Feb-2018 |
fangsuowu <fangsuowu@asrmicro.com> |
core: mmu: set reserved vaspace size configurable
Signed-off-by: Fangsuo Wu <fangsuowu@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.ca
core: mmu: set reserved vaspace size configurable
Signed-off-by: Fangsuo Wu <fangsuowu@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| e81475af | 12-Feb-2018 |
fangsuowu <fangsuowu@asrmicro.com> |
core: mmu: check virtual memory size in memory mapping
Current RES_VASPACE_SIZE is defined as (CORE_MMU_PGDIR_SIZE * 10). When requests virtual memory size larger than RES_VASPACE_SIZE, there's no s
core: mmu: check virtual memory size in memory mapping
Current RES_VASPACE_SIZE is defined as (CORE_MMU_PGDIR_SIZE * 10). When requests virtual memory size larger than RES_VASPACE_SIZE, there's no size check in core_mmu_add_mapping and the physic memory out of RES_VASPACE_SIZE is mapped incorrectly.
For example, suppose CORE_MMU_PGDIR_SIZE = 1 << 21, i.e. RES_VASPACE_ SIZE = 20M bytes. When mmap table initilized, dump_mmap_table shows:
E/TC:00 dump_mmap_table:704 type RES_VASPACE va 0x112600000..0x1139fffff pa 0x00000000..0x013fffff size 0x01400000 (pgdir) E/TC:00 dump_mmap_table:704 type TA_RAM va 0x113a00000..0x1153fffff pa 0x100600000..0x101ffffff size 0x01a00000 (pgdir) ... E/TC:00 dump_mmap_table:704 type IO_SEC va 0x117400000..0x117dfffff pa 0xc0000000..0xc09fffff size 0x00a00000 (pgdir)
after core_mmu_add_mapping(MEM_AREA_NSEC_SHM, paddr, 0x1a00000) executed:
E/TC:00 dump_mmap_table:704 type RES_VASPACE va 0x114000000..0x1139fffff pa 0x00000000..0xffffffffff9fffff size 0xffffffffffa00000 (pgdir) E/TC:00 dump_mmap_table:704 type TA_RAM va 0x113a00000..0x1153fffff pa 0x100600000..0x101ffffff size 0x01a00000 (pgdir) ... E/TC:00 dump_mmap_table:704 type IO_SEC va 0x117400000..0x117dfffff pa 0xc0000000..0xc09fffff size 0x00a00000 (pgdir) E/TC:00 dump_mmap_table:704 type NSEC_SHM va 0x112600000..0x113ffffff pa 0x102000000..0x1039fffff size 0x01a00000 (pgdir)
There are 2 mistakes in the lattest dumped mmu table: 1. For type RES_VASPACE, the base address 0x114000000 is even smaller than its end address 0x1139fffff; 2. For type TA_RAM and NSEC_SHM, the virtual memory range 0x113a00000 ..0x113ffffff both exists, but the physics memory are different and virt_to_phys(0x113a00000) always returns 0x100600000.
With this patch, if requested virtual memory size overflows, core_mmu _add_mapping returns false directly.
Signed-off-by: Fangsuo Wu <fangsuowu@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9ca3cfe1 | 13-Mar-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
MAINTAINERS: Add MAINTAINERS entry for NXP WaARP7
This commit adds two maintainers for this board.
- Peng Fan who has done most of the i.MX7 work. - Bryan O'Donoghue (me) very happily reusing all o
MAINTAINERS: Add MAINTAINERS entry for NXP WaARP7
This commit adds two maintainers for this board.
- Peng Fan who has done most of the i.MX7 work. - Bryan O'Donoghue (me) very happily reusing all of Peng's work for WaRP7.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
show more ...
|
| 56fbf082 | 08-Aug-2017 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
doc: add NXP WaARP7 to supported platforms
This patch adds the WaRP7 board to the list of supported boads in README.md.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Pen
doc: add NXP WaARP7 to supported platforms
This patch adds the WaRP7 board to the list of supported boads in README.md.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| 1887f582 | 14-Aug-2017 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
arm: imx: add iMX7S WaARP7 board definition
This patch adds a simple option to select a WaARP7 board build. Existing code upstream does most of the work here.
Make this board port with:
make PLATF
arm: imx: add iMX7S WaARP7 board definition
This patch adds a simple option to select a WaARP7 board build. Existing code upstream does most of the work here.
Make this board port with:
make PLATFORM=imx PLATFORM_FLAVOR=mx7swarp7 ARCH=arm CFG_PAGEABLE_ADDR=0 CFG_DT_ADDR=0x83000000 DEBUG=y CFG_TEE_CORE_LOG_LEVEL=1 -j 8
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com>
show more ...
|
| 2acaafd4 | 01-Mar-2018 |
Peng Fan <peng.fan@nxp.com> |
core: arm: sm: cleanup license
Cleanup license header to only have "SPDX-License-Identifier: BSD-2-Clause"
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@li
core: arm: sm: cleanup license
Cleanup license header to only have "SPDX-License-Identifier: BSD-2-Clause"
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 43852166 | 10-Mar-2018 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx: cleanup license
Cleanup license header to only have "SPDX-License-Identifier: BSD-2-Clause"
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@s
core: arm: imx: cleanup license
Cleanup license header to only have "SPDX-License-Identifier: BSD-2-Clause"
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c88b9d00 | 01-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
MAINTAINERS: mark Xilinx Zynq UltraScale+ MPSOC as Orphan
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> CC: Sören Brinkmann <soren.brinkmann@xilinx.com> Reported-by: Joakim Bech <joa
MAINTAINERS: mark Xilinx Zynq UltraScale+ MPSOC as Orphan
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> CC: Sören Brinkmann <soren.brinkmann@xilinx.com> Reported-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| aa8f46b4 | 01-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
MAINTAINERS: add "THE REST"
Add a new entry to the maintainers list, which should remain the last one and gives contact information for the overall project maintainers and main reviewers.
Signed-of
MAINTAINERS: add "THE REST"
Add a new entry to the maintainers list, which should remain the last one and gives contact information for the overall project maintainers and main reviewers.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Igor Opaniuk <igor.opaniuk@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> Acked-by: Victor Chong <victor.chong@linaro.org>
show more ...
|
| 3645f599 | 01-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Adopt format of Linux MAINTAINERS file
Our current MAINTAINERS.md file is quite impractical for two common use cases:
1. Finding the platform maintainer(s) given a file path in the OP-TEE OS source
Adopt format of Linux MAINTAINERS file
Our current MAINTAINERS.md file is quite impractical for two common use cases:
1. Finding the platform maintainer(s) given a file path in the OP-TEE OS source tree; 2. Contacting maintainers via GitHub (such as mentioning them in pull requests).
To fix this, adopt the Linux format and extend the e-mail address field to also contain an optional GitHub ID, such as:
John Doe <john.doe@example.com> [@johndoe]
Since the file is not in Markdown format anymore, drop the .md extension as well.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Volodymyr Babchuk <vlad.babchuk@epam.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Akshay Bhat <akshay.bhat@timesys.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Peng Fan <peng.fan@nxp.com> Acked-by: Kevin Peng <kevinp@marvell.com> Acked-by: Sumit Garg <sumit.garg@nxp.com> Acked-by: Joakim Bech <joakim.bech@linaro.org> Acked-by: Victor Chong <victor.chong@linaro.org> Acked-by: Igor Opaniuk <igor.opaniuk@linaro.org>
show more ...
|
| 9a6def2f | 05-Mar-2018 |
Jordan Rhee <jordanrh@microsoft.com> |
core: insert memory barrier after write to ns entry context
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordan
core: insert memory barrier after write to ns entry context
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordanrh@microsoft.com>
show more ...
|
| d1f66029 | 01-Mar-2018 |
Edison Ai <edison.ai@arm.com> |
core/crypto/aes-gcm-ce.c:Remove unused included header file
Remove tomcrypt.h from aes-gcm-ce.c which is unused for it.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wikla
core/crypto/aes-gcm-ce.c:Remove unused included header file
Remove tomcrypt.h from aes-gcm-ce.c which is unused for it.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|
| 82286c22 | 28-Feb-2018 |
Jordan Rhee <jordanrh@microsoft.com> |
plat-imx: implement psci_features()
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signe
plat-imx: implement psci_features()
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordanrh@microsoft.com>
show more ...
|
| fb9489aa | 17-Oct-2017 |
Jordan Rhee <jordanrh@microsoft.com> |
core: fix psci_cpu_on() to use context_id parameter
The PSCI specification requires the context_id parameter to be passed in r0 when the core jumps to normal world. Some OS's require this parameter.
core: fix psci_cpu_on() to use context_id parameter
The PSCI specification requires the context_id parameter to be passed in r0 when the core jumps to normal world. Some OS's require this parameter.
Tested on IMX6Quad and IMX7Dual.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordanrh@microsoft.com>
show more ...
|
| 2f82082f | 02-Feb-2018 |
Edison Ai <edison.ai@arm.com> |
core: add ddr overall register
register_ddr() is used to add overall DDR address range. SDP memories, static SHM, secure DDR and so on need to fix the problem that intersect with the overall DDR.
R
core: add ddr overall register
register_ddr() is used to add overall DDR address range. SDP memories, static SHM, secure DDR and so on need to fix the problem that intersect with the overall DDR.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|
| 216816c8 | 02-Feb-2018 |
Edison Ai <edison.ai@arm.com> |
core: rename register_nsec_ddr() to register_dynamic_shm()
register_nsec_ddr() is actually only used to register dynamic physically non-contiguous SHM, rename it to register_dynamic_shm() will be mo
core: rename register_nsec_ddr() to register_dynamic_shm()
register_nsec_ddr() is actually only used to register dynamic physically non-contiguous SHM, rename it to register_dynamic_shm() will be more clear.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|