summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-07warp7: add system level standby stateJun Nie
add system level standby state Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-09-06warp7: Fix power level number for warp7Jun Nie
Fix power level number for warp7 because there are only two power levels are defined. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-09-06warp7: Skip PSCI Affinity testJun Nie
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>
2018-09-05framework: fix a typo for exception vectorJun Nie
Fix a typo for exception vector manipulation. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-09-04Aarch32: adjust pc register after IRQ routineJun Nie
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>
2018-08-28warp7: serial: protect r4 register with fifoJun Nie
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>
2018-08-28Align timer register access to cp15Jun Nie
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>
2018-08-28warp7: register platform timerJun Nie
register nxp timer as platform timer to provide timeout interrupt service. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-28warp7: Add nxp timer driverJun Nie
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>
2018-08-24Aarch32: add arch version flag in makefileJun Nie
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>
2018-08-24warp7: Fix unprotected reg in serial driverJun Nie
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>
2018-08-24warp7: correct system counter register addressJun Nie
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>
2018-08-24warp7: adjust mpid valueJun Nie
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>
2018-08-24warp7: change tftf load address to ease testJun Nie
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>
2018-08-24warp7: add irq stack size definitionJun Nie
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>
2018-08-24Aarch32: Add IRQ stack for ARMv7Jun Nie
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>
2018-08-21Aarch32: Support non-HYP suspendJun Nie
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>
2018-08-07Aarch32: workaround missing udiv instructionJun Nie
workaround missing udiv instruction because it is optional instruction. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: Add tests list to skipJun Nie
Add tests list to skip for warp7. More will be added later Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: build: Add make config fileJun Nie
Add build config file to specify source code for compiling Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: Add power state and domain topologyJun Nie
Add power state and domain topology for warp7 Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: register timer for warp7Jun Nie
register timer for warp7 to provide timer callback for framework. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: Add basic platform setupJun Nie
Add basic platform setup code, include console and GIC initilization. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07warp7: Add plat helpers functionJun Nie
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>
2018-08-07warp7: Add platform configuration headerJun Nie
Add platform definition header, which defines all warp7 related configurations. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07imx7: add serial console outputJun Nie
add serial console output. Input function will be added later Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07Aarch32: Adding ".arch_extension sec"Jun Nie
Adding ".arch_extension sec" to avoid failure for "smc #0" Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07Aarch32: Print correct message for non-HYP modeJun Nie
Print correct message for non-HYP mode as we are support non-HYP mode now. Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07Aarch32: replace ARMv8 only assembly codeJun Nie
Some ARMv8 only assembly is used in aarch32 case, add ARMv7 version assembly code Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07Aarch32: handle non-hyp mode in entry pointJun Nie
Add vector base address handling in non-hyp mode in entry point Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-08-07Aarch32: does not trigger panic for non-hyp caseJun Nie
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>
2018-08-07Build: introduce cflags for ARMv7Jun Nie
introduce cflags for ARMv7 for compiler Signed-off-by: Jun Nie <jun.nie@linaro.org>
2018-05-10readme typodanh-arm
2018-05-10Create README.mddanh-arm
2018-05-08pl011: Reorganize getc implementationAntonio Nino Diaz
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>
2018-04-27Build: Fix display in autogen ruleSandrine Bailleux
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>
2018-04-27Build: Introduce defaults.mkSandrine Bailleux
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>
2018-04-27Build: Refactor build optionsSandrine Bailleux
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>
2018-04-27Build: Move TESTS_FILE definition in tests.mkSandrine Bailleux
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>
2018-04-27Build: generate .d file at the same time as .oSandrine Bailleux
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>
2018-04-23Disable mem_protect testsRoberto Vargas
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
2018-04-18Define stdint.h types for 32 bitsRoberto Vargas
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>
2018-04-12Remove calls to mp_printf() in ISRsSandrine Bailleux
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>
2018-04-11lib/irq: remove bug (typo) in tftf_irq_update_handler()Jonathan Wright
Commit I7f7f3c413cafcdc9b7efea42ca361151b8f40982 introduced a typo which was not caught by the CI system before merging. This commit fixes it. Change-Id: I49177b71a6afec77076e956caec449555198d7a5
2018-04-10lib/irq: fix size of ppi_desc_table and spi_desc_table arraysJonathan Wright
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
2018-04-05FVP: Fix function for translating MPIDR to linear indexDavid Cunado
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>
2018-03-26Cactus: Add new Cactus version for SPCI and SPRTAntonio Nino Diaz
Change-Id: I1c90856346941df4f49811755991c9a0683ce6b2 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-03-23Cactus (legacy): Fix MM_COMMUNICATE calls testSandrine Bailleux
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>
2018-03-23Cactus (legacy): Return error for invalid service IDsSandrine Bailleux
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>
2018-03-19Add SMCCC v1.2 test caseDimitris Papastamos
Change-Id: I3af1aded9f42344874cd1f0bd5140db22d74ad26 Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>