History log of /optee_os/core/ (Results 5951 – 5975 of 6498)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5149304525-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 ...

233da53425-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 ...

0c96a71d25-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 ...

a025a92a25-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 ...

7c3ebaa825-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 ...

ad2988a325-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 ...

1ff6e87225-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 ...

c3e8a2d922-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 ...

41f9cfc220-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 ...

1779b63020-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 ...

36bf7ea801-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 ...

7d82e18029-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 ...

0dcfe3a718-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 ...

7fd2e0b512-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 ...

d227979f13-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 ...

46abcd3411-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 ...

f539020111-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 ...

6199fe8811-Apr-2016 Peng Fan <van.freenix@gmail.com>

core: arm: mm: v7: use mm->va to locate the entry of ttb

Use mm->va to locate the entry of ttb, we should not use
mm->pa, because va may be not the same with pa.

Signed-off-by: Peng Fan <van.freeni

core: arm: mm: v7: use mm->va to locate the entry of ttb

Use mm->va to locate the entry of ttb, we should not use
mm->pa, because va may be not the same with pa.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

9ccc769001-Aug-2015 Peng Fan <van.freenix@gmail.com>

core: arch: arm correct mme.va initialization

mme.va should be initialized using map[n].va, but not map[n].pa.

Now map[n].pa can make all work, because we use 1 to 1 mapping with
virtual address sa

core: arch: arm correct mme.va initialization

mme.va should be initialized using map[n].va, but not map[n].pa.

Now map[n].pa can make all work, because we use 1 to 1 mapping with
virtual address same to physical address.

Later, we need to implement that virtual address not equal to physical
address to avoid address conflicting with user ta address and optee os
kernel address(<= 64M).

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c1ae097a11-Apr-2016 Peng Fan <van.freenix@gmail.com>

arm: mm: v7: panic when va conficts with KMAP address space

If mm->va is smaller that 64M and bigger that 32M, mm->va
conflicts with KMAP address space

Some SoCs have devices at low addresses, so w

arm: mm: v7: panic when va conficts with KMAP address space

If mm->va is smaller that 64M and bigger that 32M, mm->va
conflicts with KMAP address space

Some SoCs have devices at low addresses, so we need to map at
least those devices at a virtual address which isn't the same
as the physical.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d1a3c3c511-Apr-2016 Jerome Forissier <jerome.forissier@linaro.org>

RPMB: tee_rpmb_write_blk(): allocate buffers once

Allocate shared memory buffers once for the write loop instead of
repeatedly allocating and freeing them. The previous code was needed
due to a bug/

RPMB: tee_rpmb_write_blk(): allocate buffers once

Allocate shared memory buffers once for the write loop instead of
repeatedly allocating and freeing them. The previous code was needed
due to a bug/limitation in optee_linudriver [1]. Now that we are using
the "generic driver", the code can be optimized.

[1] https://github.com/OP-TEE/optee_linuxdriver/issues/40

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>

show more ...

e30f991f24-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

pager: replace mm element of struct tee_pager_area

Replaces the mm element of struct tee_pager_area with base and size
instead to avoid needing a matching mm for every area.

Reviewed-by: Pascal Bra

pager: replace mm element of struct tee_pager_area

Replaces the mm element of struct tee_pager_area with base and size
instead to avoid needing a matching mm for every area.

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 ...

d5fdcda523-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: rename TEE_MATTR_PHYS_BLOCK

Renames TEE_MATTR_PHYS_BLOCK to TEE_MATTR_HIDDEN_DIRTY_BLOCK.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@lin

core: rename TEE_MATTR_PHYS_BLOCK

Renames TEE_MATTR_PHYS_BLOCK to TEE_MATTR_HIDDEN_DIRTY_BLOCK.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

f7f7b63923-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

pager: don't use TEE_MATTR_PHYS_BLOCK

Don't use TEE_MATTR_PHYS_BLOCK to keep track of physical address of a
struct tee_pager_pmem page, read it from the aliased mapping which
always is available and

pager: don't use TEE_MATTR_PHYS_BLOCK

Don't use TEE_MATTR_PHYS_BLOCK to keep track of physical address of a
struct tee_pager_pmem page, read it from the aliased mapping which
always is available and doesn't change.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d5d0e72a23-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

pager: optimize alias table lookup

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

1...<<231232233234235236237238239240>>...260