| 05efe1e1 | 24-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: enable generic gic support
Change generic boot to call gic_cpu_init() for secondary boot cores.
Attempt (bss cleared?) to assert gic driver was initialized before gic_pu_init() is called.
plat-stm: enable generic gic support
Change generic boot to call gic_cpu_init() for secondary boot cores.
Attempt (bss cleared?) to assert gic driver was initialized before gic_pu_init() is called.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 83dd1f1b | 24-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: discard orly2 flavor
stm default plavor is 96board_c2.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: J
plat-stm: discard orly2 flavor
stm default plavor is 96board_c2.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8cd89706 | 24-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: beautify platform config
Move platform config to platfom_config.h. Remove local system_config.mk.
Add generic SCU SAC/NSAC registers bit fields definition. Add generic PL310 control regis
plat-stm: beautify platform config
Move platform config to platfom_config.h. Remove local system_config.mk.
Add generic SCU SAC/NSAC registers bit fields definition. Add generic PL310 control register enable bit fields definition.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9dc1c9ed | 24-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: beautify source code
Move plat_cpu_reset_late() to C-source. Move arm_cl2_config() to C-source. Beautify main.c and rng_support.c.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro
plat-stm: beautify source code
Move plat_cpu_reset_late() to C-source. Move arm_cl2_config() to C-source. Beautify main.c and rng_support.c.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 10a765f7 | 19-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mmu: avoid panic in check_pa_matches_va()
If check_pa_matches_va() is called before the user va range has been defined with CFG_WITH_LPAE=y it will cause a panic during boot. This change adds
core: mmu: avoid panic in check_pa_matches_va()
If check_pa_matches_va() is called before the user va range has been defined with CFG_WITH_LPAE=y it will cause a panic during boot. This change adds a function to test that user va range is defined before reading it.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0e12aaf9 | 19-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: avoid panic in thread_addr_is_in_stack()
Avoids panic in thread_addr_is_in_stack() by returning false if there's no current thread.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
core: avoid panic in thread_addr_is_in_stack()
Avoids panic in thread_addr_is_in_stack() by returning false if there's no current thread.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c3b3c4de | 07-Sep-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add RPC FS cache for payload data
Adds an RPC FS cache for payload data. Allocated RPC FS payload data isn't free until the thread exits the current command. This allows reuse of the memory al
core: add RPC FS cache for payload data
Adds an RPC FS cache for payload data. Allocated RPC FS payload data isn't free until the thread exits the current command. This allows reuse of the memory allocation, avoiding many needless entries of tee-supplicant.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0f4fb8ca | 15-Oct-2016 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: arm: kern.ld.S: put the RO sections together
By putting all the ro sections together, we can easily mark them as RO.
Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> Reviewed-by: Jens Wikla
core: arm: kern.ld.S: put the RO sections together
By putting all the ro sections together, we can easily mark them as RO.
Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e05c74a0 | 17-Aug-2016 |
Zeng Tao <prime.zeng@huawei.com> |
core_mmu: fix the ttb pa address setting
Using the real physic address to set the mmu ttbr, and don't rely on the plat mapping.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-
core_mmu: fix the ttb pa address setting
Using the real physic address to set the mmu ttbr, and don't rely on the plat mapping.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> [Rebased on top of master] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8b572859 | 11-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm/plat-imx: fix SCR initialization
Secure Configuration Register shall be initialized for all cores.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander
plat-stm/plat-imx: fix SCR initialization
Secure Configuration Register shall be initialized for all cores.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 18e8c533 | 10-Oct-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: unwind: print_stack(): fix unwind_state
print_stack() must save r7 and r11 in the unwind_state structure. Not doing so will likely result in a crash dunring unwind. Register r7 is typically u
arm32: unwind: print_stack(): fix unwind_state
print_stack() must save r7 and r11 in the unwind_state structure. Not doing so will likely result in a crash dunring unwind. Register r7 is typically used as a frame pointer by GCC in Thumb2 mode, while r11 (a.k.a. fp) is the frame pointer in ARM mode.
Also, set PC to the beginning of print_stack() since there's no point in going further inside the function.
Fixes: https://github.com/OP-TEE/optee_os/issues/1069 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU) Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e386996c | 10-Oct-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: unwind: mark tee_svc_do_call() with .cantunwind
The assembly function tee_svc_do_call() manipulates the stack pointer but does not use the proper unwind directives when doing so. As a result,
arm32: unwind: mark tee_svc_do_call() with .cantunwind
The assembly function tee_svc_do_call() manipulates the stack pointer but does not use the proper unwind directives when doing so. As a result, the compiler can't generate proper unwind information. This can lead to crashes or infinite loops if unwinding is performed at runtime. Given that there is nothing of much interest below this function, we simply add a .cantundwind directive to stop unwinding here.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9c5e2f87 | 10-Oct-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: unwind: convert int to bool
The return status of unwind_tab() is used as a boolean, so change its type.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Car
arm32: unwind: convert int to bool
The return status of unwind_tab() is used as a boolean, so change its type.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7cd43342 | 10-Oct-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: unwind: fix incorrect return status
After the unwind code was imported from FreeBSD sources, it was slightly modified to invert some logic. One return slipped through.
Signed-off-by: Jerome
arm32: unwind: fix incorrect return status
After the unwind code was imported from FreeBSD sources, it was slightly modified to invert some logic. One return slipped through.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1ce2bb13 | 11-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix spinlock for ARMv7-A and AArch32
Failure to acquire exclusivity when storing locked value on a spinlock should not yield to wait for an event, just attempting 'strex' execution again.
Tes
core: fix spinlock for ARMv7-A and AArch32
Failure to acquire exclusivity when storing locked value on a spinlock should not yield to wait for an event, just attempting 'strex' execution again.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260/qemu) Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2e286522 | 29-Sep-2016 |
yanyan-wrs <yan.yan@windriver.com> |
core: arm: pad tee-pager.bin to the actual end of data section
Signed-off-by: Yan Yan <yan.yan@windriver.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 45b45259 | 11-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix TA memory reference parameters mapping
This change fixes the TA buffer parameter mapping that gets clobbered when a parameter of lower index relates to nonsecure memory while a parameter o
core: fix TA memory reference parameters mapping
This change fixes the TA buffer parameter mapping that gets clobbered when a parameter of lower index relates to nonsecure memory while a parameter of higher index relates to a secure memory area.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 095a2999 | 10-Oct-2016 |
Zeng Tao <prime.zeng@hisilicon.com> |
mm: fix the user L1 mmu entries calculation
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.co
mm: fix the user L1 mmu entries calculation
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>
show more ...
|
| 497acca0 | 07-Oct-2016 |
Joakim Bech <joakim.bech@linaro.org> |
mtk: map entire MEM_AREA_NSEC_SHM area
Running MTK8173 panics in tee_entry_std just after mapping the arguments. The reason for this is because only 1MB out of 2MB has been mapped and therefore leav
mtk: map entire MEM_AREA_NSEC_SHM area
Running MTK8173 panics in tee_entry_std just after mapping the arguments. The reason for this is because only 1MB out of 2MB has been mapped and therefore leaving a gap between MEM_AREA_NSEC_SHM and MEM_AREA_TA_RAM. I.e.,
DEBUG: [0x0] TEE-CORE:init_mem_map:398: type va 4 0xbc000000..0xbc0fffff pa 0xbdf00000..0xbdffffff size 0x100000
DEBUG: [0x0] TEE-CORE:init_mem_map:398: type va 3 0xbc200000..0xbdffffff pa 0xbe200000..0xbfffffff size 0x1e00000
Signed-off-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9a64946c | 07-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: introduce b2260 (96boards/cannes)
Flavored 'b2260'. Default no GDB boot, lock pl310, specific DDR size and UART instance.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2120/
plat-stm: introduce b2260 (96boards/cannes)
Flavored 'b2260'. Default no GDB boot, lock pl310, specific DDR size and UART instance.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2120/b2260) Signed-off-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 ...
|
| 5c02c1b2 | 07-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: fix platform
fix PL310 iomem mapped unsecure. fix rng against nonflat mapping.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm-b2120) Signed-off-by: Etienne Carriere <etien
plat-stm: fix platform
fix PL310 iomem mapped unsecure. fix rng against nonflat mapping.
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm-b2120) Signed-off-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 ...
|
| a884c935 | 12-Sep-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add support for paging of user TAs
Enables support for paging of user TAs if CFG_PAGED_USER_TA is y
Acked-by: David Brown <david.brown@linaro.org> Tested-by: Jerome Forissier <jerome.forissie
core: add support for paging of user TAs
Enables support for paging of user TAs if CFG_PAGED_USER_TA is y
Acked-by: David Brown <david.brown@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU 7) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f0f7c8a6 | 12-Sep-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: kern.ld.S: consistent 8 bytes alignment
Replace the last 4 bytes alignment statements with 8 bytes alignment to avoid implicit padding when linking the binary.
Implicit padding following
core: arm: kern.ld.S: consistent 8 bytes alignment
Replace the last 4 bytes alignment statements with 8 bytes alignment to avoid implicit padding when linking the binary.
Implicit padding following the .data section doesn't work with the pager.
Acked-by: David Brown <david.brown@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 96d96148 | 29-Jan-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
hikey: 32-bit: use -mcpu=cortex-a53 instead of cortex-a15
Use the proper CPU architecture when building 32-bit binaries for HiKey. Note: this triggers a compiler warning: CC out/arm-plat-hik
hikey: 32-bit: use -mcpu=cortex-a53 instead of cortex-a15
Use the proper CPU architecture when building 32-bit binaries for HiKey. Note: this triggers a compiler warning: CC out/arm-plat-hikey/core/tee/tee_svc_cryp.o {standard input}: Assembler messages: {standard input}:632: Warning: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 (compiler is gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux). This seems to be harmless and is registered as a compiler bug [1].
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67591
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f5f914aa | 27-Sep-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: Add default CFG_CORE_HEAP_SIZE
Adds a CFG_CORE_HEAP_SIZE replacing the defined HEAP_SIZE in each platform_config.h. Default value is defined in mk/config.mk as 64 kB. This is larger than most
core: Add default CFG_CORE_HEAP_SIZE
Adds a CFG_CORE_HEAP_SIZE replacing the defined HEAP_SIZE in each platform_config.h. Default value is defined in mk/config.mk as 64 kB. This is larger than most of the previous values at 24 kB or just above.
Platforms with a previous heap size defined larger than 64 kB overrides the mk/config.mk setting with a $(platform-dir)/conf.mk setting using the previous value.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (Hikey pager) Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v7 pager) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP Aarch32 pager) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|