| 796b7a4d | 10-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx: add 6ULL EVK support
Add i.MX6 ULL EVK support. i.MX6ULL is derivative from i.MX6UL, so reuse some code for i.MX6UL.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Car
core: arm: imx: add 6ULL EVK support
Add i.MX6 ULL EVK support. i.MX6ULL is derivative from i.MX6UL, so reuse some code for i.MX6UL.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9b573a4b | 18-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx6ul: add platform early init code
Add platform early init code.
Configure ACTLR to enable SMP. Configure NSACR to let NS could access cp10/cp11 and NS_SMP.
Signed-off-by: Peng Fan <p
core: arm: imx6ul: add platform early init code
Add platform early init code.
Configure ACTLR to enable SMP. Configure NSACR to let NS could access cp10/cp11 and NS_SMP.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 467d92a9 | 09-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: imx6ul: switch to use CFG_SECURE_TIME_SOURCE_REE
Switch to use CFG_SECURE_TIME_SOURCE_REE. Since we do not have RTC, and arm counter will lose power when suspend, we use CFG_SECURE_TIME_SOURCE
core: imx6ul: switch to use CFG_SECURE_TIME_SOURCE_REE
Switch to use CFG_SECURE_TIME_SOURCE_REE. Since we do not have RTC, and arm counter will lose power when suspend, we use CFG_SECURE_TIME_SOURCE_REE now.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 552cad35 | 20-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx support psci off and affinity
Support psci off and affinity. To i.MX6, CPU could not offline itself, so needs to use core0 to offline other cores.
Introduce imx-common.c to include t
core: arm: imx support psci off and affinity
Support psci off and affinity. To i.MX6, CPU could not offline itself, so needs to use core0 to offline other cores.
Introduce imx-common.c to include the common code for i.MX family, SRC operation is used by i.MX6/7, so move them to imx-common.c
Use CFG_BOOT_SECONDARY_REQUEST to wrap the psci_cpu_on/off/affinity functions, these functions are only needed by SMP systems.To i.MX6UL, they are not needed.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0bcd0c38 | 18-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx: use one imx-regs.h file
Clean up to use one imx-regs.h for i.MX SoC family. If there are different IP address, use CFG_MX6[Q,D,UL] and etc to differentiate them.
Signed-off-by: Peng
core: arm: imx: use one imx-regs.h file
Clean up to use one imx-regs.h for i.MX SoC family. If there are different IP address, use CFG_MX6[Q,D,UL] and etc to differentiate them.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f0d864af | 02-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: mx6ulevk: refine the tee address map
There is 512M DDR Memory on i.MX6UL-EVK board. Reserve high 32M for TEE usage. The highest 2M for SHMEM.
Signed-off-by: Peng Fan <peng.fan@nxp.com> A
core: arm: mx6ulevk: refine the tee address map
There is 512M DDR Memory on i.MX6UL-EVK board. Reserve high 32M for TEE usage. The highest 2M for SHMEM.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7ce47501 | 22-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: psci: add helper functions
Add helper function psci_armv7_cpu_off. This function will be used when use psci to offline a cpu.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etie
core: arm: psci: add helper functions
Add helper function psci_armv7_cpu_off. This function will be used when use psci to offline a cpu.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 40c2618f | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix TODOs related to TLB maintenance in the pager
Invalidate TLBs for target references instead of invalidating the whole tables.
Some changes affect places where several references are modif
core: fix TODOs related to TLB maintenance in the pager
Invalidate TLBs for target references instead of invalidating the whole tables.
Some changes affect places where several references are modified and must be invalidated in the TLBs. This change aims at lowering the synchronization barrier required before/after the TLB maintenance operations.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey AArch{32,64} pager)
show more ...
|
| f0d0c301 | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: deprecate core_tlb_maintenance()
The core_tlb_maintenance() indirection is not useful. This function is now deprecated and one shall straight call tlbi_xxx() function instead.
Signed-off-by:
core: deprecate core_tlb_maintenance()
The core_tlb_maintenance() indirection is not useful. This function is now deprecated and one shall straight call tlbi_xxx() function instead.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c0037019 | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix AArch64 implementation of tlbi_asid()
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 27a5473d | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: add TLB invalidation by-mva-all-asid
tlbi_mva_allasid(): TLB invalidation by MVA for all ASID with all synchronisation support.
tlbi_mva_allasid_nosync(): same invalidation but without the sy
core: add TLB invalidation by-mva-all-asid
tlbi_mva_allasid(): TLB invalidation by MVA for all ASID with all synchronisation support.
tlbi_mva_allasid_nosync(): same invalidation but without the synchronization barriers.
Remove tlbi_mva_curasid that was disabled and not used.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 98624912 | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: rename secure_mmu_unifiedtlbinvXXX() into tlbi_XXX()
secure_mmu_unifiedtlbinvall() => tlbi_all() secure_mmu_unifiedtlbinv_byasid() => tlbi_asid() secure_mmu_unifiedtlbinvbymva() => tlbi_mva_cu
core: rename secure_mmu_unifiedtlbinvXXX() into tlbi_XXX()
secure_mmu_unifiedtlbinvall() => tlbi_all() secure_mmu_unifiedtlbinv_byasid() => tlbi_asid() secure_mmu_unifiedtlbinvbymva() => tlbi_mva_curasid()
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8023b6d0 | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: review TLB invalidation sequences
Align the AArch64 and AArch32 implementation of the TLB invalidation sequences, mainly on synchronization barrier and implementation comments.
Signed-off-by:
core: review TLB invalidation sequences
Align the AArch64 and AArch32 implementation of the TLB invalidation sequences, mainly on synchronization barrier and implementation comments.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| da2e26dd | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: remove secure_mmu_unifiedtlbinv_curasid()
Remove duplicated code.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 359f3d89 | 22-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: add tlbi and dsb instructions
Add 32bit and 64bit dsbish and dsbishst instructions. Add 32bit write_tlbimvaais macro for TLB maintenance.
Signed-off-by: Etienne Carriere <etienne.carriere@lin
core: add tlbi and dsb instructions
Add 32bit and 64bit dsbish and dsbishst instructions. Add 32bit write_tlbimvaais macro for TLB maintenance.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 490c50df | 19-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: assign non-sec DDR configuration from DT
Assigns non-secure DDR configuration from device tree if CFG_DT=y. Already present DDR configuration from register_nsec_ddr() is overridden.
Reviewed-
core: assign non-sec DDR configuration from DT
Assigns non-secure DDR configuration from device tree if CFG_DT=y. Already present DDR configuration from register_nsec_ddr() is overridden.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 70cdca35 | 19-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: use register_nsec_ddr()
Plat-vexpress uses register_nsec_ddr() to define the non-secure DDR memory.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carri
plat-vexpress: use register_nsec_ddr()
Plat-vexpress uses register_nsec_ddr() to define the non-secure DDR memory.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e7a8839b | 15-Jun-2017 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
ABI change: add OPTEE_MSG_ATTR_NONCONTIG handling
This patch introduces new attribute OPTEE_MSG_ATTR_NONCONTIG to allow Normal World pass arbitrary list of physical pages as a shared buffer.
To rea
ABI change: add OPTEE_MSG_ATTR_NONCONTIG handling
This patch introduces new attribute OPTEE_MSG_ATTR_NONCONTIG to allow Normal World pass arbitrary list of physical pages as a shared buffer.
To read this list of page address two new functions are added: - msg_param_extract_pages() is a helper function that read pages list into provided array
- msg_param_mobj_from_noncontig_param() constructs mobj from provided struct optee_msg_param parameter. This mobj then can be used in various parts of OP-TEE
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 13f187f4 | 15-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: update cache helpers
Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S and lib/aarch64/cache_helpers.S in ARM-TF, https://github.com/ARM-software/arm-trusted-firmware/tr
core: update cache helpers
Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S and lib/aarch64/cache_helpers.S in ARM-TF, https://github.com/ARM-software/arm-trusted-firmware/tree/2bd26faf62411c75111fea4b23c542865383b068
The imported routines only covers the inner cache. Already present ARMv7 cache routines are replaced by the new equivalent routines. The AArch64 routines are updated with the resent changes in ARM-TF.
The imported files are modified to better fit into OP-TEE, some functions and defines are renamed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey AArch{32,64} pager) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno AArch{32,64} pager) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d077a453 | 15-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32_macros.S: add cache related macros
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| d125a90c | 15-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32_macros.S: sort macros
Sorts macros and fixes the macro write_bpial
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 15329378 | 15-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm.h: add cache related defines
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 23e2942e | 20-Jun-2017 |
Zhizhou Zhang <zhizhouzhang@asrmicro.com> |
core: fix incorrect IRQ mask for CFG_ARM_GICV3
For GICV3 situation, IRQ is used as native interrupt. This patch also suppressed assert in thread_user_save_vfp().
Signed-off-by: Zhizhou Zhang <zhizh
core: fix incorrect IRQ mask for CFG_ARM_GICV3
For GICV3 situation, IRQ is used as native interrupt. This patch also suppressed assert in thread_user_save_vfp().
Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| abdd645a | 20-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: bugfix invalidate touched init memory
The entire range of memory touched during init need to be invalidated in the caches before enabling the caches.
Prior to this patch with CFG_WITH_
core: arm64: bugfix invalidate touched init memory
The entire range of memory touched during init need to be invalidated in the caches before enabling the caches.
Prior to this patch with CFG_WITH_PAGER=y the caches where only invalidated until __init_end which isn't enough, memory up to __tmp_hashes_end is actually touched. With this patch the range is increased to __tmp_hashes_end which is the same as is used in the arm32 code.
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey 64-bit pager) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| af1e8e52 | 19-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: reduce init size
Dramatically reduces init size by excluding __wq_rpc() from the init graph. Without __wq_rpc() in the init grapth, the entire LibTomCrypt is removed for the init graph.
Teste
core: reduce init size
Dramatically reduces init size by excluding __wq_rpc() from the init graph. Without __wq_rpc() in the init grapth, the entire LibTomCrypt is removed for the init graph.
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v8 pager) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|