History log of /optee_os/core/ (Results 5651 – 5675 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
71c1078a05-Nov-2016 Victor Chong <victor.chong@linaro.org>

hikey: enable spi by default and add sample test code

Suggested-by: Daniel Thompson <daniel.thompson@linaro.org>
Suggested-by: Leo Yan <leo.yan@linaro.org>
Suggested-by: Haojian Zhuang <haojian.zhua

hikey: enable spi by default and add sample test code

Suggested-by: Daniel Thompson <daniel.thompson@linaro.org>
Suggested-by: Leo Yan <leo.yan@linaro.org>
Suggested-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Victor Chong <victor.chong@linaro.org>
Tested-by: Victor Chong <victor.chong@linaro.org> (with CFG_SPI_TEST=y)
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

32157afc29-Nov-2016 Guanchao Liang <liang.guanchao@linaro.org>

add static ta for testing interrupt framework

Signed-off-by: Guanchao Liang <liang.guanchao@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne

add static ta for testing interrupt framework

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

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

ab046bb518-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core/armv7: cleanup bootargs

In non-A-TF boot modes, OP-TEE core expects some boot arguments:
- nonsecure entry point, default expected from core register LR.
- pagestore address, when pager is enab

core/armv7: cleanup bootargs

In non-A-TF boot modes, OP-TEE core expects some boot arguments:
- nonsecure entry point, default expected from core register LR.
- pagestore address, when pager is enable, from core register R0.
- devicetree address, when DT is enable, from core register R2.

Some non-A-TF booted platform rely on u-boot has bootloader, and
expect u-boot to boot both linux and op-tee. armv7/linux expects the
following boot arguments:
- machine ID, expected from core register R1.
- devicetree address from core register R2.

Before this patch, some platform used CFG_TEE_GDB_BOOT together with
CFG_BUILT_IN_ARGS to both provide op-tee core boot arguments, and
relay linux argument from op-tee entry to linux kernel entry
(nonsecure entry).

This change proposes to rationalize a bit. Both linux and optee expect
device tree from register R2. op-tee could relay machine ID (R1).

This change removes CFG_TEE_GDB_BOOT and CFG_BUILT_IN_ARGS that are now
deprecated.

This change still supports CFG_PAGEABLE_ADDR, CFG_DT_ADDR and
CFG_NS_ENTRY_ADDR to statically define the pagestore, device tree
and nonsecure entry. These can be defined independently.

Since this change, if CFG_WITH_ARM_TRUSTED_FW is not enable, the
standard boot arguments (registers R1 and R2 at optee entry) are
propagated to the non secure entry.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>

show more ...

ed52538e15-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core/armv7: clear 4th arg of secondary boot cores nonsecure entry

Secondary boot cores shall clean cpu register R4 before leaving secure.
R4 is the 4th argument propagated to non-secure entry by opt

core/armv7: clear 4th arg of secondary boot cores nonsecure entry

Secondary boot cores shall clean cpu register R4 before leaving secure.
R4 is the 4th argument propagated to non-secure entry by optee monitor.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>

show more ...

050ba67825-Nov-2016 Jerome Forissier <jerome.forissier@linaro.org>

core: crypto: avoid undefined bit shifts by a negative amount (-1)

The GET_ATTRIBUTE() and SET_ATTRIBUTE() macros are replaced with static
functions that properly handle the case when the attribute

core: crypto: avoid undefined bit shifts by a negative amount (-1)

The GET_ATTRIBUTE() and SET_ATTRIBUTE() macros are replaced with static
functions that properly handle the case when the attribute is not found.

Fixes: Coverity CID:1378609 CID:1378610 CID:1378611 CID:1378612
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8daf3da924-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: fix stack setup at secondary core entry

stack_tmp_offset is required by secondary boot cores before
pager is initialized.

Fixes: e56a56428def ("core: sm: use stack_tmp for sm_from_nsec")
Sign

core: fix stack setup at secondary core entry

stack_tmp_offset is required by secondary boot cores before
pager is initialized.

Fixes: e56a56428def ("core: sm: use stack_tmp for sm_from_nsec")
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c822f03f17-Oct-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: sm: use stack_tmp for sm_from_nsec()

As the C function sm_from_nsec() used by the secure monitor is expected
to be extended over time it needs a larger stack. With this patch the
secure monito

core: sm: use stack_tmp for sm_from_nsec()

As the C function sm_from_nsec() used by the secure monitor is expected
to be extended over time it needs a larger stack. With this patch the
secure monitor uses stack_tmp. The first part of stack_tmp is
permanently reserved for secure and non-secure contexts.

Tested-by: Joakim Bech <joakim.bech@linaro.org> (RPi3)
Tested-by: Andrew F. Davis <afd@ti.com> (plat-ti)
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm-b2260)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v7 & v8)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

3f4d684917-Oct-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: redesign secure monitor

The secure monitor is redesigned to make it easier to register services.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jen

core: redesign secure monitor

The secure monitor is redesigned to make it easier to register services.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

9dd11da519-Oct-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: arm32: add mov_imm assembly macro

Adds mov_imm assembly macro to load 32-bit immediate values into a
register.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens

core: arm32: add mov_imm assembly macro

Adds mov_imm assembly macro to load 32-bit immediate values into a
register.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8c110ab108-Nov-2016 Peng Fan <peng.fan@nxp.com>

core: imx: fix compile error

Error log:
core/arch/arm/plat-imx/conf.mk:26: *** missing separator. Stop.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>

core: imx: fix compile error

Error log:
core/arch/arm/plat-imx/conf.mk:26: *** missing separator. Stop.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

9eece61515-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: fix ta_private_vmem support

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

ff25a4d215-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: fix support of TA_FLAG_CACHE_MAINTENANCE

Allow loaded TAs to set the property TA_FLAG_CACHE_MAINTENANCE.

TAs are allowed to request cache maintenance operations only on
the memory buffers pas

core: fix support of TA_FLAG_CACHE_MAINTENANCE

Allow loaded TAs to set the property TA_FLAG_CACHE_MAINTENANCE.

TAs are allowed to request cache maintenance operations only on
the memory buffers passed as parameters. They are not allowed to
do cache maintenance on TA private data.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

dd3247be15-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

libutee extension: check-access-right for secure/nonsec permissions

Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are
extensions of the flag bitfield argument of TEE_CheckMemoryAcc

libutee extension: check-access-right for secure/nonsec permissions

Define TEE_MEMORY_ACCESS_NONSECURE and TEE_MEMORY_ACCESS_SECURE are
extensions of the flag bitfield argument of TEE_CheckMemoryAccessRights().
Once one of these is set, core checks the secure mapping attribute.

Note: if both are set, it's obviously an caller error. Implementation
will return a TEE_ERROR_ACCESS_DENIED.

Include tee_api_defines_extensions.h from tee_internal_api_extensions.h
so that TAs only have to include tee_internal_api_extensions.h to access
extensions resources.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d5461e3809-Nov-2016 Peng Fan <peng.fan@nxp.com>

core: imx: boot up secondary cores more reliable

Set CORE[x]_RST bit when release secondary cores to make it
more reliable.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Etienne Carriere

core: imx: boot up secondary cores more reliable

Set CORE[x]_RST bit when release secondary cores to make it
more reliable.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

dd2561c416-Nov-2016 Peng Fan <peng.fan@nxp.com>

core: imx: switch to use c code for PL310

1. Add a new file imx_pl310.c for arm_cl2_config and arm_cl2_enable.

2. For i.MX6Q, CFG_PL310 is defined and arm_cl2_config is implemented.
In arm_cl2_c

core: imx: switch to use c code for PL310

1. Add a new file imx_pl310.c for arm_cl2_config and arm_cl2_enable.

2. For i.MX6Q, CFG_PL310 is defined and arm_cl2_config is implemented.
In arm_cl2_config, all ways are invalidated, but it does not follow
the rules to wait all ways to be invalidated. So In the following
call to inval_cache_vrange, arm_cl2_cleaninvbypa will trigger SLVERR.

This is because the first invalidation operation not finished in
background, and another invalidation is issued to PL310. So switch
to use arm_cl2_invbyway which will wait until invalidation finished.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

09fc042409-Nov-2016 Emmanuel MICHEL <emmanuel.michel@st.com>

ltc: Fix clear big number in TEE wrapper

Reset a transient object clear datas of this object. For big numbers,
the corresponding method bn_clear reset the underlying struct
mpa_numbase_struct by fil

ltc: Fix clear big number in TEE wrapper

Reset a transient object clear datas of this object. For big numbers,
the corresponding method bn_clear reset the underlying struct
mpa_numbase_struct by filling of zeros its data. However this struct has
metadata, and the call of memset is done on the begin on the structure,
so on the metadata + part of the data, instead of being done only of the
datas. Fix by zero only datas.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Emmanuel MICHEL <emmanuel.michel@st.com> (STM platform)
Signed-off-by: Emmanuel MICHEL <emmanuel.michel@st.com>

show more ...

f01690c315-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: fix mapping init debug trace

Before this change, debug trace shows wrong virtual address range.

Confusion comes from the 'struct tee_mmap_region':

va Start address of the virtual

core: fix mapping init debug trace

Before this change, debug trace shows wrong virtual address range.

Confusion comes from the 'struct tee_mmap_region':

va Start address of the virtual 'region' where to map.
Aligned on 'region' alignment constraint.
region_size Byte size of the virtual 'region' where to map.
pa Physical start address of the *mapped* buffer.
size Byte size of the *mapped* buffer.

The virtual start address of the *mapped* buffer is not stored in the
structure. It must be computed.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>

show more ...

1c2059ca11-Nov-2016 Etienne Carriere <etienne.carriere@linaro.org>

core: fix 'flow' traces in pager

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Etienne Carriere <etienne.car

core: fix 'flow' traces in pager

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5a2e728711-Nov-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: pager: keep plat_cpu_reset_early() unpaged

Keep plat_cpu_reset_early() in unpaged area since it needs to be always
available.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signe

core: pager: keep plat_cpu_reset_early() unpaged

Keep plat_cpu_reset_early() in unpaged area since it needs to be always
available.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

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

5799c04812-Oct-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: SQL FS: use new RPC transaction functions

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

de56409611-Oct-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: SQL FS: use new RPC rename function

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

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

1...<<221222223224225226227228229230>>...259