| 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 ...
|
| ec219598 | 13-Aug-2014 |
Pascal Brand <pascal.brand@st.com> |
Remove core dependencies from generic part
This concerns: - Communication Non-Secure <--> Secure - sys/types.h contains some types not defined on all compilers
Signed-off-by: Pascal Brand <pascal.b
Remove core dependencies from generic part
This concerns: - Communication Non-Secure <--> Secure - sys/types.h contains some types not defined on all compilers
Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| c0346845 | 05-Jun-2014 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add plat-vexpress
* Initial support for Versatile Express of FVP with ARM Trusted Firmware (ATF below)
* Use entry vector for entering TEE
Align interface between TEE and secure monitor with t
Add plat-vexpress
* Initial support for Versatile Express of FVP with ARM Trusted Firmware (ATF below)
* Use entry vector for entering TEE
Align interface between TEE and secure monitor with the interface between OPTEED in ATF and TEE.
Uses an ATF compatible entry vector for entering TEE from internal secure monitor.
Internal secure monitor saves entry reason to be able to tell when switching back to nonsecure world if r0-r3 should be preserved (FIQ case) or returned as is (normal call case).
* Many small fixes of generic problems that could affect other platforms too.
* Disable unaligned data accesses by adding compiler flag -mno-unaligned-access
* Adds support for Versatile Express of QEMU with 8 MiB of secure DRAM
show more ...
|
| 42da6502 | 07-Aug-2014 |
Pascal Brand <pascal.brand@st.com> |
Fix compilation issue when there is no traces |
| 73496810 | 24-Jun-2014 |
Joakim Bech <joakim.bech@linaro.org> |
Removed file core/include/kernel/kta_mem.h
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
|
| 1f70169d | 24-Jun-2014 |
Joakim Bech <joakim.bech@linaro.org> |
Removed unused KTA related defines
- Moved IO macro from kta_mem.h to io.h. - Removed unused TEE_MEM_xyz defines. - Removed code that was used for TA's in TEE RAM (impossible to reach that code).
Removed unused KTA related defines
- Moved IO macro from kta_mem.h to io.h. - Removed unused TEE_MEM_xyz defines. - Removed code that was used for TA's in TEE RAM (impossible to reach that code).
Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| b0104773 | 12-Jun-2014 |
Pascal Brand <pascal.brand@st.com> |
Open-source the TEE Core
Signed-off-by: Pascal Brand <pascal.brand@st.com> |