History log of /optee_os/core/ (Results 5551 – 5575 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5acb1bc612-Dec-2016 David Wang <david.wang@arm.com>

Rename the secure and non-secure interrupts

Currently, the secure interrupts are named as FIQ and the non-secure
interrupts are named as IRQ.

In GICv3 mode, the FIQ and IRQ have different definitio

Rename the secure and non-secure interrupts

Currently, the secure interrupts are named as FIQ and the non-secure
interrupts are named as IRQ.

In GICv3 mode, the FIQ and IRQ have different definitions.
* Secure Group 0 interrupts:
Handled by EL3 and triggered by FIQ when running at Secure EL0/1.
* Secure Group 1 interrupts:
Handled by optee_os and triggered by IRQ when running at Secure EL0/1.
* Non-secure Group1 interrupts:
Handled by the rich os and triggered by FIQ when running at Secure
EL0/1.

The "Secure Group 1" interrupts are the "native" interrupts handled by
optee_os. They are same as the "secure" interrupts used in optee_os
for now. But they are triggered by FIQ in GICv2 mode while by IRQ in
GICv3 mode.

The "Secure Group 0" and "Non-secure Group1" interrupts are the
"foreign" interrupts that will cause the exiting of optee_os. (e.g.
switch back to normal world) The "Non-secure Group1" interrupts are
same as the "non-secure"interrupts used in optee_os for now. But they
are triggered by IRQ in GICv2 mode while by FIQ in GICv3 mode.

This patch renames these interrupts to the generic names - "Foreign
interrupts" and "Native interrupts".
For the support of GICv3 mode in the future, we can redefine the macros
of "native interrupt" and "foreign interrupt" to IRQ and FIQ.

Signed-off-by: David Wang <david.wang@arm.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)

show more ...

dd958c6309-Sep-2016 Andrew F. Davis <afd@ti.com>

plat-ti: Add AM57xx platform flavor

The AM57xx flavor is based on DRA7xx except that it uses a
different UART port. Add this here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Jerome Fo

plat-ti: Add AM57xx platform flavor

The AM57xx flavor is based on DRA7xx except that it uses a
different UART port. Add this here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5849875f19-Aug-2015 Andrew F. Davis <afd@ti.com>

monitor: Add support for platform services

Add the capability for a platform to plugin its own services, often
legacy services for compatibility purposes.

Add these services for the dra7xx platform

monitor: Add support for platform services

Add the capability for a platform to plugin its own services, often
legacy services for compatibility purposes.

Add these services for the dra7xx platform.

The file 'api_monitor_index.h' is synced to a an out-of-tree file and
so we should ignore formatting. Add this exeption to checkpatch.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Daniel Allred <d-allred@ti.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

72057c7c20-Feb-2017 Victor Chong <victor.chong@linaro.org>

drivers: pl022: Prevent possible rx fifo overflow

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <eti

drivers: pl022: Prevent possible rx fifo overflow

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

26128b8f28-Dec-2016 Victor Chong <victor.chong@linaro.org>

drivers: pl022: Allow platforms to register CS control function

If a CS callback function is registered, the system provided one
will not be used.

Signed-off-by: Victor Chong <victor.chong@linaro.o

drivers: pl022: Allow platforms to register CS control function

If a CS callback function is registered, the system provided one
will not be used.

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Tested-by: Victor Chong <victor.chong@linaro.org> (HiKey)
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

6356eeb228-Dec-2016 Victor Chong <victor.chong@linaro.org>

drivers: spi: Make configure, start and end functions generic

Move configure, start and end functions from IP specific files into
spi_ops in spi.h to allow platforms to call and control them via
the

drivers: spi: Make configure, start and end functions generic

Move configure, start and end functions from IP specific files into
spi_ops in spi.h to allow platforms to call and control them via
the generic framework.

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

9a2efe0428-Dec-2016 Victor Chong <victor.chong@linaro.org>

drivers: pl022: Add more checks and configuration

- Add checks for proper data size before packet transfer
- Check also busy status before exiting rx loop to avoid possible
endless looping
- Clear

drivers: pl022: Add more checks and configuration

- Add checks for proper data size before packet transfer
- Check also busy status before exiting rx loop to avoid possible
endless looping
- Clear interrupts during configure

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

2ff86f6028-Dec-2016 Victor Chong <victor.chong@linaro.org>

drivers: spi: simplify code

1. SPI mandates that sizes of transmitted and received packet are of same
size [1]. As discussed in [2], this means that *num_rxpkts != num_txpkts
is not a valid use case

drivers: spi: simplify code

1. SPI mandates that sizes of transmitted and received packet are of same
size [1]. As discussed in [2], this means that *num_rxpkts != num_txpkts
is not a valid use case so there's no need for both and we can just merge
them and use num_pkts.

2. Remove tx{8,16} and rx{8,16} only functions as these are not
commonly used. If necessary, users can call just txrx{8,16} with
rdat or wdat as NULL for tx{8,16} and rx{8,16} respectively as
replacements. E.g.:

tx8:
txrx8(chip, wdat, NULL, num_pkts);

rx16:
txrx16(chip, NULL, rdat, num_pkts);

3. Remove unnecessary or repetitive enums and headers and line feeds

[1] http://www.quanser.com/products/quarc/documentation/spi_protocol.html
[2] https://github.com/OP-TEE/optee_os/pull/1215

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

86a9d40d27-Dec-2016 Victor Chong <victor.chong@linaro.org>

hikey: spi: configure chip select pin as spi instead of gpio

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Ca

hikey: spi: configure chip select pin as spi instead of gpio

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

3765523a27-Dec-2016 Victor Chong <victor.chong@linaro.org>

hikey: spi_test: Reduce speed to 10KHz and add missing initializer

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etie

hikey: spi_test: Reduce speed to 10KHz and add missing initializer

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

889dbbbf13-Feb-2017 Victor Chong <victor.chong@linaro.org>

core: Add tee_time_busy_wait()

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linar

core: Add tee_time_busy_wait()

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: rebase on top of master]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

c8f27bde26-Jan-2017 Andy Green <andy@warmcat.com>

CFG_CORE_TZSRAM_EMUL_SIZE increase to 360KiB

Without increasing CFG_CORE_TZSRAM_EMUL_SIZE, build fails on vexpress with
many options like this:

readelf: Warning: Corrupt ARM compact model table ent

CFG_CORE_TZSRAM_EMUL_SIZE increase to 360KiB

Without increasing CFG_CORE_TZSRAM_EMUL_SIZE, build fails on vexpress with
many options like this:

readelf: Warning: Corrupt ARM compact model table entry: e12fff1e
readelf: Warning: Unknown ARM compact model index encountered
readelf: Warning: Corrupt ARM compact model table entry: e12fff1e
readelf: Warning: Unknown ARM compact model index encountered
readelf: Warning: Corrupt ARM compact model table entry: e12fff1e
readelf: Warning: Unknown ARM compact model index encountered
readelf: Warning: Corrupt ARM compact model table entry: e12fff1e
readelf: Warning: Unknown ARM compact model index encountered
arm-linux-gnueabihf-ld: OP-TEE can't fit init part into available
physical memory
make: *** [out/arm-plat-vexpress/core/tee.elf] Error 1

The command "$make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y
CFG_SQL_FS=y CFG_DT=y CFG_PS2MOUSE=y CFG_PL050=y CFG_PL111=y
CFG_TEE_CORE_LOG_LEVEL=1 CFG_TEE_CORE_DEBUG=y DEBUG=1" exited with 2.

Signed-off-by: Andy Green <andy@warmcat.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

82f97f1926-Jan-2017 Andy Green <andy@warmcat.com>

prng: call plat_prng_add_jitter_entropy() at PRNG init and before NW RPC

This patch adds the new platform jitter collection API to be called first
at PRNG init, and subsequently on every RPC.

Signe

prng: call plat_prng_add_jitter_entropy() at PRNG init and before NW RPC

This patch adds the new platform jitter collection API to be called first
at PRNG init, and subsequently on every RPC.

Signed-off-by: Andy Green <andy@warmcat.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

2a5e2ec626-Jan-2017 Andy Green <andy@warmcat.com>

prng: move old implementation to be weak default

The patch replaces the original entropy scheme using system time with
the new api plat_prng_add_jitter_entropy().

The old scheme aimed to get 64 bit

prng: move old implementation to be weak default

The patch replaces the original entropy scheme using system time with
the new api plat_prng_add_jitter_entropy().

The old scheme aimed to get 64 bits of entropy from the current time
expressed in 64 bits in ms each time. Most of this was in fact zeros or
unchanging for >256s. If you call it twice with 1ms, it actually
provides 0 bits of entropy.

The replacement scheme aims to get 2 bits of entropy from the counter,
which typically operates faster than 1MHz, greater than a thousand times
more precision than the old way, each time.

For backwards compatibility, the old scheme is retained as the default
or arches or platforms that did not provide an override to collect
jitter in a better way.

Signed-off-by: Andy Green <andy@warmcat.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

4f448dff26-Jan-2017 Andy Green <andy@warmcat.com>

prng: implement CNTPCT-based jitter entropy for all arm arch devices

Tests dumping CNTPCT at the same point in three boots on Hikey
gave the following spread:

0xebff3fdd80daceb5
0xebff3fdd80da4601

prng: implement CNTPCT-based jitter entropy for all arm arch devices

Tests dumping CNTPCT at the same point in three boots on Hikey
gave the following spread:

0xebff3fdd80daceb5
0xebff3fdd80da4601
0xeaff3fdd7edb5dcc

things like eMMC async init from power up, interrupt jitter, branch
prediction misses, peripheral async clock drift, cache fill delays,
and so on accumulate in the counter at better than us resolution,
and make the exact count we reach the dump point differ, even in a
supposedly deterministic boot flow.

There appear to be ~12 bits of real entropy in the initial jitter, by
the time of the sample point which was at OP-TEE entry from a-t-f.

A new general jitter harvesting API is introduced
plat_prng_add_jitter_entropy(). The first time it is called on
PRNG init, 16 bits of CNTPCT are used as seed entropy. Thereafter
only the two LSB of CNTPCT are harvested each time, being provided
as entropy to the PRNG every time it reaches 8 bits.

Signed-off-by: Andy Green <andy@warmcat.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

c640d6ef15-Nov-2016 Andrew F. Davis <afd@ti.com>

plat-ti: Enable GIC driver support for DRA7xx

The DRA7xx platform contains a standard GICv2. Enable this driver.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Jens Wiklander <jens.wiklan

plat-ti: Enable GIC driver support for DRA7xx

The DRA7xx platform contains a standard GICv2. Enable this driver.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

cb0b595413-Dec-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: add pseudo TA for socket

Adds a pseudo TA sockets using tee-supplicant.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (

core: add pseudo TA for socket

Adds a pseudo TA sockets using tee-supplicant.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260 pager=y/n)
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2818e64517-Feb-2017 Etienne Carriere <etienne.carriere@st.com>

core: fix traces in selftest pseudo TA

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

core: fix traces in selftest pseudo TA

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

show more ...

1cb254df17-Feb-2017 Etienne Carriere <etienne.carriere@st.com>

core: allow pseudo TA to not define some handlers

Pseudo TAs that do not need to handle creation, destruction,
session opening and closure do not need to define a handler
for that.

Update pseudo TA

core: allow pseudo TA to not define some handlers

Pseudo TAs that do not need to handle creation, destruction,
session opening and closure do not need to define a handler
for that.

Update pseudo TAs where such handlers at not really useful.
Keep the handlers for the selftest pseudo TA for its traces.


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

show more ...

6fded82e17-Feb-2017 Etienne Carriere <etienne.carriere@st.com>

core: allow pseudo TAs to define properties

Before this change, pseudo TAs only supported the multi-session
property. This change allows pseudo TAs to define their expected
properties.

This change

core: allow pseudo TAs to define properties

Before this change, pseudo TAs only supported the multi-session
property. This change allows pseudo TAs to define their expected
properties.

This change will be required for the secure data path (SDP) support.
It allows a TA to be invoked with parameters referring to SDP
memory buffers.

During core init, the pseudo TA support verifies that all registered
pseudo TAs conforms with some It allows core to nicely panic if a
pseudo TA was badly declared, including UUID overlapping between
pseudo TAs.

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

show more ...

4d16894119-Oct-2016 Andrew F. Davis <afd@ti.com>

drivers: Add TRNG driver for DRA7

Add driver for the True Random Number Generator (TRNG) available
on DRA7xx platforms.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Joakim Bech <joakim.

drivers: Add TRNG driver for DRA7

Add driver for the True Random Number Generator (TRNG) available
on DRA7xx platforms.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

70aa17b814-Feb-2017 Zhizhou Zhang <zhizhouzhang@asrmicro.com>

core: mm: fix map_pa2va()'s bad behavior

map->region_size is `unsigned'. In 64-bit machine,
~((vaddr_t)map->region_size - 1)) will discard high
32-bit. results wrong va value.

Signed-off-by: Zhizho

core: mm: fix map_pa2va()'s bad behavior

map->region_size is `unsigned'. In 64-bit machine,
~((vaddr_t)map->region_size - 1)) will discard high
32-bit. results wrong va value.

Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

09eb522b14-Feb-2017 Zhizhou Zhang <zhizhouzhang@asrmicro.com>

core: arm64: make exception vector 11-bit aligned

bit 0 to bit 10 in VBAR_EL1 is RES0. We should not rely on
RES0 values.

Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com>
Reviewed-by: Jens

core: arm64: make exception vector 11-bit aligned

bit 0 to bit 10 in VBAR_EL1 is RES0. We should not rely on
RES0 values.

Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

b36e639b14-Feb-2017 Zhizhou Zhang <zhizhouzhang@asrmicro.com>

core: don't assume VA address size to 32-bit

For some board's PA may larger than 32-bit, in order to
create identity memory mapping, we should enlarge TCR.T0SZ.
Rename ADDR_SPACE_SIZE to CFG_LPAE_AD

core: don't assume VA address size to 32-bit

For some board's PA may larger than 32-bit, in order to
create identity memory mapping, we should enlarge TCR.T0SZ.
Rename ADDR_SPACE_SIZE to CFG_LPAE_ADDR_SPACE_SIZE, and move
the config entry to core/arch/arm/arm.mk.

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

show more ...

1bb9094711-Feb-2017 Sunny Kuo <sunnychingk@gmail.com>

core: fix phys_to_virt() in thread_std_smc_entry()

enum tee_core_memtypes (MEM_AREA_NSEC_SHM) is required by
phys_to_virt(), rather than enum buf_is_attr (CORE_MEM_NSEC_SHM)

Signed-off-by: Sunny Ku

core: fix phys_to_virt() in thread_std_smc_entry()

enum tee_core_memtypes (MEM_AREA_NSEC_SHM) is required by
phys_to_virt(), rather than enum buf_is_attr (CORE_MEM_NSEC_SHM)

Signed-off-by: Sunny Kuo <sunnychingk@gmail.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
[jf: update commit message with exact function/type names]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

1...<<221222223224225226227228229230>>...259