2018-03-07 |
Merge pull request #1239 from arve-android/trusty-fixes
...
Trusty fixes
davidcunado-arm
authored
on 7 Mar 2018
GitHub
committed
on 7 Mar 2018
|
2018-03-02 |
trusty: Fix another reported misra violation
...
Change-Id: I822ccf5852dce4c01f98382cc393331f29e1e256
Arve Hjønnevåg
committed
on 2 Mar 2018
|
2018-03-01 |
trusty: Fix reported misra violation
...
memset does not return a useful result here, so explitcitly ignore it
Change-Id: I33cd2228cadc280ee8e5ce3a4f8682dde9a7c16c
Arve Hjønnevåg
committed
on 1 Mar 2018
|
2018-02-28 |
trusty: Fix reported static check errors
...
Change-Id: I9f9a8a159b41be1c865a20801d03a1b2934c3cac
Arve Hjønnevåg
committed
on 28 Feb 2018
|
trusty: Change type of aarch32 flag t bool
...
Change-Id: Ie4f937808d24c9b45066c6582c4eee61699ef6df
Arve Hjønnevåg
committed
on 28 Feb 2018
|
2018-02-27 |
TSPD: Register preempted SMC error code with EHF
...
An earlier patch extended ehf_allow_ns_preemption() API to also register
an error code to offer to Non-secure when a Yielding SMC is preempted by
SDEI interrupt. In TSPD's case, register the error code TSP_PREEMPTED.
Change-Id: I31992b6651f80694e83bc5092b044ef7a3eda690
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Jeenu Viswambharan
committed
on 27 Feb 2018
|
2018-02-21 |
tegra/trusty: Setup tegra specific trusty args in platform code
...
Fixes tegra build with SPD=trusty. Not tested.
Change-Id: I851a2b00b8b1cc65112b6088980a811d8eda1a99
Arve Hjønnevåg
committed
on 21 Feb 2018
|
2018-02-06 |
TSPD: Require NS preemption along with EL3 exception handling
...
At present, the build option TSP_NS_INTR_ASYNC_PREEMPT controls how
Non-secure interrupt affects TSPs execution. When TSP is executing:
1. When TSP_NS_INTR_ASYNC_PREEMPT=0, Non-secure interrupts are received
at the TSP's exception vector, and TSP voluntarily preempts itself.
2. When TSP_NS_INTR_ASYNC_PREEMPT=1, Non-secure interrupts causes a
trap to EL3, which preempts TSP execution.
When EL3 exception handling is in place (i.e.,
EL3_EXCEPTION_HANDLING=1), FIQs are always trapped to EL3. On a system
with GICv3, pending NS interrupts while TSP is executing will be
signalled as FIQ (which traps to EL3). This situation necessitates the
same treatment applied to case (2) above.
Therefore, when EL3 exception handling is in place, additionally
require that TSP_NS_INTR_ASYNC_PREEMPT is set to one 1.
Strictly speaking, this is not required on a system with GICv2, but the
same model is uniformly followed regardless, for simplicity.
Relevant documentation updated.
Change-Id: I928a8ed081fb0ac96e8b1dfe9375c98384da1ccd
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Jeenu Viswambharan
committed
on 6 Feb 2018
|
TSPD: Explicitly allow NS preemption for Yielding SMCs
...
When EL3 exception handling is in effect (i.e.,
EL3_EXCEPTION_HANDLING=1), Non-secure interrupts can't preempt Secure
execution. However, for yielding SMCs, preemption by Non-secure
interupts is intended.
This patch therefore adds a call to ehf_allow_ns_preemption() before
dispatching a Yielding SMC to TSP.
Change-Id: Ia3a1ae252f3adc0f14e6d7e0502f251bdb349bdf
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Jeenu Viswambharan
committed
on 6 Feb 2018
|
2018-02-01 |
trusty: generic-arm64-smcall: Use SPDX license identifiers
...
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 1 Feb 2018
|
2018-01-24 |
trusty: Pass cpu suspend/resume reason to trusty
...
Add off/on argument to SMC_FC_CPU_SUSPEND SMC_FC_CPU_RESUME and pass
1 when called from the cpu on/off hooks.
Change-Id: Ie233c446fd38b3ff8546e445a8d86a15d2816093
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 24 Jan 2018
|
trusty: Run bl33 in EL1 instead of EL2 is trusty image is 32-bit
...
The secure physical timer is inacessible from 32-bit S-EL1 (when EL3
is 64-bit) so trusty will use the non-secure physical timer in this
case. Linux will use the virtual timer instead of the physical timer
when started in EL1.
Change-Id: Ie49348d9a27e5287676dd4a77f678ecbd6c2309f
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 24 Jan 2018
|
trusty: Add fpu/simd support
...
The original patch has been partly merged. This adds the missing
pieces.
Change-Id: I77fd434feab396ff05d9b8e0c1761e4dd588a701
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 24 Jan 2018
|
trusty: Add generic-arm64 support
...
Add smc calls to return gic base address and print to the debug
console. Allows running a generic trusty binary.
Change-Id: I4b6540f140f11432cdff43c3f5a2097df09dc9d1
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 24 Jan 2018
|
trusty: Restore working trusty setup code and include trusty image in build
...
Change-Id: I081901e7df22f78dd9c4fc4c6bfad2aceb870a2d
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Arve Hjønnevåg
committed
on 24 Jan 2018
|
2018-01-08 |
spd: tlkd: support for "NS memory ranges" function ID
...
This patch adds support to receive function ID with NS world's
memory ranges to provide the memory snapshot to TLK.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Varun Wadekar
committed
on 8 Jan 2018
|
2017-11-08 |
spd: Use `ENABLE_ASSERTIONS` instead of `DEBUG`
...
A line in the upstream SPDs is only compiled in in `DEBUG` builds. This
line is used to help with assertions and so assertion failures can
happen in release builds with assertions enabled. Use
`ENABLE_ASSERTIONS` instead of `DEBUG`.
This bug was introduced in commit aa61368eb5, which introduced the build
option `ENABLE_ASSERTIONS`.
Change-Id: I7977df9c89c68677b00099b2a1926fa3cb0937c6
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Antonio Nino Diaz
committed
on 8 Nov 2017
|
2017-09-19 |
trusty: save/restore FPU registers in world switch
...
Currently, Trusty OS/LK implemented FPU context switch in internal
thread switch but does not implement the proper mechanism for world
switch. This commit just simply saves/restores FPU registes in world
switch to prevent FPU context from being currupted when Trusty OS uses
VFP in its applications.
It should be noted that the macro *CTX_INCLUDE_FPREGS* must be defined
in trusty.mk if Trusty OS uses VFP
Signed-off-by: Aijun Sun <aijun.sun@spreadtrum.com>
Aijun Sun
committed
on 19 Sep 2017
|
2017-08-24 |
opteed: pass device tree pointer in x2
...
Pass device tree pointer to OP-TEE in x2. bl2 is expected to fill in the
device tree pointer in args.arg3. Passing 0 means that device tree is
unavailable.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Jens Wiklander
committed
on 24 Aug 2017
|
2017-08-09 |
Support paging function for OPTEE.
...
ARM TF need transfer information about pageable image load address
and memory limit to OPTEE. OPTEE will relocate the pageable image
to where it's needed.
The legacy OP-TEE images that do not include header information
are not affected.
Change-Id: Id057efbbc894de7c36b2209b391febea4729c455
Signed-off-by: Edison Ai <edison.ai@arm.com>
Edison Ai
committed
on 9 Aug 2017
|
2017-07-12 |
Fix order of #includes
...
This fix modifies the order of system includes to meet the ARM TF coding
standard. There are some exceptions in order to retain header groupings,
minimise changes to imported headers, and where there are headers within
the #if and #ifndef statements.
Change-Id: I65085a142ba6a83792b26efb47df1329153f1624
Signed-off-by: Isla Mitchell <isla.mitchell@arm.com>
Isla Mitchell
committed
on 12 Jul 2017
|
2017-06-14 |
Tegra: enable 'signed-comparison' compilation warning/errors
...
This patch enables the 'sign-compare' flag, to enable warning/errors
for comparisons between signed/unsigned variables. The warning has
been enabled for all the Tegra platforms, to start with.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Varun Wadekar
committed
on 14 Jun 2017
|
2017-05-04 |
Migrate secure payload dispatchers to new SMC terminology
...
Since Issue B (November 2016) of the SMC Calling Convention document
standard SMC calls are renamed to yielding SMC calls to help avoid
confusion with the standard service SMC range, which remains unchanged.
http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pd
A previous patch introduced a new define for yielding SMC call type.
This patch updates the secure payload dispatchers (except the TSPD) to
use this new define and also migrates the code to use the new
terminology.
Change-Id: I3d2437c04e3b21fdbd32019f55c066c87679a5bf
Signed-off-by: David Cunado <david.cunado@arm.com>
David Cunado
committed
on 4 May 2017
|
Merge pull request #925 from dp-arm/dp/spdx
...
Use SPDX license identifiers
davidcunado-arm
authored
on 4 May 2017
GitHub
committed
on 4 May 2017
|
2017-05-03 |
Use SPDX license identifiers
...
To make software license auditing simpler, use SPDX[0] license
identifiers instead of duplicating the license text in every file.
NOTE: Files that have been imported by FreeBSD have not been modified.
[0]: https://spdx.org/
Change-Id: I80a00e1f641b8cc075ca5a95b10607ed9ed8761a
Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
dp-arm
committed
on 3 May 2017
|
2017-05-02 |
Merge pull request #919 from davidcunado-arm/dc/smc_yielding_generic
...
Update terminology: standard SMC to yielding SMC
davidcunado-arm
authored
on 2 May 2017
GitHub
committed
on 2 May 2017
|
2017-04-26 |
Update terminology: standard SMC to yielding SMC
...
Since Issue B (November 2016) of the SMC Calling Convention document
standard SMC calls are renamed to yielding SMC calls to help avoid
confusion with the standard service SMC range, which remains unchanged.
http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
This patch adds a new define for yielding SMC call type and deprecates
the current standard SMC call type. The tsp is migrated to use this new
terminology and, additionally, the documentation and code comments are
updated to use this new terminology.
Change-Id: I0d7cc0224667ee6c050af976745f18c55906a793
Signed-off-by: David Cunado <david.cunado@arm.com>
David Cunado
committed
on 26 Apr 2017
|
2017-04-20 |
tspd:FWU:Fix usage of SMC_RET0
...
SMC_RET0 should only be used when the SMC code works as a function that
returns void. If the code of the SMC uses SMC_RET1 to return a value to
signify success and doesn't return anything in case of an error (or the
other way around) SMC_RET1 should always be used to return clearly
identifiable values.
This patch fixes two cases in which the code used SMC_RET0 instead of
SMC_RET1.
It also introduces the define SMC_OK to use when an SMC must return a
value to tell that it succeeded, the same way as SMC_UNK is used in case
of failure.
Change-Id: Ie4278b51559e4262aced13bbde4e844023270582
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Antonio Nino Diaz
committed
on 20 Apr 2017
|
2017-03-06 |
spd: trusty: support for AARCH64 mode
...
This patch removes support for running Trusty in the AARCH32 mode as
all platforms use it in only AARCH64 mode.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Varun Wadekar
committed
on 6 Mar 2017
|
spd: trusty: save context starting from the stack end
...
This patch uses the stack end to start saving the CPU context
during world switch. The previous logic, used the stack start
to save the context, thus overwriting the other members of the
context.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Varun Wadekar
committed
on 6 Mar 2017
|