| acc10c43 | 08-Dec-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove tee_dispatch_* functions
Prior to this patch the tee_dispatch_* functions where called when invoking TAs from normal world.
The tee_dipatch_* functions provided little value and has no
core: remove tee_dispatch_* functions
Prior to this patch the tee_dispatch_* functions where called when invoking TAs from normal world.
The tee_dipatch_* functions provided little value and has now been collapsed into the architecture specific entry_std.c reducing the stack usage.
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 ...
|
| 0cad9723 | 19-Jan-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove obsolete mobj_is_unsafe()
Removes obsolete mobj_is_unsafe(). As a consequence some tee_ta_manager code can be removed too.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> T
core: remove obsolete mobj_is_unsafe()
Removes obsolete mobj_is_unsafe(). As a consequence some tee_ta_manager code can be removed too.
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 ...
|
| d8555bdd | 19-Jan-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add paged secure shared memory
Adds feature to allocate paged secure memory that can be transferred between TAs as needed.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by
core: add paged secure shared memory
Adds feature to allocate paged secure memory that can be transferred between TAs as needed.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by Volodymyr Babchuk <vlad.babchuk@gmail.com> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, Hikey) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6dbcd9dd | 19-Jan-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: use mobj for user mappings
Replaces the old mm and mm_stack elements with mobj_code and mobj_stack in user context.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by Vol
core: use mobj for user mappings
Replaces the old mm and mm_stack elements with mobj_code and mobj_stack in user context.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0dcfa568 | 19-Jan-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: introduce MOBJ abstraction
Introduces MOBJ for memory objects, no changes in features except breaking unsafe-nw-param/mem-multipurpose.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.
core: introduce MOBJ abstraction
Introduces MOBJ for memory objects, no changes in features except breaking unsafe-nw-param/mem-multipurpose.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1d9336ec | 14-Nov-2016 |
Andrew F. Davis <afd@ti.com> |
drivers: Add register size definition for serial8250_uart
Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Igor Opaniuk <igor.opaniuk@
drivers: Add register size definition for serial8250_uart
Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org> [Rebase on top of master] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9a8a19cd | 08-Dec-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: encode UUID big endian
When encoding a UUID as a sequence of bytes, the spec (https://www.ietf.org/rfc/rfc4122.txt) says that the u32, and two u16s should be represented big endian.
Before th
core: encode UUID big endian
When encoding a UUID as a sequence of bytes, the spec (https://www.ietf.org/rfc/rfc4122.txt) says that the u32, and two u16s should be represented big endian.
Before this patch OPTEE always treated them natively. With this patch UUIDs are always converted to/from big endian when communicating with normal world.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: https://github.com/OP-TEE/optee_os/issues/858 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0638aa9f | 08-Dec-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: optee_msg.h include needed .h files
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| d6e86abc | 05-Dec-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: introduce KEEP_PAGER and KEEP_INIT assembler macros
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens
core: introduce KEEP_PAGER and KEEP_INIT assembler macros
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 ...
|
| ac3be63f | 05-Dec-2016 |
Guanchao Liang <liang.guanchao@linaro.org> |
secure storage: change struct tee_fs_file_info member type
In struct tee_fs_file_info, the member length's origin type is size_t, when NS user is 64 bits, and secure kernel is 32 bits, the type size
secure storage: change struct tee_fs_file_info member type
In struct tee_fs_file_info, the member length's origin type is size_t, when NS user is 64 bits, and secure kernel is 32 bits, the type size_t will have different width, which will cause xtest 20022 case fail. This commit change the member length's type from size_t to uint64_t, which can keep a fixed width.
Signed-off-by: Guanchao Liang <liang.guanchao@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
show more ...
|
| 26ed70ec | 29-Nov-2016 |
Guanchao Liang <liang.guanchao@linaro.org> |
core: add code for the interrupt framework
With this commit, we add three more GIC APIs for the kernel of OPTEE-OS: itr_raise_sgi : can raise software generate interrupt(SGI) from secure world to no
core: add code for the interrupt framework
With this commit, we add three more GIC APIs for the kernel of OPTEE-OS: itr_raise_sgi : can raise software generate interrupt(SGI) from secure world to no-secure world, or secure world to secure world. It's a quick communication between different worlds and different cores. Because SGI is using the GIC N-N model, so with this API, every core can receive the interrupt if want.
itr_raise_pi : can trigger the peripheral interrupt with the corresponding interrupt number. When sending it to N cores, just one core can receive the effective interrupt.
itr_set_affinity : can target the peripheral interrupt to the core you want, it means that one can bind the interrupt to the corresponding core use this API.
The usage may as follow: itr_raise_sgi(11, 0x1 << 1) it will raise SGI11 to core 1, and if you want not only core 1 can receive SGI11 but also core 2, then you can change the code to itr_raise_sgi(11, 0x1 << 1 || 0x1 << 2).
itr_set_affinity(61, 0x1 << 1) itr_raise_pi(61) These two APIs may use together, the operation set_affinity set the PI61 can just sent to core 1, then raise_pi, core 1 will receive the peripheral interrupt 61.
Signed-off-by: Guanchao Liang <liang.guanchao@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Tested-by: Joakim Bech <joakim.bech@linaro.org> (QEMU) [Update commit author to be same as S-o-b: above] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 09a9f39b | 12-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: rename all tee_fs_rpc_new_ functions
Rename all functions with tee_fs_rpc_new_ prefix to use a tee_fs_rpc_ prefix instead now that all the legacy RPC functions are removed.
Reviewed-by: E
core: FS: rename all tee_fs_rpc_new_ functions
Rename all functions with tee_fs_rpc_new_ prefix to use a tee_fs_rpc_ prefix instead now that all the legacy RPC functions are removed.
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 ...
|
| 12936033 | 11-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove unused legacy RPC functions
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 0c51ac2b | 11-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: simplify FOP create
As the FOP create always is called with the overwrite flag it can be simplified. This makes the implementation of create much easier.
Reviewed-by: Etienne Carriere <et
core: FS: simplify FOP create
As the FOP create always is called with the overwrite flag it can be simplified. This makes the implementation of create much easier.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 36d5a313 | 26-Oct-2016 |
Philip Attfield <opensource@sequiturlabs.com> |
mm: use paddr_t to support both 32- and 64-bit arch
Adjust low and high parameter and pool entry type to accurately reflect architectural sizes and additionally, correct other related uses of uint32
mm: use paddr_t to support both 32- and 64-bit arch
Adjust low and high parameter and pool entry type to accurately reflect architectural sizes and additionally, correct other related uses of uint32_t that should be paddr_t.
Signed-off-by: Philip Attfield <opensource@sequiturlabs.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 361fb3e3 | 06-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: REE FS: use a single file per object
Prior to this commit each persistent object was represented by a directory with several files. With this commit each persistent object is represented by a
core: REE FS: use a single file per object
Prior to this commit each persistent object was represented by a directory with several files. With this commit each persistent object is represented by a single file instead to simplify the implementation.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-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 ...
|
| 68540524 | 02-Nov-2016 |
Igor Opaniuk <igor.opaniuk@linaro.org> |
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Ca
core/libutee: perform cleanup for magic "4"
Perform cleanup for magic "4" constant that represents amount of tee params
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ca9244a4 | 28-Oct-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: TA private memory does not include the memref parameters
This change limits ta_private_vmem_end to TA segments defined when TA is loaded.
Currently 'ta_private_vmem_end' only used to prevent
core: TA private memory does not include the memref parameters
This change limits ta_private_vmem_end to TA segments defined when TA is loaded.
Currently 'ta_private_vmem_end' only used to prevent a TA from exposing its code/data/stack memory to another TA it invokes. A shared memory buffer passed as TA invocation parameter is obviously not inside the TA private memory an can be exposed to another TA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu, GP tests)
show more ...
|
| 24e60da0 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove FOP access
Removes all calls to FOP access and the FOP itself.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 822203a8 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: FOP rename checks for existing file
Simplify renaming of file by moving the check for existing files into the rename FOP.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signe
core: FS: FOP rename checks for existing file
Simplify renaming of file by moving the check for existing files into the rename FOP.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9fc2003 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove rmdir and mkdir
Removes explicit rmdir and mkdir. It's not needed for SQL FS and RPMB FS. REE FS does rmdir and mkdir when needed directly inside tee-supplicant instead.
Reviewed-b
core: FS: remove rmdir and mkdir
Removes explicit rmdir and mkdir. It's not needed for SQL FS and RPMB FS. REE FS does rmdir and mkdir when needed directly inside tee-supplicant instead.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2ffdd194 | 26-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove legacy tee_common_unpg.h
Removes legacy file core/include/kernel/tee_common_unpg.h and updates with new types etc as needed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Teste
Remove legacy tee_common_unpg.h
Removes legacy file core/include/kernel/tee_common_unpg.h and updates with new types etc as needed.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b0311ad8 | 25-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: change to new FOP interface
Changes the FOP interface to use TEE_Result as the primary return code to harmonize better with the rest of the code.
Reviewed-by: Joakim Bech <joakim.bech@lin
core: FS: change to new FOP interface
Changes the FOP interface to use TEE_Result as the primary return code to harmonize better with the rest of the code.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> 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 ...
|
| e4302df3 | 18-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: remove unused legacy RPC functions
Removes unused legacy wrapper functions for FS RPC operations.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <
core: FS: remove unused legacy RPC functions
Removes unused legacy wrapper functions for FS RPC operations.
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 ...
|
| 7f4173d8 | 18-Oct-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: FS: add new RPC functions
Add new RPC functions that returns proper error coded.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|