| bedc2b9f | 07-Nov-2014 |
sunny <sunny@allwinnertech.com> |
driver/gic: add gic_cpu_init interface.
The interface mainly use for secondary cpu bootup. When secondary cpu bootup, It will initialize per-cpu gic-cpu-interface. The gic_cpu_init main work include
driver/gic: add gic_cpu_init interface.
The interface mainly use for secondary cpu bootup. When secondary cpu bootup, It will initialize per-cpu gic-cpu-interface. The gic_cpu_init main work include: 1.Set the per-cpu interrupts as Group1; 2.Enable Group0-interrupts/Group1-interrupts/FIQEn.
Signed-off-by: sunny <sunny@allwinnertech.com> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 7de955b3 | 04-Dec-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
arm32: paging of TEE Core optionally enabled
plat-vexpress-*: * Optionally enable paging with CFG_WITH_PAGER=y * Uses fake SRAM when paging is enabled * Supports partitioning OP-TEE binary in unpage
arm32: paging of TEE Core optionally enabled
plat-vexpress-*: * Optionally enable paging with CFG_WITH_PAGER=y * Uses fake SRAM when paging is enabled * Supports partitioning OP-TEE binary in unpaged, init and pagable areas
plat-stm: * Displays an error message if compiled with CFG_WITH_PAGER=y
arm32: * Replaces legacy paging support with new paging support * Removes unused tee_pager_unpg.c
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP, Juno) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform - Check the code without the pager is not broken).
show more ...
|
| 5f1d1af5 | 02-Dec-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
provide hash_sha256_check()
Adds hash_sha256_check() to the tee_crypt_provider interface to be used by pager and early initialization code where the complete crypto library might not be available.
provide hash_sha256_check()
Adds hash_sha256_check() to the tee_crypt_provider interface to be used by pager and early initialization code where the complete crypto library might not be available.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| f69755b7 | 02-Dec-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
tee_mm: remove legacy TEE_MM_POOL_PAGED define
Removes the legacy TEE_MM_POOL_PAGED define and unsused code associated with it.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by
tee_mm: remove legacy TEE_MM_POOL_PAGED define
Removes the legacy TEE_MM_POOL_PAGED define and unsused code associated with it.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 350e12e3 | 13-Nov-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
merge tee_pager*.c and tee_pager*.h files
* Merges tee_pager_unpg.c and tee_pager.c into tee_pager.c * Merges tee_pager_unpg.h and tee_pager.h into tee_pager.h * Removes some legacy dummy macros * R
merge tee_pager*.c and tee_pager*.h files
* Merges tee_pager_unpg.c and tee_pager.c into tee_pager.c * Merges tee_pager_unpg.h and tee_pager.h into tee_pager.h * Removes some legacy dummy macros * Replaces some while(1) with panic()
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 5580c17c | 03-Dec-2014 |
Etienne Carriere <etienne.carriere@st.com> |
core/arm32: add traces in case of user TA abort
TA manager and TA mmu layer have specific trace handlers for TA aborts: - dumping TA info. - dumping TA mapping info.
Generic helper uuid2str().
Sig
core/arm32: add traces in case of user TA abort
TA manager and TA mmu layer have specific trace handlers for TA aborts: - dumping TA info. - dumping TA mapping info.
Generic helper uuid2str().
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| a7ec939b | 03-Nov-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Clean syscall handling
* Implements a svc handler suitable to supply as a handler for thread_svc_handler. * Removes hardcoded call to tee_svc_sycall in thread_svc_handler. * Removes duplicated c
Clean syscall handling
* Implements a svc handler suitable to supply as a handler for thread_svc_handler. * Removes hardcoded call to tee_svc_sycall in thread_svc_handler. * Removes duplicated code for unwinding of stack after tee_svc_enter_user_mode() replacing it with a single tee_svc_unwind_enter_user_mode()
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU virt and FVP) Reviewed-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| d8e06e12 | 24-Nov-2014 |
Pascal Brand <pascal.brand@st.com> |
MAC operations now supports NULL arguments
MAC algorithms support NULL arguments and zero length strings.
Note that the fix consists in a change of API in the internal crypto interface. This change
MAC operations now supports NULL arguments
MAC algorithms support NULL arguments and zero length strings.
Note that the fix consists in a change of API in the internal crypto interface. This change make hash_ops and mac_ops look the same in terms of update and final step
Signed-off-by: Pascal Brand <pascal.brand@st.com> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3df2502b | 20-Nov-2014 |
Pascal Brand <pascal.brand@st.com> |
plat-stm: L2CC_MUTEX implementation
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| e0042c88 | 17-Nov-2014 |
Pascal Brand <pascal.brand@st.com> |
Fixes in trace refactoring
- Deprecates ATAMSG - trace_ext.c is arm32 specific - tee_kta_trace.h and trace_ta.h are generic - Default level is now 1 (was 2)
Signed-off-by: Pascal Brand <pascal.bran
Fixes in trace refactoring
- Deprecates ATAMSG - trace_ext.c is arm32 specific - tee_kta_trace.h and trace_ta.h are generic - Default level is now 1 (was 2)
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 51835057 | 10-Nov-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
Fix memory leak in tee_svc_cryp_obj_copy()
The following Trusted App would lead to a memory leak in the TEE core:
TEE_ObjectHandle o1, o2; TEE_AllocateTransientObject(TEE_TYPE_RSA_KEYPAIR, 256,
Fix memory leak in tee_svc_cryp_obj_copy()
The following Trusted App would lead to a memory leak in the TEE core:
TEE_ObjectHandle o1, o2; TEE_AllocateTransientObject(TEE_TYPE_RSA_KEYPAIR, 256, &o1); TEE_GenerateKey(o1, 256, NULL, 0); TEE_AllocateTransientObject(TEE_TYPE_RSA_KEYPAIR, 256, &o2); TEE_CopyObjectAttributes(o2, o1); TEE_FreeTransientObject(o1); TEE_FreeTransientObject(o2);
The leak was introduced by commit ffe040395b13 ("Add crypto provider internal API").
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 4de4bebc | 20-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Merge tee_{core,uta}_trace.h into libutil
Merges tee_core_trace.h and tee_uta_trace.h into a common trace.h in libutil. Since the trace functions now resides libutil they have to rely on core and li
Merge tee_{core,uta}_trace.h into libutil
Merges tee_core_trace.h and tee_uta_trace.h into a common trace.h in libutil. Since the trace functions now resides libutil they have to rely on core and libutee to provide functions to print to the log device.
* Keeps compatible interface from tee_kta_trace.h * Adds TAMSG() and TAMSG_RAW() to log TA related events * Removes the TRACE_ALWAYS level
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU virt platform) Reviewed-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 2eb765fc | 03-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Move util.h from core into libutil
Moves util.h from core into libutil to make it available anywhere.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.bra
Move util.h from core into libutil
Moves util.h from core into libutil to make it available anywhere.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 4e77495e | 03-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Rename and move TEE_COMPILE_TIME_ASSERT
Renames TEE_COMPILE_TIME_ASSERT to COMPILE_TIME_ASSERT, the macro is also moved to assert.h to be available anywhere.
Signed-off-by: Jens Wiklander <jens.wik
Rename and move TEE_COMPILE_TIME_ASSERT
Renames TEE_COMPILE_TIME_ASSERT to COMPILE_TIME_ASSERT, the macro is also moved to assert.h to be available anywhere.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 37d6ae92 | 28-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
core_tlb_maintenance(TLBINV_BY_ASID) is on
It also contains code style cleanup
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by:
core_tlb_maintenance(TLBINV_BY_ASID) is on
It also contains code style cleanup
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| ffe04039 | 20-Aug-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add crypto provider internal API
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.
Add crypto provider internal API
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| d19e6cbe | 17-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
uart: add baudrate and clock freqency to uart_init
Adds baudrate and clock frequency as agruments to uart_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand
uart: add baudrate and clock freqency to uart_init
Adds baudrate and clock frequency as agruments to uart_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 106d8aa6 | 23-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
core: generic buffer inside/outside/intersect routine
Remove multiple implementation of "is buffer inside a buffer" and friends and rely on a generic core_is_buffer_inside/outside/intersect().
Revi
core: generic buffer inside/outside/intersect routine
Remove multiple implementation of "is buffer inside a buffer" and friends and rely on a generic core_is_buffer_inside/outside/intersect().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 54e04708 | 23-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
Move tee_misc in generic part
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| b7fc217f | 23-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
Cleanup
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| c0e35566 | 08-Oct-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add dhex_dump() and DHEXDUMP() to format and print data in hexadecimal
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-
Add dhex_dump() and DHEXDUMP() to format and print data in hexadecimal
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 19ef261a | 09-Oct-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove unused chip_services.c
Removes chip_services.c and declaration of enable_secure_wd() in chip_services.h
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.br
Remove unused chip_services.c
Removes chip_services.c and declaration of enable_secure_wd() in chip_services.h
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 55d0a3cf | 30-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove some assembly files
Removes kta_table_unpg_asm.S, Remove tee_pager_unpg_asm.S Removes tee_mmu_unpg_asm.S * Replaces assembly implementation of tee_mmu_switch() with a C version * Replaces c
Remove some assembly files
Removes kta_table_unpg_asm.S, Remove tee_pager_unpg_asm.S Removes tee_mmu_unpg_asm.S * Replaces assembly implementation of tee_mmu_switch() with a C version * Replaces calls to tee_mmu_invtlb_asid with secure_mmu_unifiedtlbinv_byasid
Reviewed-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 6a0b9008 | 29-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Optimize mmu handling
Previously there was two complete L1 mmu tables where one was only used when kernel mapping was active and the other when user mapping was active too. In addition to that there
Optimize mmu handling
Previously there was two complete L1 mmu tables where one was only used when kernel mapping was active and the other when user mapping was active too. In addition to that there was several sets of L2 mmu tables which where unused.
Now there's only one complete L1 mmu table shared by all CPUs. There's one small L1 mmu table for each thread used to keep user mappings. The small L1 mmu tables takes each 128 bytes and can spans 32 MiB of virtual memory.
This change saves memory ~32 KiB, but also prepares for multiprocessing since each thread has its own user mapping.
Due to the change of mmu table handling many low level assembly and C functions are changed, and some even removed.
Reviewed-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 9d7c2df8 | 21-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
tee_mmu_is_mapped cleanup |