Age | Commit message (Collapse) | Author |
|
add system level standby state
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Fix power level number for warp7 because there are only two power levels
are defined.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Skip PSCI Affinity test as there is only one CPU core in SOC.
This test also cause test suite to exit.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Fix a typo for exception vector manipulation.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Adjust pc register after IRQ routine because CPU pipeline
increase the pc value while the instruction is not excuted
yet when IRQ interrupt pipeline.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
protect r4 register with fifo so that the data in r4 is not
corrupted after console function call.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Align timer register access to cp15. Then memory map is not necessary
for the test code.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
register nxp timer as platform timer to provide timeout interrupt service.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add nxp timer driver. This driver use compare channel 2 to
set timeout as one shot timer.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
add arch version flag in makefile so that this build flag
can be detected when building code.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
warp7: Fix unprotected reg in serial driver. R7 is used without
protection in current code and result various peculiar bugs.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Correct system counter register address. So that framework can
call it directly to get latest counter value.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
The mpid value get from tftf_plat_get_mpidr() should be
aligned with read_mpidr_el1(), so that below test is true
for lead core.
(read_mpidr_el1() & MPID_MASK) == mpid
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
change tftf load address to ease test. The original address
is for optee. TFTF should play u-boot's role for test actually.
But for ease of test, we use u-boot to load it, as below boot
sequence of ATF -> optee -> u-boot -> tftf.
The command in u-boot console to boot tftf:
fatload mmc 0:1 0x9e000000 tftf.bin; go 0x9e000000
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
add irq stack size definition so that Aarch32 framework
can use it to define the stack in IRQ mode.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add stack for IRQ mode for ARMv7. Otherwise, stack operation in
IRQ mode result data abort due to data access to random address.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Skip hypervisor related system control registers manipulation and
operate on non-HYP version registers to support CPU suspend that
does not support hypervisor feature.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
workaround missing udiv instruction because it is optional instruction.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add tests list to skip for warp7. More will be added later
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add build config file to specify source code for compiling
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add power state and domain topology for warp7
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
register timer for warp7 to provide timer callback for
framework.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add basic platform setup code, include console and GIC
initilization.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add plat helpers function, platform_get_core_pos(). This
function is called in framework so we need implement it
though warp7 only have one CPU core.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add platform definition header, which defines all warp7
related configurations.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
add serial console output. Input function will be added later
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Adding ".arch_extension sec" to avoid failure for "smc #0"
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Print correct message for non-HYP mode as we are support non-HYP
mode now.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Some ARMv8 only assembly is used in aarch32 case, add ARMv7
version assembly code
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
Add vector base address handling in non-hyp mode in entry point
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
some ARMv7 SoC does not support hypervisor mode. Just skip
hypervisor related operation instead of trigger panic.
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
introduce cflags for ARMv7 for compiler
Signed-off-by: Jun Nie <jun.nie@linaro.org>
|
|
|
|
|
|
Split the function console_getc into console_getc and console_core_getc
like the rest of the console driver interfaces.
Change-Id: If1defe6ab99c3f72245a1e02b57d886fe92c2b2c
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
The autogen rule is not inside an 'eval' so it does not need a double
dollar for variable expansion. This made it print an empty string
like that:
AUTOGEN
Change-Id: I953fe72110d5edefbfd3bd2d4145af1d808b89d1
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Move default values of build options in defaults.mk and include the
latter from the top Makefile.
Change-Id: I533d9f28649dbfe5b61a12975c3198e216b60d64
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
No functional change, just making the Makefile more concise and
aligned with the TF one.
Change-Id: I03385e4957ea992bbcb55a8e21b70d6297f0c00d
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
It seems more logical to choose the tests manifest inside the tests
makefile rather than in the top Makefile.
Change-Id: I25993550cc5c10b9e3e7b1ef841b616712a234fb
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Note: This patch is based on TF commit 710ea1d01a10 ("Build: generate
.d file at the same time as object is created").
Currently, .d files are generated before any objects are built.
IS_ANYTHING_TO_BUILD flag is needed to avoid such processing for
non-build targets.
Instead just create a .d file simultaneously when the corresponding
object is created. No need to have separate rules for .d files.
This commit will also fix a bug; -D$(IMAGE) is defined for $(OBJ), but
not for $(PREREQUISITES). So, .d files are generated with different
macro sets from those for .o files, then wrong .d files are generated.
For example, with the following code:
#if IMAGE_TFTF
#include <some_file.h>
#endif
<some_file.h> is included when building TFTF but the .d file does not
pick up that dependency.
With this commit, the compiler will generate .o and .d at the same
time, guaranteeing they are generated under the same circumstances.
Change-Id: I7d4aa4bbd65a828e2c1860a099231ca70d3a0886
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
The new implementation of mem_protect generates a chicken-egg problem,
and the only way to push the TF and CI changes is to disable first the
TF change.
Change-Id: If5c65d83413f95d17f9b325c1d3c46e8a9575668
|
|
Stdint.h was defining the limits for fixed size c99 types
without worrying about 32 or 64 bits.
Change-Id: Iea4e55e6c581e702209fed93fb2150a11d7d6b8b
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
|
|
We should never call mp_printf() in ISRs because this function tries
to acquire the printf spinlock, which can put us in a deadlock
situation.
Imagine a test where:
1) We register an ISR for the timer interrupt. This ISR calls mp_printf().
2) We program the timer to fire in the near future.
3) We print something on the console.
Now, if the timer interrupt fires while we were printing on the console
(i.e. while holding the printf lock) then the ISR will never be able to
acquire the lock again and that will just lock up the system.
This also applies to the INFO/VERBOSE/... macros which call into
mp_printf().
This patch removes all prints from ISRs in existing tests.
Change-Id: Idffc02dbdf0f730790b1f1602e50b805073acc27
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Commit I7f7f3c413cafcdc9b7efea42ca361151b8f40982 introduced a typo which
was not caught by the CI system before merging. This commit fixes it.
Change-Id: I49177b71a6afec77076e956caec449555198d7a5
|
|
Reduces the size of the ppi_desc_table from 32 to 16 (since the
MIN_PPI_ID is 16, entries [0-15] were unused.) Accesses to the table
have been modified to take into account the MIN_PPI_ID offset.
In the same way, reduces the size of the spi_desc_table by 32 since the
MIN_SPI_ID is 32, entries [0-31] were unused. Accesses to the table
have been modified to take into account the MIN_SPI_ID offset.
Change-Id: I7f7f3c413cafcdc9b7efea42ca361151b8f40982
|
|
The current version of plat_get_core_pos uses an incorrect algorithm
to calculate the linear position of a core / PE from its MPIDR.
This patch corrects the algorithm to:
(ClusterId * FVP_MAX_CPUS_PER_CLUSTER) * FVP_MAX_PE_PER_CPU
+ (CPUId * FVP_MAX_PE_PER_CPU)
+ ThreadId
Change-Id: Ida862a99a74c2a7f85b813ba270404224aa78987
Signed-off-by: David Cunado <david.cunado@arm.com>
|
|
Change-Id: I1c90856346941df4f49811755991c9a0683ce6b2
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
Service ID #42 is not recognized by Cactus (it used to be in a
previous version of the code) so the test fails.
Introduce a new service ID (#2) that just makes Cactus return
success. This service may be used to simply check the communication
channel between a client and Cactus.
Use this new service ID from TFTF instead of ID #42.
Note that using this new service over the existing "sleep" service has
2 advantages:
- It speeds up the tests. The timer service is mostly useful for
testing the interrupt routing model but there's no point using it
in the MM_COMMUNICATE tests.
- It may be concurrently called from different CPUs. This is not the
case of the "sleep" service, which involves a shared buffer.
Change-Id: Ifa4391b69314845066912777b1db03ab78239547
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Return SPM_INVALID_PARAMETER when Cactus receives an unknown service
ID in the payload of an MM_COMMUNICATE call. Previously, it was just
printing a message and returning success.
Change-Id: I0c892f5ff2d3e7637f2fc98476211369fab67881
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Change-Id: I3af1aded9f42344874cd1f0bd5140db22d74ad26
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
|