| 83651fcd | 02-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: lpae workaround for user mapping
User mapping for LPAE depends on not using the first entry in the top translation table. This workaround makes sure that the first entry never is used.
Review
core: lpae workaround for user mapping
User mapping for LPAE depends on not using the first entry in the top translation table. This workaround makes sure that the first entry never is used.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 51c090b9 | 02-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: bugfix mapping of console uart
Bugfixes mapping of console uart to use secure device instead of non-secure device type.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Re
plat-vexpress: bugfix mapping of console uart
Bugfixes mapping of console uart to use secure device instead of non-secure device type.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 641aa46c | 08-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-sunxi: refactor memory configuration
Refactors memory configuration to use the same memory configuration scheme as all the other platforms.
Reviewed-by: Jerome Forissier <jerome.forissier@lina
plat-sunxi: refactor memory configuration
Refactors memory configuration to use the same memory configuration scheme as all the other platforms.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b44708c1 | 18-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are
core: secure storage: dual filesystems support
Adds support for multiple filesystems by keeping a pointer to tee_file_operations in the tee_pobj and tee_storage_enum structures.
Two identifiers are added to the API to be used as the storage_id parameter, so that TAs may dynamically choose the filesystem: - TEE_STORAGE_PRIVATE_REE (requires CFG_REE_FS=y) - TEE_STORAGE_PRIVATE_RPMB (requires CFG_RPMB_FS=y) The value TEE_STORAGE_PRIVATE will select the REE FS if available, otherwise RPMB. At least one FS has to be enabled at build time. Only the REE filesystem is enabled by default.
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>
show more ...
|
| fe159320 | 26-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: DEVICE{4-6} entries to bootcfg_memory_map[]
Adds entries to bootcfg_memory_map[] for DEVICE4, DEVICE5, and DEVICE6 ranges.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens
core: DEVICE{4-6} entries to bootcfg_memory_map[]
Adds entries to bootcfg_memory_map[] for DEVICE4, DEVICE5, and DEVICE6 ranges.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 63dc8d4a | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellat
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellation of a session.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3cf931e5 | 03-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: move tee_ta_manager.c out of arch/arm
Moves most parts of tee_ta_manager.c into core/kernel, keeping only tee_ta_verify_param() in the original file as it uses architecture specific checks.
R
core: move tee_ta_manager.c out of arch/arm
Moves most parts of tee_ta_manager.c into core/kernel, keeping only tee_ta_verify_param() in the original file as it uses architecture specific checks.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7315b7b4 | 21-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add interrupt framework
Adds interrupt frameworks and adjusts gic driver to fit in.
Update plat-vexpress and sunxi platforms to initialize gic with slightly modified interface.
Reviewed-by:
core: add interrupt framework
Adds interrupt frameworks and adjusts gic driver to fit in.
Update plat-vexpress and sunxi platforms to initialize gic with slightly modified interface.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 51493045 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.b
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 233da534 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linar
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0c96a71d | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a025a92a | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pas
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7c3ebaa8 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pa
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ad2988a3 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose more consistent names.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1ff6e872 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be moved there, - Function prototypes that are used only privately and could very well be made static.
This commit addresses the first point (moving structure definitions).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c3e8a2d9 | 22-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41f9cfc2 | 20-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1779b630 | 20-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and the object exists, then the object is deleted and re-created as an atomic operation: that is the TA sees either the old object or the new one.
Note that in this patch, the operation "delete and re-create" is not an atomic operation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 36bf7ea8 | 01-Mar-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virt
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virtual addresses of the buffers aren't translated to physical addresses as they will be translated back to the same virtual address again. With this patch the parameters buffers are tagged as containing virtual addresses allowing the checks to take that into account.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7d82e180 | 29-Feb-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patc
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patch are out parameters always updated if tee_ta_invoke_command() has been called.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0dcfe3a7 | 18-Feb-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: map TA with strict permissions
Maps user TA with strict permissions. Blocks with mixed permissions are mapped with the union of the permissions. In order to take full advantage of the strict p
core: map TA with strict permissions
Maps user TA with strict permissions. Blocks with mixed permissions are mapped with the union of the permissions. In order to take full advantage of the strict permissions TAs should be mapped using small pages, that is, using the config option CFG_SMALL_PAGE_USER_TA = y.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, Juno) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7fd2e0b5 | 12-Apr-2016 |
Peng Fan <van.freenix@gmail.com> |
core: arm: imx: fix console address usage
The phyiscal base address of uart console is 0x2020000. This address conflicts with KMAP address space, so remap it to 0x4020000.
Signed-off-by: Peng Fan <
core: arm: imx: fix console address usage
The phyiscal base address of uart console is 0x2020000. This address conflicts with KMAP address space, so remap it to 0x4020000.
Signed-off-by: Peng Fan <van.freenix@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d227979f | 13-Apr-2016 |
Peng Fan <van.freenix@gmail.com> |
core: arm: add cpu_mmu_enabled
Add cpu_mmu_enabled to check mmu enabled or not. Before mmu, we may use physical address. And after mmu enabled, we need to use virtual address.
Signed-off-by: Peng F
core: arm: add cpu_mmu_enabled
Add cpu_mmu_enabled to check mmu enabled or not. Before mmu, we may use physical address. And after mmu enabled, we need to use virtual address.
Signed-off-by: Peng Fan <van.freenix@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 46abcd34 | 11-Apr-2016 |
Peng Fan <van.freenix@gmail.com> |
core: arm: set region_size of map_area dynamically
This patch is to set value to region_size of map_area.
In generic_core_bootcfg.c, there is one place that setting region_size with CFG_WITH_PAGER
core: arm: set region_size of map_area dynamically
This patch is to set value to region_size of map_area.
In generic_core_bootcfg.c, there is one place that setting region_size with CFG_WITH_PAGER defined. This means the region_size entry will be initialized to 0 or 4K with CFG_WITH_PAGER. Also there is no other places that will write the region_size entry. However map_pa2va will use map_area->region_size to calculate the virtual/physical address. So we need to set region_size of map_area.
Signed-off-by: Peng Fan <van.freenix@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f5390201 | 11-Apr-2016 |
Peng Fan <van.freenix@gmail.com> |
core: arm: mm: introduce initial value for va
To some SoCs, we can not directly assign physical address to virtual address. If use LPAE, it is ok to use "va = pa", but to V7 mmu with LPAE disabled,
core: arm: mm: introduce initial value for va
To some SoCs, we can not directly assign physical address to virtual address. If use LPAE, it is ok to use "va = pa", but to V7 mmu with LPAE disabled, va may conflict with user ta and optee os kernel space address(<= 64M).
1. Introuce a few macros DEVICEx_VA_ADDRESS. 2. Since we have used defined va, we can not directly panic() with mm->va initialized. If va is not page or section aligned, then panic, otherwise, all is ok.
Signed-off-by: Peng Fan <van.freenix@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|