| 10439204 | 21-Jul-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: mmu: fix core_mmu_add_mapping()
Use dsb_ishst() to make sure the new entry visible before continuing.
A9 Unified main TLB: supports hardware page table walks to perform look-ups in the L
core: arm: mmu: fix core_mmu_add_mapping()
Use dsb_ishst() to make sure the new entry visible before continuing.
A9 Unified main TLB: supports hardware page table walks to perform look-ups in the L1 data cache
To A7 and A15, they both support coherent walk, see ID_MMFR3: Updates to the translation tables do not require a clean to the point of unification to ensure visibility by subsequent translation table walks
Note: I did not find doc talking coherent walk for A8, so A8 may need cached flushed when update TLB?
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: minor edits to commit message] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c6ac89bc | 18-Jul-2017 |
Peng Fan <peng.fan@nxp.com> |
drivers: add snvs srtc support
Introduce i.MX SNVS SRTC support. The SRTC works with 32.768KHz. The SRTC is in SNVS_LP domain. The SNVS_LP is a data storage subsystem with enhanced security capabili
drivers: add snvs srtc support
Introduce i.MX SNVS SRTC support. The SRTC works with 32.768KHz. The SRTC is in SNVS_LP domain. The SNVS_LP is a data storage subsystem with enhanced security capabilities. Its purpose is to store and protect system data, regardless of the main system power state. SNVS_LP is in the always-powered-up domain, which is a separate power domain with its own power supply. When the chip power supply domain loses power, SNVS_LP continues to operate normally.
Since OP-TEE does not care about calendar time, there is no need to update calendar time, we only need to read the counter and get out the time.
The plat_prng_add_jitter_entropy is reused from tee_time_arm_cntpct.c.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0ca35294 | 19-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
arm.mk: export-ta_arm32: Set default value for CROSS_COMPILE
When building 32-bit optee_os, CROSS_COMPILE32 defaults to CROSS_COMPILE if not set, and CROSS_COMPILE defaults to arm-linux-gnueabihf- i
arm.mk: export-ta_arm32: Set default value for CROSS_COMPILE
When building 32-bit optee_os, CROSS_COMPILE32 defaults to CROSS_COMPILE if not set, and CROSS_COMPILE defaults to arm-linux-gnueabihf- if not set.
When building 32-bit optee_test, CROSS_COMPILE32 also defaults to CROSS_COMPILE if not set, but if CROSS_COMPILE is not set, there is no default value, causing the native compiler to be used and generating errors and confusion.
This patch makes the behavior and expectations consistent across both optee_os and optee_test.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3ff350a1 | 16-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
hikey: Set default value for CONSOLE_UART_BASE in conf.mk
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> |
| 66df8a2c | 12-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
hikey: add support for hikey960
The HiKey 960 development platform is based around the Huawei Kirin 960 octa-core ARM big.LITTLE processor with four ARM Cortex-A73 and four Cortex-A53 cores with 3GB
hikey: add support for hikey960
The HiKey 960 development platform is based around the Huawei Kirin 960 octa-core ARM big.LITTLE processor with four ARM Cortex-A73 and four Cortex-A53 cores with 3GB of LPDDR4 SDRAM memory, 32GB of UFS 2.0 flash storage, and the latest generation Mali G71 MP8 graphics processor.
See https://www.96boards.org/product/hikey960 for more details.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 45a2d566 | 12-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
hikey: Flavorize hikey
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> |
| 77714cbd | 12-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
hikey: use defines for pl011 uart base addresses
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> |
| d824159f | 12-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: fix native_intr_handler()
Prior to this patch when a native interrupt was received in IRQ mode r12 wasn't saved on the stack. There's two problems with that: 1. r12 isn't a callee prese
core: arm32: fix native_intr_handler()
Prior to this patch when a native interrupt was received in IRQ mode r12 wasn't saved on the stack. There's two problems with that: 1. r12 isn't a callee preserved register, but must be preserved in an exception handler 2. Without r12 an odd number of registers was saved breaking the 8 byte alignment of the stack pointer
This patch fixes this by also saving r12 on the stack when handling a native interrupt in IRQ mode.
Reviewed-by: Peng Fan <peng.fan@nxp.com> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 23381c10 | 14-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gcc 7 ready
Remove the armv7 compiler option -mno-apcs-float as it's not supported by gcc 7. -apcs-float has be default disabled since at least gcc 4.8.
Reviewed-by: Igor Opaniuk <igor.opaniu
core: gcc 7 ready
Remove the armv7 compiler option -mno-apcs-float as it's not supported by gcc 7. -apcs-float has be default disabled since at least gcc 4.8.
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 87d96185 | 14-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: avoid page faults with pager lock held
When a normal thread takes the pager lock there must be no page faults while the lock is held. This is has so far been ensured by feeding the func
core: pager: avoid page faults with pager lock held
When a normal thread takes the pager lock there must be no page faults while the lock is held. This is has so far been ensured by feeding the function to the KEEP_PAGER() macro, but this will only take care of the actual code not stack usage. This patch introduces a new pager lock function, pager_lock_check_stack() which will make sure that the estimated needed stack is mapped before the lock is acquired.
Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6289239c | 07-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: assert only normal thread takes a mutex
Adds thread_is_in_normal_mode() which returns true if the current thread is in normal mode. Adds an assert(thread_is_in_normal_mode()) in __mutex_lock()
core: assert only normal thread takes a mutex
Adds thread_is_in_normal_mode() which returns true if the current thread is in normal mode. Adds an assert(thread_is_in_normal_mode()) in __mutex_lock().
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 ...
|
| 4c6699fc | 17-Jul-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: mutex: simplify code with xsave/xrestore spin lock
cpu_spin_lock_xsave/cpu_spin_unlock_xrestore could be used to simplify the code.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by
core: arm: mutex: simplify code with xsave/xrestore spin lock
cpu_spin_lock_xsave/cpu_spin_unlock_xrestore could be used to simplify the code.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| afd74d5d | 14-Jul-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx: fix imx6solo boot
i.MX6SOLO is almost same with i.MX6DualLite, with difference that 6S has one cpu core, but DualLite has two cpu cores. i.MX6Solo also needs a9_plat_init.S and imx6.
core: arm: imx: fix imx6solo boot
i.MX6SOLO is almost same with i.MX6DualLite, with difference that 6S has one cpu core, but DualLite has two cpu cores. i.MX6Solo also needs a9_plat_init.S and imx6.c for basic initialization.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 78182cff | 12-Jul-2017 |
Victor Chong <victor.chong@linaro.org> |
hikey: use core_mmu_get_va() whenever possible
The ability to get the va of a pa is now available as a core function, i.e. core_mmu_get_va() so the platform specific nsec_periph_base() is not requir
hikey: use core_mmu_get_va() whenever possible
The ability to get the va of a pa is now available as a core function, i.e. core_mmu_get_va() so the platform specific nsec_periph_base() is not required anymore.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d8bc799d | 10-Jul-2017 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: fix the size of dynamic shared memory buffers
Prior to this patch MEM_AREA_SHM_VASPACE was initialized with RES_VASPACE_SIZE which is wrong. With this patch MEM_AREA_SHM_VASPACE is initialized
core: fix the size of dynamic shared memory buffers
Prior to this patch MEM_AREA_SHM_VASPACE was initialized with RES_VASPACE_SIZE which is wrong. With this patch MEM_AREA_SHM_VASPACE is initialized with SHM_VASPACE_SIZE instead.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>
show more ...
|
| d1125d55 | 10-Jul-2017 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: remove the useless mem_map_inited
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> |
| 3078da83 | 07-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: more details in deadlock report
Adds more details to deadlock report inside pager.
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.
core: pager: more details in deadlock report
Adds more details to deadlock report inside pager.
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4288f144 | 07-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: attempt to detect deadlock on spin locks
Attempts to detect and report deadlock on spin locks..
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Signed-off-by: Jens Wiklander <jens.wikland
core: attempt to detect deadlock on spin locks
Attempts to detect and report deadlock on spin locks..
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0b8e6e78 | 05-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: abort: fix get_fault_type()
Fixes get_fault_type() to accurately report abort in abort handler also in AArch64.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wik
core: abort: fix get_fault_type()
Fixes get_fault_type() to accurately report abort in abort handler also in AArch64.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v8) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 76d95ca2 | 29-Jun-2017 |
Etienne Carriere <etienne.carriere@st.com> |
core: deprecate platform stm-orly2
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> |
| e4c86a07 | 05-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix print_kernel_stack()
Previously was print_kernel_stack() supplying zeroes instead of real values for start and size of exidx tables needed for unwind. With this patch are correct values f
core: fix print_kernel_stack()
Previously was print_kernel_stack() supplying zeroes instead of real values for start and size of exidx tables needed for unwind. With this patch are correct values for exidx and exidx_sz supplied.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: 31a2964 ("core: dump call stack of user TAs on abort") Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 05348de0 | 04-Jul-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: fix tee_pager_set_uta_area_attr()
Adds missing synchronization, dsb_ishst(), required to make sure that translation table update is visible after the final update of the attributes of a
core: pager: fix tee_pager_set_uta_area_attr()
Adds missing synchronization, dsb_ishst(), required to make sure that translation table update is visible after the final update of the attributes of a page.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ac3cc6cf | 18-Apr-2017 |
Summer Qin <summer.qin@arm.com> |
Generate binaries for loaders supporting separate binary loading
Generate three binaries tee-header_v2.bin, tee-pager_v2.bin and tee-pageable_v2.bin for loaders supporting separate binary loading. T
Generate binaries for loaders supporting separate binary loading
Generate three binaries tee-header_v2.bin, tee-pager_v2.bin and tee-pageable_v2.bin for loaders supporting separate binary loading. This kind of loader loads and parses header binary first and then loads rest two binaries under specified manners header information implies. Generic loaders who don't support separate binary loading just ignore these binaries; and this change will not affect all existing design.
Signed-off-by: Summer Qin <summer.qin@arm.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3520324d | 28-Jun-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: demote a couple of messages from IMSG() to DMSG()
The first and and fourth lines in the boot sequence below are debug messages that should not be printed when the log level is INFO:
INFO:
core: demote a couple of messages from IMSG() to DMSG()
The first and and fourth lines in the boot sequence below are debug messages that should not be printed when the log level is INFO:
INFO: TEE-CORE: No NSEC DDR memory area defined INFO: TEE-CORE: INFO: TEE-CORE: OP-TEE version: 2.5.0-rc1 #1 Wed Jun 28 15:11:06 UTC 2017 aarch64 INFO: TEE-CORE: Shared memory address range: 3dc00000, 3f000000 INFO: TEE-CORE: Initialized
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ad817142 | 28-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
arm: imx: add i.MX7D support
Add i.MX7D support. - Add register definition - Add gpcv2 to powerup and powerdown cpu - Introduce soc runtime detection, the final goal is to support i.MX family
arm: imx: add i.MX7D support
Add i.MX7D support. - Add register definition - Add gpcv2 to powerup and powerdown cpu - Introduce soc runtime detection, the final goal is to support i.MX family using one image, but still far from it. Now using the runtime detection, we could remove the CFG_MX[6,7][x] to simplify the code, such as in imx psci cpu on/off using one function to support 6Q/7D without CFG_[X]. - Add PSCI cpu/off/affinity
The scripts to build 7dsdb image. make PLATFORM=imx-mx7dsabresd \ mkimage -A arm -O linux -C none -a 0xbdffffe4 -e 0xbe000000 \ -d out/arm-plat-imx/core/tee.bin uTee-7d
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|