History log of /optee_os/core/arch/arm/ (Results 2426 – 2450 of 3635)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7309438610-Dec-2018 Pankaj Gupta <pankaj.gupta@nxp.com>

plat-ls: NXP LX2160ARDB platform support is added

Added support for armv8 platform flavour.
- PLATFORM = ls-lx2160ardb

Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Acked-by: Jerome Foris

plat-ls: NXP LX2160ARDB platform support is added

Added support for armv8 platform flavour.
- PLATFORM = ls-lx2160ardb

Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

42615b8106-Dec-2018 Peng Fan <peng.fan@nxp.com>

plat-imx: add i.MX8MQ/MM EVK support

Add i.MX8MQ/MM EVK support.

i.MX8M family use Cortex-A53 as the CPU core, the i.MX8MQ EVK has
3GB DRAM memory, and i.MX8MM EVK has 2GB DRAM memory.

Signed-off-

plat-imx: add i.MX8MQ/MM EVK support

Add i.MX8MQ/MM EVK support.

i.MX8M family use Cortex-A53 as the CPU core, the i.MX8MQ EVK has
3GB DRAM memory, and i.MX8MM EVK has 2GB DRAM memory.

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

show more ...

f5172a4a14-Oct-2018 Peng Fan <peng.fan@nxp.com>

tee: entry_fast: correct tee_entry_generic_get_api_call_count

There are actually 11 API calls in tee_entry_fast.

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

tee: entry_fast: correct tee_entry_generic_get_api_call_count

There are actually 11 API calls in tee_entry_fast.

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

show more ...

7038c39730-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: concurrent external and embedded DTBs

Introduce get_external_dt() as opposed to get_embedded_dt().

Change get_dt() to return embedded DTB location and falls back
to external DTB location.

Si

core: concurrent external and embedded DTBs

Introduce get_external_dt() as opposed to get_embedded_dt().

Change get_dt() to return embedded DTB location and falls back
to external DTB location.

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

show more ...

850bb29c30-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: introduce get_embedded_dt()

get_embedded_dt() returns the location (virtual address) of the
embedded DTB or NULL if there is no embedded DTB.

Signed-off-by: Etienne Carriere <etienne.carriere

core: introduce get_embedded_dt()

get_embedded_dt() returns the location (virtual address) of the
embedded DTB or NULL if there is no embedded DTB.

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

show more ...

00be173c30-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: dt: discover memory before updating external DTB

When core updates the external DTB with OP-TEE node resources
it may load memory address ranges node that depend of information
read from the D

core: dt: discover memory before updating external DTB

When core updates the external DTB with OP-TEE node resources
it may load memory address ranges node that depend of information
read from the DTB. This change ensures non-secure memory is
discovered (possibly from the external DTB) before core modifies
the external DTB for a former boot stage.

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

show more ...

e862b47e30-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: explicit external DTB scope in generic boot

Rename few functions, routines and variables dedicated to the
external DTB with an explicit `external_dt` labeling reference.

reset_dt_references()

core: explicit external DTB scope in generic boot

Rename few functions, routines and variables dedicated to the
external DTB with an explicit `external_dt` labeling reference.

reset_dt_references() is renamed release_external_dt() as more
explicit.

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

show more ...

6179ebfa30-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: rename get_dt_blob() into get_dt()

Rename get_dt_blob() into get_dt() to get some consistency in `dt`,
`dtb`, `fdt` labelling in generic_boot.c

Signed-off-by: Etienne Carriere <etienne.carrie

core: rename get_dt_blob() into get_dt()

Rename get_dt_blob() into get_dt() to get some consistency in `dt`,
`dtb`, `fdt` labelling in generic_boot.c

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

show more ...

a78ef92530-Nov-2018 Etienne Carriere <etienne.carriere@st.com>

stm32mp1: add a platform banner

Platform banner stating platform flavor and embedded DTB if any.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jerome Forissier <jerome.forissi

stm32mp1: add a platform banner

Platform banner stating platform flavor and embedded DTB if any.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

12941fdc30-Nov-2018 Etienne Carriere <etienne.carriere@st.com>

stm32mp1: device tree platform description

This change introduces the device tree source files describing boards
EV1 and ED1 and the related bindings.

The stm32mp1 DTS files and bindings header fil

stm32mp1: device tree platform description

This change introduces the device tree source files describing boards
EV1 and ED1 and the related bindings.

The stm32mp1 DTS files and bindings header files are dumped from
latest Linux kernel (v4.19). Bindings documentation is not stored in
OP-TEE OS source tree, one shall refer to the bindings documentation
from latest Linux kernel source tree.

Note that license terms where changed for binding header file gpio.h
to release them under dual 2-Clause DSB/GPLv2.0 instead of GPLv2.0 as
release in the Linux kernel.

Platform relies on DT source file (CFG_EMBED_DTB_SOURCE_FILE) to
distinguish between the platform flavors for the few configuration
directive that are static and cannot be provided only through FDT.

Default configuration locates the secure DDR area (TZDRAM) from
the base address of the last 32MBytes of the DDR over 30Mbyte.
The last 2MBytes of the DDR are the OP-TEE static shared memory.

Many contributors not listed below.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

7294172c28-Nov-2018 Etienne Carriere <etienne.carriere@st.com>

stm32mp1: release constraint on core count

Minor cleaning and allow CFG_TEE_CORE_NB_CORE to be set to 1.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jens Wiklander <jens.wik

stm32mp1: release constraint on core count

Minor cleaning and allow CFG_TEE_CORE_NB_CORE to be set to 1.

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

show more ...

f41e792620-Nov-2018 Bryan O'Donoghue <bryan.odonoghue@linaro.org>

core: generic_boot: Add init_dt_overlay()

This patch adds init_dt_overlay() into to the DT boot flow.

init_dt_overlay() operates in one of two ways.

1. By appending to a DT overlay passed from a p

core: generic_boot: Add init_dt_overlay()

This patch adds init_dt_overlay() into to the DT boot flow.

init_dt_overlay() operates in one of two ways.

1. By appending to a DT overlay passed from a prior boot stage such as ATF.
In this case OPTEE DT nodes will be appended to the existing DT overlay.

2. By creating an OPTEE specific DT overlay at CFG_DT_ADDR.

A subsequent boot phase must then pick up the DT overlay in-memory and
merge that overlay into a main DTB structure.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

2c80367019-Nov-2018 Bryan O'Donoghue <bryan.odonoghue@linaro.org>

core: generic_boot: Add device-tree fragments

This patch adds a call into add_dt_overlay_fragment() at
add_dt_path_subnode() affecting at the time of writing

- /firmware/optee
- /psci
- /memory/res

core: generic_boot: Add device-tree fragments

This patch adds a call into add_dt_overlay_fragment() at
add_dt_path_subnode() affecting at the time of writing

- /firmware/optee
- /psci
- /memory/reserved

if CFG_EXTERNAL_DTB_OVERLAY is defined then the set of OPTEE DTB entries is
treated as a set of DT overlay fragments to be populated into the specified
address at CFG_DTB_ADDR.

This allows ATF or u-boot to pass a blank DTB instead of a populated DTB
into OPTEE and for OPTEE then to return back a DTB with overlay fragments.

A subsequent boot stage can then merge the OPTEE provided overlay into the
main DTB.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

0a3ad9b619-Nov-2018 Bryan O'Donoghue <bryan.odonoghue@linaro.org>

core: generic_boot: Add add_dt_overlay_fragment()

This patch adds a dt routine add_dt_overlay_fragment(). This purpose of
which is to encapsulate the dynamic FDT node entries OPTEE provides inside
o

core: generic_boot: Add add_dt_overlay_fragment()

This patch adds a dt routine add_dt_overlay_fragment(). This purpose of
which is to encapsulate the dynamic FDT node entries OPTEE provides inside
of a

fragment@0 {
target-path = "/";
__overlay__ {
/* OPTEE nodes go here */
};
};

A subsequent set of patches will wrapper up existing dynamic OPTEE nodes

- /firmware/optee
- /psci
- /reserved/memory
optee@0xaddress

Once done it will be possible for a DTB in memory to be populated
with OPTEE fragments and for a subsequent bootloader to merge the OPTEE
populated overlay into a DTB loaded by a later stage.

if CFG_EXTERNAL_DTB_OVERLAY is not defined then this code has no effect.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

fe24f1a122-Nov-2018 Bryan O'Donoghue <bryan.odonoghue@linaro.org>

core: generic_boot: Utilize add_dt_path_subnode where appropriate

This patch replaces some repetitive code of the form

offs = fdt_path_offset(fdt, "path");
if (offs < 0)
return -1;
offs = fdt_add_

core: generic_boot: Utilize add_dt_path_subnode where appropriate

This patch replaces some repetitive code of the form

offs = fdt_path_offset(fdt, "path");
if (offs < 0)
return -1;
offs = fdt_add_subnode(fdt, offs, "subnode");

with

offs = add_dt_path_subnode(fdt, "path", "subnode");

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d89697a022-Nov-2018 Bryan O'Donoghue <bryan.odonoghue@linaro.org>

core: generic_boot: Add helper add_dt_path_subnode()

A common pattern in the DT code is

offs = fdt_path_offset(fdt, "/");
if (offs < 0)
return -1;
offs = fdt_add_subnode(fdt, offs, "newnode");
if

core: generic_boot: Add helper add_dt_path_subnode()

A common pattern in the DT code is

offs = fdt_path_offset(fdt, "/");
if (offs < 0)
return -1;
offs = fdt_add_subnode(fdt, offs, "newnode");
if (offs < 0)
return -1;

as was pointed out by Jerome in a related PR to-do with adding overlays
this is a candidate for functional decomposition.

This patch adds the necessary helper function.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Suggested-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

de36bcad23-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: base TA store on scatter array

The TA store interface is now implemented using scatter array.

The priorities of the different TA store are also changed to use 2, 4
and 9 instead or 5, 9, 10 a

core: base TA store on scatter array

The TA store interface is now implemented using scatter array.

The priorities of the different TA store are also changed to use 2, 4
and 9 instead or 5, 9, 10 as they are now sorted alphabetically. The new
allocation makes it easier to stick something between "Secure Storage
TA" and the "REE" stores. It's doubtful that anyone would ever want to
make something higher priority than the "early TA" store, but just in
case a few numbers are reserved.

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

show more ...

f9da403422-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: base memory registration on scatter array

The register_*() macros are now implemented using scatter array.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissi

core: base memory registration on scatter array

The register_*() macros are now implemented using scatter array.

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

show more ...

2f0cd8af22-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: base pseudo_ta_register() on scatter array

The pseudo_ta_register() implementation is now based on scatter array.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome

core: base pseudo_ta_register() on scatter array

The pseudo_ta_register() implementation is now based on scatter array.

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

show more ...

9e59233822-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: initcall.h use scattered array

Initcalls uses generic scattered array instead of special
implementation.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissier

core: initcall.h use scattered array

Initcalls uses generic scattered array instead of special
implementation.

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

show more ...

5e4210e922-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: add scattered array

Adds a scattered array which allows defining arrays scattered over
several source files. The implementation is based on some support by the
linker.

This is a generic solut

core: add scattered array

Adds a scattered array which allows defining arrays scattered over
several source files. The implementation is based on some support by the
linker.

This is a generic solution to initcalls and other similar scattered
initializations.

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

show more ...

c95b951123-Nov-2018 Etienne Carriere <etienne.carriere@linaro.org>

core: embedded secure device tree

This change introduces configurations CFG_EMDED_DTB and
CFG_EMBED_DTB_SOURCE_FILE. When CFG_EMDED_DTB=y a device
tree blob (DTB) is embedded in a read-only section

core: embedded secure device tree

This change introduces configurations CFG_EMDED_DTB and
CFG_EMBED_DTB_SOURCE_FILE. When CFG_EMDED_DTB=y a device
tree blob (DTB) is embedded in a read-only section of the
core based on an in-tree device tree source (DTS) file.

CFG_EMBED_DTS_SOURCE_FILE defines the relative path of
the target device in core/arch/$(ARCH)/dts.

Non empty CFG_EMBED_DTS_SOURCE_FILE content implies CFG_EMBED_DTB=y.
CFG_EMBED_DTB=y mandates CFG_EMBED_DTS_SOURCE_FILE definition.
CFG_EMDED_DTB=y mandates CFG_DT=y.

Since the embedded DTB is read-only, core do not attempt to
modify it adding information such as OP-TEE resources nodes and
properties. Core still get generic information such as system
memory address range and debug console configuration
from the embedded DTB.

Documentation includes a DT section in the OP-TEE design
description.

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

show more ...

a67a20cb23-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: fix bug in vm_map() causing pager panic()

Prior to this patch vm_map() didn't allocate new page tables (PGTs) as
needed, it only checked that it later would be possible to allocate the
needed

core: fix bug in vm_map() causing pager panic()

Prior to this patch vm_map() didn't allocate new page tables (PGTs) as
needed, it only checked that it later would be possible to allocate the
needed PGTs. This is enough if the user_ta_ctx (UTC) isn't active. With
dynamically linked libraries the UTC will be active when vm_map() is
called to make room for the new segments. If the already allocated PGTs
happen to cover even the new memory range it will still work, this is
normally the case with CFG_WITH_LPAE=y since each page table covers 2
MiB. With CFG_WITH_LPAE=n the page tables only covers 1 MiB and that's
not enough when loading the os_test TA in xtest case 1006.

This patch fixes the problem by instead of just checking that it later
will be possible to allocate needed PGTs, it also allocates the PGTs if
the UTC is active.

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

show more ...

a01855fd20-Nov-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: remove MOBJ_INVALID_COOKIE

Removes MOBJ_INVALID_COOKIE which resulted in an unexpected ABI change
against the normal world driver. Instead 0 is continued to be used as an
invalid/absent cookie

core: remove MOBJ_INVALID_COOKIE

Removes MOBJ_INVALID_COOKIE which resulted in an unexpected ABI change
against the normal world driver. Instead 0 is continued to be used as an
invalid/absent cookie value.

Tested-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reported-by: Sumit Garg <sumit.garg@linaro.org>
Fixes: cd278f78382b ("core: simplify shm cookie handling")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

6009538c24-Oct-2018 Jens Wiklander <jens.wiklander@linaro.org>

core: introduce generic optee_rpc_cmd.h

Replaces the OPTEE_MSG RPC command protocol descriptions in optee_msg.h
and optee_msg_supplicant with a generic optee_rpc_cmd.h. Defined names
are also refact

core: introduce generic optee_rpc_cmd.h

Replaces the OPTEE_MSG RPC command protocol descriptions in optee_msg.h
and optee_msg_supplicant with a generic optee_rpc_cmd.h. Defined names
are also refactored to mirror the new structure.

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

show more ...

1...<<919293949596979899100>>...146