History log of /optee_os/core/arch/arm/ (Results 2326 – 2350 of 3635)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1fcac77419-Feb-2019 Sandeep Tripathy <sandeep.tripathy@broadcom.com>

drivers: GICv3: Configure native secure interrupt

OP-TEE dispatcher registers with TF-A to handle EL1S interrupts
by design. OP-TEE should own the G1S interrupts in GICv3.
-gic_it_add() should resul

drivers: GICv3: Configure native secure interrupt

OP-TEE dispatcher registers with TF-A to handle EL1S interrupts
by design. OP-TEE should own the G1S interrupts in GICv3.
-gic_it_add() should result in configuring a given interrupt to
G1S instead of G0 for GICv3.
-G1S interrupts to be enabled at distributor interface.
-system interface register ICC_IGRPEN1_EL1 to be used to enable
G1S interrupts.

Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Reviewed-by: Soby Mathew <soby.mathew@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

b766702030-Jan-2019 Zeng Tao <prime.zeng@hisilicon.com>

Add support for Hisilicon Hi3519AV100 DEMO board

Hi3519AV100 is a high-performance and low-power 4K
Smart IP Camera SoC designed for IP cameras, action cameras,
panoramic cameras, rear view mirrors,

Add support for Hisilicon Hi3519AV100 DEMO board

Hi3519AV100 is a high-performance and low-power 4K
Smart IP Camera SoC designed for IP cameras, action cameras,
panoramic cameras, rear view mirrors, and UAVs. Hi3519A
V100 introduces H.265/H.264 encoding and decoding, with
performance up to 4K x 2K@60 fps and 1080p@240 fps.
For more information:
http://www.hisilicon.com/en/Products/ProductList/Surveillance

This patch has been tested using the following step,
1. Patch the uboot and Linux kernel with OP-TEE support if required
2. build step:
(1) make CROSS_COMPILE=arm-himix200-linux- PLATFORM=hisilicon
PLATFORM_FLAVOR=hi3519av100_demo (OPTEE-OS build)

(2) make CROSS_COMPILE_HOST=arm-himix200-linux- (OPTEE_CLIENT build)

(3) cross_compile openssl and replace optee_test/host/libopenssl

(4) make CROSS_COMPILE_HOST=arm-himix200-linux-
CROSS_COMPILE_TA=arm-himix200-linux-
TA_DEV_KIT_DIR=../optee_os/out/arm-plat-hisilicon/export-ta_arm32
COMPILE_NS_USER=32 (OPTEE_TEST build)

3. mkimage -A arm -T kernel -O tee -C none -d tee.bin uTee.optee
4. Boot setting in uboot:
nand read 0x22007fc0 0x100000 0x400000; /* load kernel */
tftp 0x30000000 uTee.optee;bootm 0x30000000;
5. after Linux startup, run daemon tee-supplicant
6. run xtest

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>

show more ...

dfcb422817-Feb-2019 Peng Fan <peng.fan@nxp.com>

core: mm: simplify overlap check

Overlap region check could be simplified as below:
"(StartA <= EndB) and (StartB <= EndA)"

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

core: mm: simplify overlap check

Overlap region check could be simplified as below:
"(StartA <= EndB) and (StartB <= EndA)"

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

show more ...

98921eed15-Feb-2019 Jerome Forissier <jerome.forissier@linaro.org>

Revert "core_mmu: phys_to_virt_io(): warn if PA has both S and NS mappings"

This reverts commit 53c1131c3dee546d6d618a0f7f20586598ca032c. The
original change breaks platforms that map their console

Revert "core_mmu: phys_to_virt_io(): warn if PA has both S and NS mappings"

This reverts commit 53c1131c3dee546d6d618a0f7f20586598ca032c. The
original change breaks platforms that map their console UART in both
security domains [1]. In this case, the platform won't boot because the
error message causes infinite recursion.

Since add_phys_mem() warns about overlaps already, there is really no
need for more checks.

Link: [1] https://github.com/OP-TEE/optee_os/issues/2821
Reported-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c2a9323206-Feb-2019 Volodymyr Babchuk <vlad.babchuk@gmail.com>

plat-rcar: add support for H3 module with 8GB memory

Renesas calls this flavor "salvator-h3-4x2g", in OP-TEE flavor
will be named "salvator_h3_4x2g".

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@

plat-rcar: add support for H3 module with 8GB memory

Renesas calls this flavor "salvator-h3-4x2g", in OP-TEE flavor
will be named "salvator_h3_4x2g".

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Joakim Bech <joakim.bech@linaro.org>

show more ...

6a5de41d06-Feb-2019 Volodymyr Babchuk <vlad.babchuk@gmail.com>

plat-rcar: virtualization port for RCAR platform

Put platform information into nexus sections, so they are
available at all times.

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by

plat-rcar: virtualization port for RCAR platform

Put platform information into nexus sections, so they are
available at all times.

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

95b717cb06-Feb-2019 Volodymyr Babchuk <vlad.babchuk@gmail.com>

mmu_lpae: flush TLBs when switching partitions

Missed TLB flush caused random page faults on Renesas HW.

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Jerome Forissier <jerome

mmu_lpae: flush TLBs when switching partitions

Missed TLB flush caused random page faults on Renesas HW.

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

31775e7012-Feb-2019 Etienne Carriere <etienne.carriere@st.com>

stm32mp1: fix missing ETZPC mapping

Fixes commit 1095cc2ec739 ("stm32mp1: platform enables STM32 ETZPC driver")
that did not define ETZPC interface registers mapping.

Signed-off-by: Etienne Carrier

stm32mp1: fix missing ETZPC mapping

Fixes commit 1095cc2ec739 ("stm32mp1: platform enables STM32 ETZPC driver")
that did not define ETZPC interface registers mapping.

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

show more ...

af4c7f4b12-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

zynq7k: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-o

zynq7k: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

cb40b9d812-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

ti: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-off-b

ti: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

8bf2b29112-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

synquancer: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Sign

synquancer: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

b34bcab212-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

sunxi: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-of

sunxi: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

3f66fc7414-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

stm32mp1: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed

stm32mp1: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

79f948c612-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

stm: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-off-

stm: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

5dbc88e312-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

sam: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-off-

sam: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

22e7ddf812-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

rockchip: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed

rockchip: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

35bf1f2812-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

marvell: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-

marvell: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

242b87c812-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

ls: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-off-b

ls: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

c9df313b12-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

imx: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-off-

imx: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

1c3ba0d412-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

hikey: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

Signed-of

hikey: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former are about to be deprecated in favor to the later.

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

show more ...

918bb3a512-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

core: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former function are about to be deprecated in favor to the later.

T

core: upgrade from write32() to io_write32() and friends

Replace use of readX() and writeX() with io_readX() and io_writeX().
The former function are about to be deprecated in favor to the later.

This change upgrades core generic code and drivers.
At some place, io_clrbitsX(), io_setbitsX() and io_clrsetbitsX()
replace the writeX(readX() ...) operations when obvious.

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

show more ...

644ac91c14-Feb-2019 Etienne Carriere <etienne.carriere@st.com>

stm32mp1: reset driver for platform peripheral interfaces

Reset API functions:
- stm32_reset_assert(id) asserts reset signal on target resource.
- stm32_reset_deassert(id) releases reset signal on t

stm32mp1: reset driver for platform peripheral interfaces

Reset API functions:
- stm32_reset_assert(id) asserts reset signal on target resource.
- stm32_reset_deassert(id) releases reset signal on target resource.

Driver API relies on resource IDs defined in the platform DT bindings
header file dt-bindings/reset/stm32mp1_reset.h.

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

show more ...

53c1131c12-Feb-2019 Jerome Forissier <jerome.forissier@linaro.org>

core_mmu: phys_to_virt_io(): warn if PA has both S and NS mappings

phys_to_virt_io() converts a physical address previously registered with
type MEM_AREA_IO_SEC or MEM_AREA_IO_NSEC to a virtual addr

core_mmu: phys_to_virt_io(): warn if PA has both S and NS mappings

phys_to_virt_io() converts a physical address previously registered with
type MEM_AREA_IO_SEC or MEM_AREA_IO_NSEC to a virtual address.
If both secure and non-secure mappings exist for the PA, the secure
mapping is used. This is usually fine, but some platforms may not allow
accessing a non-secure PA with a secure mapping.

Therefore, either overlaps should be avoided when registering memory,
or phys_to_virt(pa, type) should be used instead of phys_to_virt_io().

This commit adds a warning message in case phys_to_virt_io() finds two
mappings.

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

a5e82dc711-Feb-2019 Jerome Forissier <jerome.forissier@linaro.org>

core_mmu: do not restrict device memory mapping to PGDIR_SIZE granularity

Device memory registered via register_phys_mem() is currently rounded
up/down to CORE_MMU_PGDIR_SIZE (1 MiB, or 2 MiB for LP

core_mmu: do not restrict device memory mapping to PGDIR_SIZE granularity

Device memory registered via register_phys_mem() is currently rounded
up/down to CORE_MMU_PGDIR_SIZE (1 MiB, or 2 MiB for LPAE). This is not
needed and possibly incorrect for SoCs that define I/O memory maps with
regions aligned on a small page (4 KiB), because using a larger
granularity could result in overlaps between secure and non-secure
mappings. This could cause issues depending on the type of memory
firewall used by the SoC and its configuration. In any case, memory
types other than MEM_AREA_IO_{SEC,NSEC} *can* be mapped with small page
granularity using register_phys_mem(), so the situation is a bit
inconsistent.

This commit removes the rounding by default and provides a new macro:
register_phys_mem_pgdir(). Platforms that still need to use PGDIR_SIZE
granularity (typically because it consumes less page table space) need
to replace register_phys_mem() by register_phys_mem_pgdir().

In order to avoid any functional change in platform code, all calls to
register_phys_mem() with device memory are replaced with
register_phys_mem_pgdir(). In addition, CORE_MMU_DEVICE_SIZE is removed
and replaced with CORE_MMU_PGDIR_SIZE since there is no unique mapping
size for device memory anymore.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reported-by: Zeng Tao <prime.zeng@hisilicon.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

4d22155c12-Feb-2019 Etienne Carriere <etienne.carriere@linaro.org>

core: change io_{clr|set|clrset}bits32() address argument type

Change API for io_clrbits32(), io_setbits32() and io_clrsetbits32() to
have a vaddr_t type address argument, rather than uintptr_t as
p

core: change io_{clr|set|clrset}bits32() address argument type

Change API for io_clrbits32(), io_setbits32() and io_clrsetbits32() to
have a vaddr_t type address argument, rather than uintptr_t as
previously.

This change updates accordingly the callers of these functions
that cover only stm32mp1 related resources.

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

show more ...

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