History log of /optee_os/ (Results 6851 – 6875 of 8578)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
b4121bfb09-Oct-2017 Jerome Forissier <jerome.forissier@linaro.org>

pl011: prevent putc() and flush() function from blocking indefinitely

It may happen that trace functions are called by OP-TEE when the UART
or its clock is disabled by the non-secure OS. In such a c

pl011: prevent putc() and flush() function from blocking indefinitely

It may happen that trace functions are called by OP-TEE when the UART
or its clock is disabled by the non-secure OS. In such a case, flush()
is likely to loop indefinitely, because the UART status register may
never contain the expected value. Make the code more robust by checking
if the UART is enabled in the wait loop. If it is not, or if the status
bit remains zero due to the clock being turned off, return immediately.
By doing so, we allow to drop some output rather than hang the whole
system.

Fixes: https://github.com/OP-TEE/optee_os/issues/1863
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

e34f308110-Oct-2017 Jerome Forissier <jerome.forissier@linaro.org>

Revert "core: core_mmu_v7: core_mmu_get_user_pgdir: remove duplicated code"

This reverts commit 3eb2ba74961b. core_mmu_set_info_table() sets
tbl_info->num_entries to NUM_L1_ENTRIES, not NUM_UL1_ENTR

Revert "core: core_mmu_v7: core_mmu_get_user_pgdir: remove duplicated code"

This reverts commit 3eb2ba74961b. core_mmu_set_info_table() sets
tbl_info->num_entries to NUM_L1_ENTRIES, not NUM_UL1_ENTRIES. So the
removed code was actually not duplicate.

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

093fb9c728-Sep-2017 Peng Fan <peng.fan@nxp.com>

core: imx: implement psci reset

Implement psci reset support.

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

673673db28-Sep-2017 Peng Fan <peng.fan@nxp.com>

core: arm: imx set CFG_MMAP_REGIONS

Set CFG_MMAP_REGIONS to 24.

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

d1ee514503-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: drivers: add imx wdog support

Introducing the wdog support is for psci reset usage.
To i.MX6/7, when `reboot`, need wdog to trigger soc reset
or send out signal to pmic through wdog pin to tri

core: drivers: add imx wdog support

Introducing the wdog support is for psci reset usage.
To i.MX6/7, when `reboot`, need wdog to trigger soc reset
or send out signal to pmic through wdog pin to trigger pmic reset.

In linux device tree, there is a "fsl,ext-reset-output" property, this
driver is to check whether the wdog node contains the property or not,
then decide how to trigger reset.

We still rely on normal world to initialize wdog and configure pinmux
when need to trigger pmic reset.

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

show more ...

75fddfb803-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: mmu: introduce CFG_MMAP_REGIONS

Introduce CFG_MMAP_REGIONS to replace MAX_MMAP_REGIONS to allow
platform specific value.

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

core: mmu: introduce CFG_MMAP_REGIONS

Introduce CFG_MMAP_REGIONS to replace MAX_MMAP_REGIONS to allow
platform specific value.

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

show more ...

fe26489004-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: arm: introduce get_dt_blob

Introduce get_dt_blob. This could allow drivers to use device tree.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.or

core: arm: introduce get_dt_blob

Introduce get_dt_blob. This could allow drivers to use device tree.

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

show more ...

34deb10302-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: dt: fix getting address and size

According to ePAPR spec.

"
The #address-cells and #size-cells properties may be used in any device
node that has children in the device tree hierarchy and des

core: dt: fix getting address and size

According to ePAPR spec.

"
The #address-cells and #size-cells properties may be used in any device
node that has children in the device tree hierarchy and describes how
child device nodes should be addressed. The #address-cells property
defines the number of <u32> cells used to encode the address field in
a child node’s reg property. The #size-cells property defines the number
of <u32> cells used to encode the size field in a child node’s reg
property.

The #address-cells and #size-cells properties are not inherited from
ancestors in the device tree. They shall be explicitly defined.

An ePAPR-compliant boot program shall supply #address-cells and #size-cells
on all nodes that have children.

If missing, a client program should assume a default value of 2 for

An ePAPR-compliant boot program shall supply #address-cells and #size-cells
on all nodes that have children.
"

So need to use the parent's address-cells and size-cells property.

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

show more ...

50f3b32328-Sep-2017 Peng Fan <peng.fan@nxp.com>

core: dt: introduce dt_have_prop

Introudce dt_have_prop

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

23b1daf428-Sep-2017 Peng Fan <peng.fan@nxp.com>

core: dt: typo fix

1. According to ePAPR spec, status should be okay/disabled/fail/fail-sss.
To Linux device tree, "okay" and "ok" are both used. Function is_okay
also use "okay" and "ok". But

core: dt: typo fix

1. According to ePAPR spec, status should be okay/disabled/fail/fail-sss.
To Linux device tree, "okay" and "ok" are both used. Function is_okay
also use "okay" and "ok". But "ok" is not defined in spec. Here only
correct comments

2. size -> sz

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

show more ...

af397f9227-Sep-2017 Peng Fan <peng.fan@nxp.com>

core: mmu: typo fix

Typo fix: inseart -> insert

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

0eae9ceb09-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: arm: generic_boot: use TEE_MM_POOL_NO_FLAGS

Use TEE_MM_POOL_NO_FLAGS to replace magic number 0.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.o

core: arm: generic_boot: use TEE_MM_POOL_NO_FLAGS

Use TEE_MM_POOL_NO_FLAGS to replace magic number 0.

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

show more ...

3eb2ba7407-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: core_mmu_v7: core_mmu_get_user_pgdir: remove duplicated code

core_mmu_set_info_table already set num_entries, no need to set it
again.

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

core: core_mmu_v7: core_mmu_get_user_pgdir: remove duplicated code

core_mmu_set_info_table already set num_entries, no need to set it
again.

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

show more ...

0e1c6e8e29-Sep-2017 Jerome Forissier <jerome.forissier@linaro.org>

Dump call stack on TA panic

Adds support for dumping the call stack of a user-mode TA when it
panics. Stack unwinding happens in kernel mode by re-using
abort_print_error() in core/arch/arm/kernel/a

Dump call stack on TA panic

Adds support for dumping the call stack of a user-mode TA when it
panics. Stack unwinding happens in kernel mode by re-using
abort_print_error() in core/arch/arm/kernel/abort.c. Like for abort
dumps, the helper script scripts/symbolize.py may be used to obtain
source-level information.

This feature is enabled by default. Set CFG_UNWIND=n to disable it
(or CFG_TEE_CORE_DEBUG=n).

In libutee, the utee_panic() syscall wrapper is renamed __utee_panic()
and now takes an additional parameters: a stack pointer, in addition to
the panic code. utee_panic() is written in assembly and pushes some
registers onto the stack before calling __utee_panic(). When it is time
to return from syscall_panic(), tee_svc_sys_return_helper() uses the
stack pointer to get the information needed to unwind the TA stack.
A struct abort_info is created and abort_print_error() is called.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU)
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64)
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMUv8)

show more ...

821a878526-Sep-2017 Jerome Forissier <jerome.forissier@linaro.org>

libutee: add unwind pseudo-ops to syscall wrappers

It is currently not possible to unwind a call stack from within a
syscall wrapper, that is the utee_xxx() functions such as utee_panic()
for instan

libutee: add unwind pseudo-ops to syscall wrappers

It is currently not possible to unwind a call stack from within a
syscall wrapper, that is the utee_xxx() functions such as utee_panic()
for instance. That is because the assembler macro that defines the
utee_ functions lacks the proper .fnstart/.save/.fnend pseudo-ops.
Add them.

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

show more ...

9b40b6e625-Sep-2017 Jerome Forissier <jerome.forissier@linaro.org>

arm: build user-mode assembler files with -g

$(platform-aflags-generic) is used only in $(core-platform-aflags),
not in $(ta_arm32-platform-aflags) or $(ta_arm64-platform-aflags). As a
result, only

arm: build user-mode assembler files with -g

$(platform-aflags-generic) is used only in $(core-platform-aflags),
not in $(ta_arm32-platform-aflags) or $(ta_arm64-platform-aflags). As a
result, only the TEE core is built with -g. The user-mode libraries are
not. Fix this so that symbolize.py can correctly find file and line
information when it encounters an assembler file in a call stack.

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

show more ...

b00e9a7406-Oct-2017 Etienne Carriere <etienne.carriere@linaro.org>

core:mmu: rename _divide_block into _prepare_small_page_mapping

core_mmu_divide_block() label is misleading.

core_mmu_prepare_small_page_mapping() is used to allocate required
mmu table(s) and init

core:mmu: rename _divide_block into _prepare_small_page_mapping

core_mmu_divide_block() label is misleading.

core_mmu_prepare_small_page_mapping() is used to allocate required
mmu table(s) and init the mmu to that a full pdgir area can be
used the map 4kB small pages from a single table entry (mmu descriptor).

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmaill.com>

show more ...

f4f8ad3306-Oct-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: fix case core_mmu_divide_block runs out of xlat table

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

core: fix case core_mmu_divide_block runs out of xlat table

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmaill.com>

show more ...

42bd73e006-Oct-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: core_mmu_divide_block shall not unmap memory

Since the function is not expected to unmap anything, it should simply
check that nothing is mapped instead of restoring the previous mapping
one t

core: core_mmu_divide_block shall not unmap memory

Since the function is not expected to unmap anything, it should simply
check that nothing is mapped instead of restoring the previous mapping
one the overall pgdir entries.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmaill.com>

show more ...

27446d2a06-Oct-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: fix core_mmu_divide_block() against 32bit mmu constraint

core_mmu_divide_block() is used to prepare a MMU pgdir mapping table
when no pgdir MMU table was previous allocated/filled to map a
sma

core: fix core_mmu_divide_block() against 32bit mmu constraint

core_mmu_divide_block() is used to prepare a MMU pgdir mapping table
when no pgdir MMU table was previous allocated/filled to map a
small page mapped address range.

On non-LPAE (32bit mmu), a pgdir entry cannot be used to map both
secure and non-secure pages. The pgdir descriptor defines whether
the small pages inside the pgdir range will map secure or non-secure
memory. Hence the core_mmu_divide_block() function takes an extra
argument: the target secure/non-secure attribute of the pgdir. This
argument in unused on LPAE mapping as a pgdir can hold secure as well
as non-secure entries.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmaill.com>

show more ...

9e483f6406-Oct-2017 Etienne Carriere <etienne.carriere@linaro.org>

core/mmu v7: move code inside core_mmu_divide_block

This change allocates the L2 table only once it is useful. This change
allows to eventually exit the function without freeing the L2 is
something

core/mmu v7: move code inside core_mmu_divide_block

This change allocates the L2 table only once it is useful. This change
allows to eventually exit the function without freeing the L2 is
something fails before we are filling the L2 table content.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmaill.com>

show more ...

274e4ed804-Oct-2017 Joakim Bech <joakim.bech@linaro.org>

docs: add a GitHub pull request template

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

a9b6d01804-Oct-2017 Joakim Bech <joakim.bech@linaro.org>

docs: add a GitHub issue template

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

94a2d37903-Oct-2017 Peng Fan <peng.fan@nxp.com>

core: tee_mmu: avoid resource leak

If calloc fails, need to free the asid bit in g_asid.

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

717935dd18-Jul-2017 Peng Fan <peng.fan@nxp.com>

core: user_ta: use TEE_MMU_UMAP_STACK_IDX

Use TEE_MMU_UMAP_STACK_IDX to replace the number 0.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

1...<<271272273274275276277278279280>>...344