| 69a3d6be | 18-Feb-2019 |
Daniel Glöckner <dg@emlix.com> |
libutee: fix TEE_OpenPersistentObject() error behavior
The TEE spec says about TEE_OpenPersistentObject(): "If this function fails for any reason, the value pointed to by object is set to TEE_HANDLE
libutee: fix TEE_OpenPersistentObject() error behavior
The TEE spec says about TEE_OpenPersistentObject(): "If this function fails for any reason, the value pointed to by object is set to TEE_HANDLE_NULL."
Signed-off-by: Daniel Glöckner <dg@emlix.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 98921eed | 15-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 ...
|
| c2a93232 | 06-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 ...
|
| 6a5de41d | 06-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 ...
|
| 95b717cb | 06-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 ...
|
| 31775e70 | 12-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 ...
|
| ae21bcac | 12-Feb-2019 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: deprecate read32(), write32() and friends
read8(), read16(), read32() write8(), write16() and write32() are deprecated since the equivalent, prefixed with io_ were introduced are aligns functi
core: deprecate read32(), write32() and friends
read8(), read16(), read32() write8(), write16() and write32() are deprecated since the equivalent, prefixed with io_ were introduced are aligns functions API with other memory cell accesses util functions as io_mask32() or pub_be32().
This change fully removes support for the deprecated functions.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| af4c7f4b | 12-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 ...
|
| cb40b9d8 | 12-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 ...
|
| 8bf2b291 | 12-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 ...
|
| b34bcab2 | 12-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 ...
|
| 3f66fc74 | 14-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 ...
|
| 79f948c6 | 12-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 ...
|
| 5dbc88e3 | 12-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 ...
|
| 22e7ddf8 | 12-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 ...
|
| 35bf1f28 | 12-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 ...
|
| 242b87c8 | 12-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 ...
|
| c9df313b | 12-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 ...
|
| 1c3ba0d4 | 12-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 ...
|
| 918bb3a5 | 12-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 ...
|
| b7d2b849 | 12-Feb-2019 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutil: io_clrsetbitsX() firends for 8bit and 16bit accesses
Introduce io_setbits8(), io_clrbits8(), io_clrsetbits8() and io_setbits16(), io_clrbits16(), io_clrsetbits16() for bit clear/set util ov
libutil: io_clrsetbitsX() firends for 8bit and 16bit accesses
Introduce io_setbits8(), io_clrbits8(), io_clrsetbits8() and io_setbits16(), io_clrbits16(), io_clrsetbits16() for bit clear/set util over 8bit and 16bit memory cells on the model of existing io_clrsetbits32() and friends.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2d0c93df | 12-Feb-2019 |
Etienne Carriere <etienne.carriere@linaro.org> |
libutil: replace write*() util functions with io_write*()
write8(), write16() and write32() expect the target written address as 1st argument and the written value as 2nd argument. This is confusing
libutil: replace write*() util functions with io_write*()
write8(), write16() and write32() expect the target written address as 1st argument and the written value as 2nd argument. This is confusing as put_be32(), put_be64(), io_mask32(), and the io_*bits32() functions expect the opposite: 1st argument is the address and 2nd argument is the written value(s).
This change introduces functions io_write8(), io_write16() and io_write32() with io_mask32() like APIs. This change introduces io_read*() for consistency: all prefixed with io_.
This change preserve the write8/write16/write32 functions for compatibility. These will be deprecated in the next OP-TEE release to lower confusion around these.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 644ac91c | 14-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 ...
|
| 53c1131c | 12-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 ...
|
| a5e82dc7 | 11-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 ...
|