History log of /optee_os/core/ (Results 4201 – 4225 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4ee1077930-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add tlbi_mva_asid()

Adds tlbi_mva_asid() to invalidate one TLB entry, typically page sized,
selected by virtual address and address identifier. The function targets
both the kernel mode and us

core: add tlbi_mva_asid()

Adds tlbi_mva_asid() to invalidate one TLB entry, typically page sized,
selected by virtual address and address identifier. The function targets
both the kernel mode and user mode address identifiers at the same time.

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

show more ...

f45e66af13-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: arm64.h: add tlbi_vale1is()

Adds tlbi_vale1is() which is a wrapper around inline assembly code to
execute "tlbi vale1is". The operation is described as "TLB Invalidate
by VA, Last level, EL1,

core: arm64.h: add tlbi_vale1is()

Adds tlbi_vale1is() which is a wrapper around inline assembly code to
execute "tlbi vale1is". The operation is described as "TLB Invalidate
by VA, Last level, EL1, Inner Shareable" in the ARM ARM.

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

show more ...

fcecb31330-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: arm32.h: add TLBI_{MVA_SHIFT,ASID_MASK}

Adds TLBI macros to help formatting source register for TLB
invalidations.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: J

core: arm32.h: add TLBI_{MVA_SHIFT,ASID_MASK}

Adds TLBI macros to help formatting source register for TLB
invalidations.

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

show more ...

a5fef52b30-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: pager: use dcache_clean_range_pou()

Pager uses dcache_clean_range_pou() when cleaning pages before
invalidating icache for that page. Prior to this patch
dcache_clean_range() was used indirect

core: pager: use dcache_clean_range_pou()

Pager uses dcache_clean_range_pou() when cleaning pages before
invalidating icache for that page. Prior to this patch
dcache_clean_range() was used indirectly which cleans the range to point
of coherency instead of point of unification.

With this patch we're likely to save one data cache level by only
cleaning level 1 instead of level 1 and 2. This assumes separate data
and instructions caches level 1 and a unified data cache at level 2

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

show more ...

069c923030-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add dcache_clean_range_pou()

Adds dcache_clean_range_pou() which cleans the data cache to the point
of unification. This is exactly what's needed when later invalidating
the icache due to upda

core: add dcache_clean_range_pou()

Adds dcache_clean_range_pou() which cleans the data cache to the point
of unification. This is exactly what's needed when later invalidating
the icache due to updates in a page.

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

show more ...

ed07187130-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: cache_helpers_a{32,64}.S: remove section assignments

Since the FUNC and LOCAL_FUNC assembly macros now assign a section to
each assembly function the explicitly assigned sections in
cache_help

core: cache_helpers_a{32,64}.S: remove section assignments

Since the FUNC and LOCAL_FUNC assembly macros now assign a section to
each assembly function the explicitly assigned sections in
cache_helpers_a{32,64}.S are ignored. So remove the ignored section
assignments.

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

show more ...

7908364229-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add icache_inv_user_range()

Adds icache_inv_user_range() which is used when invalidating currently
mapped user space memory. This is needed since a different ASID is
usually in use while in ke

core: add icache_inv_user_range()

Adds icache_inv_user_range() which is used when invalidating currently
mapped user space memory. This is needed since a different ASID is
usually in use while in kernel mode. So using icache_inv_range() would
normally not have any effect on user mode mappings.

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

show more ...

2d0b0bcf30-Apr-2019 Jens Wiklander <jens.wiklander@linaro.org>

arm.h: add CTR_WORD_SIZE

Adds a common define for the word size used by the CTR (cache type)
register.

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

arm.h: add CTR_WORD_SIZE

Adds a common define for the word size used by the CTR (cache type)
register.

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

show more ...

c9826bf518-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: clean kernel stack unwinding

Simplify kernel stack unwinding now that user mode unwinding is handled
by ldelf.

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

core: clean kernel stack unwinding

Simplify kernel stack unwinding now that user mode unwinding is handled
by ldelf.

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

show more ...

153479ac18-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: dump ftrace data with ldelf

Uses ldelf to dump ftrace data from a TA.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerom

core: dump ftrace data with ldelf

Uses ldelf to dump ftrace data from a TA.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

34db717212-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: pta_system: support memory remap

Adds PTA_SYSTEM_REMAP to support changing virtual address of an already
established mapping in a TA.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.or

core: pta_system: support memory remap

Adds PTA_SYSTEM_REMAP to support changing virtual address of an already
established mapping in a TA.

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

show more ...

3b4abe1f12-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add user_ta_remap()

Adds user_ta_remap() to allow changing virtual address of an already
established mapping.

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

core: add user_ta_remap()

Adds user_ta_remap() to allow changing virtual address of an already
established mapping.

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

show more ...

531963a523-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: dump user TA memory map and call stack with ldelf

Enters special ldelf dump function to dump user TA memory map.

scripts/symbolize.py patch by Jerome Forissier

Reviewed-by: Jerome Forissier

core: dump user TA memory map and call stack with ldelf

Enters special ldelf dump function to dump user TA memory map.

scripts/symbolize.py patch by Jerome Forissier

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

show more ...

23cf894523-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: abort: only print stack trace for core

With user mode stack traces temporarily disabled to later be handled by
ldelf in user mode there's an opportunity for cleaning up stack tracing.
Code for

core: abort: only print stack trace for core

With user mode stack traces temporarily disabled to later be handled by
ldelf in user mode there's an opportunity for cleaning up stack tracing.
Code for user mode stack tracing is removed only leaving what's needed
for kernel mode stack tracing.

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

show more ...

d1911a8523-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: load TAs using ldelf

Uses ldelf to load and relocate TAs instead of parsing and loading the
ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily
removed or disabled to be re-enabl

core: load TAs using ldelf

Uses ldelf to load and relocate TAs instead of parsing and loading the
ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily
removed or disabled to be re-enabled in following commits.

Loading dynamically linked TAs are from now on always supported and
cannot be disabled via configuration flags. CFG_TA_DYNLINK is also
removed as a configuration option.

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

show more ...

64e4978923-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add define TEE_MATTR_LDELF

Adds the define TEE_MATTR_LDELF for temporary mappings needed to load
the ldelf binary.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens

core: add define TEE_MATTR_LDELF

Adds the define TEE_MATTR_LDELF for temporary mappings needed to load
the ldelf binary.

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

show more ...

b8c9775323-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: embed ldelf into tee core

Embeds the ldelf binary into TEE Core using the new script
scripts/gen_ldelf_hex.py.

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

core: embed ldelf into tee core

Embeds the ldelf binary into TEE Core using the new script
scripts/gen_ldelf_hex.py.

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

show more ...

dd22da8e23-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

Move elf definition headers to common location

Moves ELF definition header to a common location for core and ldelf.

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

Move elf definition headers to common location

Moves ELF definition header to a common location for core and ldelf.

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

show more ...

0a563c6f23-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: pta_system: add PTA_SYSTEM_SET_PROT

Adds PTA_SYSTEM_SET_PROT to support changing protection of already
established memory mappings.

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

core: pta_system: add PTA_SYSTEM_SET_PROT

Adds PTA_SYSTEM_SET_PROT to support changing protection of already
established memory mappings.

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

show more ...

0b414d3f23-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: pta_system: ta binary handling

Adds support to open, close and map a TA binary from a user TA.

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

core: pta_system: ta binary handling

Adds support to open, close and map a TA binary from a user TA.

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

show more ...

8e64b18123-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: remove tee_ta_dump_current()

tee_ta_dump_current() is only called from abort_print_current_ta(), move
the trivial implementation into abort_print_current_ta() and remove
tee_ta_dump_current().

core: remove tee_ta_dump_current()

tee_ta_dump_current() is only called from abort_print_current_ta(), move
the trivial implementation into abort_print_current_ta() and remove
tee_ta_dump_current().

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

show more ...

b2cd936a28-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: fix file_get_by_tag()

Fixes a race in file_get_by_tag() where a file is just about to be freed
but hasn't been removed from the linked list yet.

Fixes: bae0f170e321 ("core: file: refactor int

core: fix file_get_by_tag()

Fixes a race in file_get_by_tag() where a file is just about to be freed
but hasn't been removed from the linked list yet.

Fixes: bae0f170e321 ("core: file: refactor interface to be thread safe")
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

f23f991827-Jun-2019 Jerome Forissier <jerome.forissier@linaro.org>

core: make mutex_trylock() work with lockdep

Instrument mutex_trylock() with lockdep_tryacquire() so that it can be
used with CFG_LOCKDEP=y.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro

core: make mutex_trylock() work with lockdep

Instrument mutex_trylock() with lockdep_tryacquire() so that it can be
used with CFG_LOCKDEP=y.

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

show more ...

02fbb41a27-Jun-2019 Jerome Forissier <jerome.forissier@linaro.org>

core: lockdep: support non-blocking acquire

Adds support for non-blocking lock semantics such as mutex_trylock().
A new function is introduced to instrument this operation:
lockdep_tryacquire(). It

core: lockdep: support non-blocking acquire

Adds support for non-blocking lock semantics such as mutex_trylock().
A new function is introduced to instrument this operation:
lockdep_tryacquire(). It should be called when it is known that
ownership of the underlying object has been granted to the caller. It
behaves similarly to lockdep_acquire() in that it does record the call
stack and records that the lock is owned. But it does not create any
dependencies to the locks that are currently owned by the caller. See
"Dynamic Lock Dependency Analysis of Concurrent Systems" [1] section
5.3.

Link: [1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.132&rep=rep1&type=pdf
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

55e6414027-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: pager: fix NULL deref in tee_pager_pgt_save_and_release_entries()

Fixes a potential NULL dereference in
tee_pager_pgt_save_and_release_entries() in case a struct user_ta_ctx
doesn't have an ar

core: pager: fix NULL deref in tee_pager_pgt_save_and_release_entries()

Fixes a potential NULL dereference in
tee_pager_pgt_save_and_release_entries() in case a struct user_ta_ctx
doesn't have an areas pointer allocated yet.

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

show more ...

1...<<161162163164165166167168169170>>...259