- 26 Jun, 2014 1 commit
-
-
Andrew Thoelke authored
Remove current CPU mpidr from PSCI common code
-
- 25 Jun, 2014 1 commit
-
-
Andrew Thoelke authored
Many of the interfaces internal to PSCI pass the current CPU MPIDR_EL1 value from function to function. This is not required, and with inline access to the system registers is less efficient than requiring the code to read that register whenever required. This patch remove the mpidr parameter from the affected interfaces and reduces code in FVP BL3-1 size by 160 bytes. Change-Id: I16120a7c6944de37232016d7e109976540775602
-
- 24 Jun, 2014 6 commits
-
-
danh-arm authored
Remove all checkpatch errors from codebase
-
danh-arm authored
fvp: Fix register name in 'plat_print_gic_regs' macro
-
danh-arm authored
Compile with '-Wmissing-include-dirs' flag
-
danh-arm authored
Remove calling CPU mpidr from bakery lock API
-
Juan Castillo authored
Exclude stdlib files because they do not follow kernel code style. Fixes ARM-software/tf-issues#73 Change-Id: I4cfafa38ab436f5ab22c277cb38f884346a267ab
-
Sandrine Bailleux authored
The 'plat_print_gic_regs' macro was accessing the GICC_CTLR register using the GICD_CTLR offset. This still generates the right code in the end because GICD_CTLR == GICC_CTLR but this patch fixes it for the logic of the code. Change-Id: I7b17af50e587f07bec0e4c933e346088470c96f3
-
- 23 Jun, 2014 13 commits
-
-
Andrew Thoelke authored
The bakery lock code currently expects the calling code to pass the MPIDR_EL1 of the current CPU. This is not always done correctly. Also the change to provide inline access to system registers makes it more efficient for the bakery lock code to obtain the MPIDR_EL1 directly. This change removes the mpidr parameter from the bakery lock interface, and results in a code reduction of 160 bytes for the ARM FVP port. Fixes ARM-software/tf-issues#213 Change-Id: I7ec7bd117bcc9794a0d948990fcf3336a367d543
-
danh-arm authored
PSCI memory optimizations (v2)
-
danh-arm authored
Initialise CPU contexts from entry_point_info (v2)
-
Andrew Thoelke authored
The array of affinity nodes is currently allocated for 32 entries with the PSCI_NUM_AFFS value defined in psci.h. This is not enough for large systems, and will substantially over allocate the array for small systems. This patch introduces an optional platform definition PLATFORM_NUM_AFFS to platform_def.h. If defined this value is used for PSCI_NUM_AFFS, otherwise a value of two times the number of CPU cores is used. The FVP port defines PLATFORM_NUM_AFFS to be 10 which saves nearly 1.5KB of memory. Fixes ARM-software/tf-issues#192 Change-Id: I68e30ac950de88cfbd02982ba882a18fb69c1445
-
Andrew Thoelke authored
psci_suspend_context is an array of cache-line aligned structures containing the single power_state integer per cpu. This array is the only structure indexed by the aff_map_node.data integer. This patch saves 2KB of BL3-1 memory by placing the CPU power_state value directly in the aff_map_node structure. As a result, this value is now never cached and the cache clean when writing the value is no longer required. Fixes ARM-software/tf-issues#195 Change-Id: Ib4c70c8f79eed295ea541e7827977a588a19ef9b
-
Andrew Thoelke authored
Consolidate all BL3-1 CPU context initialization for cold boot, PSCI and SPDs into two functions: * The first uses entry_point_info to initialize the relevant cpu_context for first entry into a lower exception level on a CPU * The second populates the EL1 and EL2 system registers as needed from the cpu_context to ensure correct entry into the lower EL This patch alters the way that BL3-1 determines which exception level is used when first entering EL1 or EL2 during cold boot - this is now fully determined by the SPSR value in the entry_point_info for BL3-3, as set up by the platform code in BL2 (or otherwise provided to BL3-1). In the situation that EL1 (or svc mode) is selected for a processor that supports EL2, the context management code will now configure all essential EL2 register state to ensure correct execution of EL1. This allows the platform code to run non-secure EL1 payloads directly without requiring a small EL2 stub or OS loader. Change-Id: If9fbb2417e82d2226e47568203d5a369f39d3b0f
-
danh-arm authored
Remove NSRAM from FVP memory map
-
danh-arm authored
PSCI SMC handler improvements
-
Sandrine Bailleux authored
Add the '-Wmissing-include-dirs' flag to the CFLAGS and ASFLAGS to make the build fail if the compiler or the assembler is given a nonexistant directory in the list of directories to be searched for header files. Also remove 'include/bl1' and 'include/bl2' directories from the search path for header files as they don't exist anymore. Change-Id: I2475b78ba8b7b448b9d0afaa9ad975257f638b89
-
danh-arm authored
Move CPU context pointers into cpu_data
-
danh-arm authored
Remove early_exceptions from BL3-1
-
danh-arm authored
Per-cpu data cache restructuring
-
danh-arm authored
Remove broken assertion in console_putc()
-
- 20 Jun, 2014 2 commits
-
-
Andrew Thoelke authored
This memory is not used by the FVP port and requires an additional 4KB translation table. This patch removes the entry from the memory map and reduces the number of allocated translation tables. Fixes ARM-software/tf-issues#196 Change-Id: I5b959e4fe92f5f892ed127c40dbe6c85eed3ed72
-
Andrew Thoelke authored
The assertion in console_putc() would trigger a recursion that exhausts the stack and eventually aborts. This patch replaces the assertion with an error return if the console has not been initialized yet. Fixes ARM-software/tf-issues#208 Change-Id: I95f736ff215d69655eb5ba7ceac70dc1409d986a
-
- 18 Jun, 2014 2 commits
-
-
danh-arm authored
Remove re-initialisation of system timers after warm boot for FVP
-
Soby Mathew authored
This patch removes the reinitialisation of memory mapped system timer registers after a warm boot for the FVP. The system timers in FVP are in the 'Always ON' power domain which meant the reinitialisation was redundant and it could have conflicted with the setup the normal world has done. The programming of CNTACR(x) and CNTNSAR, the system timer registers, are removed from the warm boot path with this patch. Fixes ARM-software/tf-issues#169 Change-Id: Ie982eb03d1836b15ef3cf1568de2ea68a08b443e
-
- 17 Jun, 2014 2 commits
-
-
danh-arm authored
Set correct value for SYS_ID_REV_SHIFT in FVP
-
Andrew Thoelke authored
The crash reporting support and early initialisation of the cpu_data allow the runtime_exception vectors to be used from the start in BL3-1, removing the need for the additional early_exception vectors and 2KB of code from BL3-1. Change-Id: I5f8997dabbaafd8935a7455910b7db174a25d871
-
- 16 Jun, 2014 7 commits
-
-
Andrew Thoelke authored
Moving the context pointers for each CPU into the per-cpu data allows for much more efficient access to the contexts for the current CPU. Change-Id: Id784e210d63cbdcddb44ac1591617ce668dbc29f
-
Andrew Thoelke authored
This patch prepares the per-cpu pointer cache for wider use by: * renaming the structure to cpu_data and placing in new header * providing accessors for this CPU, or other CPUs * splitting the initialization of the TPIDR pointer from the initialization of the cpu_data content * moving the crash stack initialization to a crash stack function * setting the TPIDR pointer very early during boot Change-Id: Icef9004ff88f8eb241d48c14be3158087d7e49a3
-
Juan Castillo authored
According to documentation, the Rev field is located at bit 28 in the V2M sysid register. Fixes ARM-software/tf-issues#179 Change-Id: I2abb7bdc092ccd3f41f8962dc8d8d8e44e8dfdc3
-
danh-arm authored
Make the BL3-1 crash reporting optional
-
danh-arm authored
Provide cm_get/set_context() for current CPU
-
danh-arm authored
Make system register functions inline assembly v2
-
danh-arm authored
Make the entry point argument optional in load_image()
-
- 12 Jun, 2014 3 commits
-
-
achingupta authored
PL011: Fix a bug in the UART FIFO polling
-
achingupta authored
Include 'platform_def.h' header file in 'crash_reporting.S'
-
achingupta authored
fvp: Remove unused 'bl2_el_change_mem_ptr' variable
-
- 11 Jun, 2014 2 commits
-
-
Andrew Thoelke authored
This patch makes the console crash dump of processor register state optional based on the CRASH_REPORTING make variable. This defaults to only being enabled for DEBUG builds. This can be overridden by setting a different value in the platform makefile or on the make command line. Change-Id: Icfa1b2d7ff0145cf0a85e8ad732f9cee7e7e993f
-
Andrew Thoelke authored
All callers of cm_get_context() pass the calling CPU MPIDR to the function. Providing a specialised version for the current CPU results in a reduction in code size and better readability. The current function has been renamed to cm_get_context_by_mpidr() and the existing name is now used for the current-CPU version. The same treatment has been done to cm_set_context(), although only both forms are used at present in the PSCI and TSPD code. Change-Id: I91cb0c2f7bfcb950a045dbd9ff7595751c0c0ffb
-
- 10 Jun, 2014 1 commit
-
-
Andrew Thoelke authored
-