| 3f4d6849 | 17-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: redesign secure monitor
The secure monitor is redesigned to make it easier to register services.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jen
core: redesign secure monitor
The secure monitor is redesigned to make it easier to register services.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9dd11da5 | 19-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: add mov_imm assembly macro
Adds mov_imm assembly macro to load 32-bit immediate values into a register.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens
core: arm32: add mov_imm assembly macro
Adds mov_imm assembly macro to load 32-bit immediate values into a register.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8c110ab1 | 08-Nov-2016 |
Peng Fan <peng.fan@nxp.com> |
core: imx: fix compile error
Error log: core/arch/arm/plat-imx/conf.mk:26: *** missing separator. Stop.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
core: imx: fix compile error
Error log: core/arch/arm/plat-imx/conf.mk:26: *** missing separator. Stop.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9eece615 | 15-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix ta_private_vmem support
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| ff25a4d2 | 15-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix support of TA_FLAG_CACHE_MAINTENANCE
Allow loaded TAs to set the property TA_FLAG_CACHE_MAINTENANCE.
TAs are allowed to request cache maintenance operations only on the memory buffers pas
core: fix support of TA_FLAG_CACHE_MAINTENANCE
Allow loaded TAs to set the property TA_FLAG_CACHE_MAINTENANCE.
TAs are allowed to request cache maintenance operations only on the memory buffers passed as parameters. They are not allowed to do cache maintenance on TA private data.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| dd3247be | 15-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutee extension: check-access-right for secure/nonsec permissions
Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are extensions of the flag bitfield argument of TEE_CheckMemoryAcc
libutee extension: check-access-right for secure/nonsec permissions
Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are extensions of the flag bitfield argument of TEE_CheckMemoryAccessRights(). Once one of these is set, core checks the secure mapping attribute.
Note: if both are set, it's obviously an caller error. Implementation will return a TEE_ERROR_ACCESS_DENIED.
Include tee_api_defines_extensions.h from tee_internal_api_extensions.h so that TAs only have to include tee_internal_api_extensions.h to access extensions resources.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d5461e38 | 09-Nov-2016 |
Peng Fan <peng.fan@nxp.com> |
core: imx: boot up secondary cores more reliable
Set CORE[x]_RST bit when release secondary cores to make it more reliable.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere
core: imx: boot up secondary cores more reliable
Set CORE[x]_RST bit when release secondary cores to make it more reliable.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| dd2561c4 | 16-Nov-2016 |
Peng Fan <peng.fan@nxp.com> |
core: imx: switch to use c code for PL310
1. Add a new file imx_pl310.c for arm_cl2_config and arm_cl2_enable.
2. For i.MX6Q, CFG_PL310 is defined and arm_cl2_config is implemented. In arm_cl2_c
core: imx: switch to use c code for PL310
1. Add a new file imx_pl310.c for arm_cl2_config and arm_cl2_enable.
2. For i.MX6Q, CFG_PL310 is defined and arm_cl2_config is implemented. In arm_cl2_config, all ways are invalidated, but it does not follow the rules to wait all ways to be invalidated. So In the following call to inval_cache_vrange, arm_cl2_cleaninvbypa will trigger SLVERR.
This is because the first invalidation operation not finished in background, and another invalidation is issued to PL310. So switch to use arm_cl2_invbyway which will wait until invalidation finished.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f01690c3 | 15-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix mapping init debug trace
Before this change, debug trace shows wrong virtual address range.
Confusion comes from the 'struct tee_mmap_region':
va Start address of the virtual
core: fix mapping init debug trace
Before this change, debug trace shows wrong virtual address range.
Confusion comes from the 'struct tee_mmap_region':
va Start address of the virtual 'region' where to map. Aligned on 'region' alignment constraint. region_size Byte size of the virtual 'region' where to map. pa Physical start address of the *mapped* buffer. size Byte size of the *mapped* buffer.
The virtual start address of the *mapped* buffer is not stored in the structure. It must be computed.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 1c2059ca | 11-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix 'flow' traces in pager
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Etienne Carriere <etienne.car
core: fix 'flow' traces in pager
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5a2e7287 | 11-Nov-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: keep plat_cpu_reset_early() unpaged
Keep plat_cpu_reset_early() in unpaged area since it needs to be always available.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signe
core: pager: keep plat_cpu_reset_early() unpaged
Keep plat_cpu_reset_early() in unpaged area since it needs to be always available.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| add9b3e3 | 08-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix virt2phys conversion before core main inits
Before this change, virtual-to-physical address conversion with pager enable was corrupted until TEE executes its main inits. This change allow
core: fix virt2phys conversion before core main inits
Before this change, virtual-to-physical address conversion with pager enable was corrupted until TEE executes its main inits. This change allow v2p conversion in the TEE RAM during core early inits.
Debug mode is a configuration where v2p are done before core main inits.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (QEMU, b2260) Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU)
show more ...
|
| 36d5a313 | 26-Oct-2016 |
Philip Attfield <opensource@sequiturlabs.com> |
mm: use paddr_t to support both 32- and 64-bit arch
Adjust low and high parameter and pool entry type to accurately reflect architectural sizes and additionally, correct other related uses of uint32
mm: use paddr_t to support both 32- and 64-bit arch
Adjust low and high parameter and pool entry type to accurately reflect architectural sizes and additionally, correct other related uses of uint32_t that should be paddr_t.
Signed-off-by: Philip Attfield <opensource@sequiturlabs.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 68540524 | 02-Nov-2016 |
Igor Opaniuk <igor.opaniuk@linaro.org> |
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Ca
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 318ba574 | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: beautify CFG_BOOT_SYNC_CPU in generic_entry_a32.S
convert cpu_is_ready(), wait_primary(), wait_secondary() into marcos. Prevents dummy empty routines when CFG_BOOT_SYNC_CPU is not set.
Signed
core: beautify CFG_BOOT_SYNC_CPU in generic_entry_a32.S
convert cpu_is_ready(), wait_primary(), wait_secondary() into marcos. Prevents dummy empty routines when CFG_BOOT_SYNC_CPU is not set.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| 5a977961 | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: define default configuration when pager is enable
plat-stm can optionally build with CFG_WITH_PAGER=y. Pager RAM is defined from CFG_CORE_TZSRAM_EMUL_START and CFG_CORE_TZSRAM_EMUL_SIZE.
plat-stm: define default configuration when pager is enable
plat-stm can optionally build with CFG_WITH_PAGER=y. Pager RAM is defined from CFG_CORE_TZSRAM_EMUL_START and CFG_CORE_TZSRAM_EMUL_SIZE.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| fa409324 | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: beautify generic_entry_a32.S
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere
core: beautify generic_entry_a32.S
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| 8988e834 | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix generic ARMv7/AArch32 boot against SMP
This change flushes cache before primary releases secondary core to insure they find the right data in memory.
Case CFG_PL310_LOCK: wait all seconda
core: fix generic ARMv7/AArch32 boot against SMP
This change flushes cache before primary releases secondary core to insure they find the right data in memory.
Case CFG_PL310_LOCK: wait all secondary cores have completed their inits before locking PL310 lines.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| 8d83f6e4 | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix generic ARMv7/AArch32 boot against PL310
Follow ARM recommendation for PL310 outer cache maintenance. - caches invalidate: invalidate L2 then L1. - caches flush: clean L1 then flush L2, th
core: fix generic ARMv7/AArch32 boot against PL310
Follow ARM recommendation for PL310 outer cache maintenance. - caches invalidate: invalidate L2 then L1. - caches flush: clean L1 then flush L2, then flush L1.
To ease main sequence, define macros of cache operations.
inval/flush_cache_vrange() with PL310 in early boot requires va=pa.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| f587be8f | 02-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix pager against SMP on non A-TF booted op-tee
plat_cpu_reset_late() must be moved to the unpaged sections. It is called by secondary core when entering core after primary core inits are done
core: fix pager against SMP on non A-TF booted op-tee
plat_cpu_reset_late() must be moved to the unpaged sections. It is called by secondary core when entering core after primary core inits are done, hence 'init' section may have been unmapped.
Cleanup: move plat_cpu_reset_early/_late() out of generic_entry_a32.S.
Change CFG_PL310_LOCKED sequence: flush content instead of rude full invalidation. This is required since core inits may write outside TEE RAM and PL310 must not discard new content.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
show more ...
|
| fe839766 | 04-Nov-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: fix flavor 'cannes'
Fixes: 8cd89706f19c ("plat-stm: beautify platform config")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@l
plat-stm: fix flavor 'cannes'
Fixes: 8cd89706f19c ("plat-stm: beautify platform config")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 01422c42 | 02-Nov-2016 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_mmu.h: align comments with code
Comment mentions MEM_AREA_NS_SHM which does not exists. Instead there are MEM_AREA_NSEC_SHM. Also there was different order of memory areas in comment and in enu
core_mmu.h: align comments with code
Comment mentions MEM_AREA_NS_SHM which does not exists. Instead there are MEM_AREA_NSEC_SHM. Also there was different order of memory areas in comment and in enum definition.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ca9244a4 | 28-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: TA private memory does not include the memref parameters
This change limits ta_private_vmem_end to TA segments defined when TA is loaded.
Currently 'ta_private_vmem_end' only used to prevent
core: TA private memory does not include the memref parameters
This change limits ta_private_vmem_end to TA segments defined when TA is loaded.
Currently 'ta_private_vmem_end' only used to prevent a TA from exposing its code/data/stack memory to another TA it invokes. A shared memory buffer passed as TA invocation parameter is obviously not inside the TA private memory an can be exposed to another TA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu, GP tests)
show more ...
|
| 2ffdd194 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove legacy tee_common_unpg.h
Removes legacy file core/include/kernel/tee_common_unpg.h and updates with new types etc as needed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Teste
Remove legacy tee_common_unpg.h
Removes legacy file core/include/kernel/tee_common_unpg.h and updates with new types etc as needed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7f4173d8 | 18-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|