| 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 |
| eb529904 | 18-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove unused tee_sleep_services.* |
| cebdec51 | 18-Sep-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Reenable warnings for all non-3rd party code
* Reenables warnings for all non-3rd party code * Renames dprintf macro to dprintf_level |
| 0e692b78 | 29-Aug-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Fix strict-aliasing for DEBUG=0 |
| fb4a92f1 | 08-Oct-2014 |
Pascal Brand <pascal.brand@st.com> |
Minor updates and cleanup |
| 52628354 | 17-Sep-2014 |
Jerome Forissier <jerome.forissier@linaro.org> |
Trace syscall entry when CFG_TEE_CORE_LOG_LEVEL == TRACE_FLOW (5) |
| d1aea08f | 10-Sep-2014 |
SY Chiu <sy.chiu@linaro.org> |
Implemented wait in normal world
Instead of busy waiting in secure world, it is more efficient to wait in normal world such that HLOS can schedule another task to execute while waiting
- Added a ne
Implemented wait in normal world
Instead of busy waiting in secure world, it is more efficient to wait in normal world such that HLOS can schedule another task to execute while waiting
- Added a new RPC command to wait in linux driver - Remove wait_specific() hook in time_source, it seems can be a generic function. - This patch depends on "Implemented wait in normal world" in optee_linuxdrver
show more ...
|
| f1c74b4b | 20-Aug-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Reentrancy fixes
Before this patch: The normal world was only allowed to enter secure world with one thread at a time.
After this patch: The normal world may try to enter secure world with as many
Reentrancy fixes
Before this patch: The normal world was only allowed to enter secure world with one thread at a time.
After this patch: The normal world may try to enter secure world with as many threads as it likes, secure world will return busy when no more threads can be allowed. Secure world still only allows one active thread at a time, but during RPC another thread may enter and do some work. This is needed for cancellation to work.
* Adds a mutex that waits in normal world if busy * Adds a new RPC service to wait in normal world * Imports bitstring.h from FreeBSD to aid mutex implementation * Adds a critical section in tee_ta_init_session * Unmaps TA before RPC exit and maps it again on return to handle rescheduling of threads during RPC * Doesn't clear a1-a3 when returning busy * Bugfixes vector_std_smc_entry
This patch depends on the "Allow parallel entries to secure world" patch in optee_linuxdriver.
show more ...
|
| a17acc4c | 27-Aug-2014 |
Sabrina Ni <sabrina.ni@linaro.org> |
Create util.h to rearrange define macro |
| 4a429f53 | 27-Aug-2014 |
Pascal Brand <pascal.brand@st.com> |
Cannes / H410 support
Support STMicroelectronics chip H410 "cannes". Is compiled using PLATFORM=cannes make |
| 53bd332a | 11-Aug-2014 |
SY Chiu <sy.chiu@linaro.org> |
Add GIC status dump utility
- fixed fvp gic cpu interface and distrubtor offset - added new mapping for distrubtor - add utility to dump gic status |
| 27cbcc57 | 08-Aug-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Cleanup loading/unloading of a TA
* A TA is only loaded via tee-supplicant, directly supplying a pointer to the TA binary is not supported any longer. This requires and update to the client lib
Cleanup loading/unloading of a TA
* A TA is only loaded via tee-supplicant, directly supplying a pointer to the TA binary is not supported any longer. This requires and update to the client lib to avoid leaking shared memory. * The shared memory used to load the TA is freed as soon as the TA have been loaded into secure memory * Divides tee_ta_init_session() into sevaral functions * Divides tee_ta_close_session() into two functions * Divides tee_ta_load() into several functions with one separate function for signature verification * Removes some unused code for kernel TAs * Removes the option to lock/unlock a TA is only used by kernel TAs which we don't support any longer. * Removes the static global tee_rs. Switch to use Thread Local Storage pointer provided by the thread handler. * Adds TA_FLAG_USER_MODE by default to TA header since all TAs are user mode TAs now. * Reformats user_ta_header.c to make checkpatch less unhappy with it.
show more ...
|