| 8c106902 | 16-Jul-2014 |
Soby Mathew <soby.mathew@arm.com> |
Add CPUECTLR_EL1 and Snoop Control register to crash reporting
This patch adds the CPUECTLR_EL1 register and the CCI Snoop Control register to the list of registers being reported when an unhandled
Add CPUECTLR_EL1 and Snoop Control register to crash reporting
This patch adds the CPUECTLR_EL1 register and the CCI Snoop Control register to the list of registers being reported when an unhandled exception occurs.
Change-Id: I2d997f2d6ef3d7fa1fad5efe3364dc9058f9f22c
show more ...
|
| 626ed510 | 25-Jun-2014 |
Soby Mathew <soby.mathew@arm.com> |
Rework the crash reporting in BL3-1 to use less stack
This patch reworks the crash reporting mechanism to further optimise the stack and code size. The reporting makes use of assembly console functi
Rework the crash reporting in BL3-1 to use less stack
This patch reworks the crash reporting mechanism to further optimise the stack and code size. The reporting makes use of assembly console functions to avoid calling C Runtime to report the CPU state. The crash buffer requirement is reduced to 64 bytes with this implementation. The crash buffer is now part of per-cpu data which makes retrieving the crash buffer trivial.
Also now panic() will use crash reporting if invoked from BL3-1.
Fixes ARM-software/tf-issues#199
Change-Id: I79d27a4524583d723483165dc40801f45e627da5
show more ...
|
| c67b09bd | 14-Jul-2014 |
Soby Mathew <soby.mathew@arm.com> |
Introduce crash console APIs for crash reporting
This patch introduces platform APIs to initialise and print a character on a designated crash console. For the FVP platform, PL011_UART0 is the desig
Introduce crash console APIs for crash reporting
This patch introduces platform APIs to initialise and print a character on a designated crash console. For the FVP platform, PL011_UART0 is the designated crash console. The platform porting guide is also updated to document the new APIs.
Change-Id: I5e97d8762082e0c88c8c9bbb479353eac8f11a66
show more ...
|
| 462c8350 | 14-Jul-2014 |
Soby Mathew <soby.mathew@arm.com> |
Parametrize baudrate and UART clock during console_init()
This patch adds baud rate and UART clock frequency as parameters to the pl011 driver api console_init(). This allows each platform to specif
Parametrize baudrate and UART clock during console_init()
This patch adds baud rate and UART clock frequency as parameters to the pl011 driver api console_init(). This allows each platform to specify UART clock and baud rate according to their specific hardware implementation.
Fixes ARM-software/tf-issues#215
Change-Id: Id13eef70a1c530e709b34dd1e6eb84db0797ced2
show more ...
|
| fce5f750 | 24-Jun-2014 |
Soby Mathew <soby.mathew@arm.com> |
Introduce asm console functions in TF
This patch replaces the pl011 console family of functions with their equivalents defined in assembly. The baud rate is defined by the PL011_BAUDRATE macro and I
Introduce asm console functions in TF
This patch replaces the pl011 console family of functions with their equivalents defined in assembly. The baud rate is defined by the PL011_BAUDRATE macro and IBRD and FBRD values for pl011 are computed statically. This patch will enable us to invoke the console functions without the C Runtime Stack.
Change-Id: Ic3f7b7370ded38bf9020bf746b362081b76642c7
show more ...
|
| 539a7b38 | 26-Jun-2014 |
Achin Gupta <achin.gupta@arm.com> |
Remove the concept of coherent stacks
This patch removes the allocation of memory for coherent stacks, associated accessor function and some dead code which called the accessor function. It also upd
Remove the concept of coherent stacks
This patch removes the allocation of memory for coherent stacks, associated accessor function and some dead code which called the accessor function. It also updates the porting guide to remove the concept and the motivation behind using stacks allocated in coherent memory.
Fixes ARM-software/tf-issues#198
Change-Id: I00ff9a04f693a03df3627ba39727e3497263fc38
show more ...
|
| 2d4aceaf | 25-Jul-2014 |
Dan Handley <dan.handley@arm.com> |
Merge pull request #167 from jcastillo-arm/jc/tf-issues/217
FVP: Ensure system reset wake-up results in cold boot |
| afff8cbd | 26-Jun-2014 |
Achin Gupta <achin.gupta@arm.com> |
Make enablement of the MMU more flexible
This patch adds a 'flags' parameter to each exception level specific function responsible for enabling the MMU. At present only a single flag which indicates
Make enablement of the MMU more flexible
This patch adds a 'flags' parameter to each exception level specific function responsible for enabling the MMU. At present only a single flag which indicates whether the data cache should also be enabled is implemented. Subsequent patches will use this flag when enabling the MMU in the warm boot paths.
Change-Id: I0eafae1e678c9ecc604e680851093f1680e9cefa
show more ...
|
| 2b98e789 | 17-Jul-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Define ARM_GIC_ARCH default value for all platforms
The ARM_GIC_ARCH build option was supposed to default to 2 on all platforms. However, the default value was set in the FVP makefile so for all oth
Define ARM_GIC_ARCH default value for all platforms
The ARM_GIC_ARCH build option was supposed to default to 2 on all platforms. However, the default value was set in the FVP makefile so for all other platforms it wasn't even defined.
This patch moves the default value to the main Makefile. The platform port can then override it if needed.
Change-Id: I8e2da1cce7ffa3ed18814bbdcbcf2578101f18a6
show more ...
|
| 08783e43 | 11-Jul-2014 |
Juan Castillo <juan.castillo@arm.com> |
FVP: Ensure system reset wake-up results in cold boot
platform_get_entrypoint() did not consider that a wakeup due to System Reset Pin (by reading the power controller's PSYSR) requires a cold boot.
FVP: Ensure system reset wake-up results in cold boot
platform_get_entrypoint() did not consider that a wakeup due to System Reset Pin (by reading the power controller's PSYSR) requires a cold boot. As a result, the code would execute the warm boot path and eventually panic because entrypoint mailboxes are empty.
This patch ensures that the following wake-up reasons result in cold boot: - Cold Power-on - System Reset Pin (includes reset by software)
Fixes ARM-software/tf-issues#217
Change-Id: I65ae0a0f7a46548b575900a5aac107d352b0e2cd
show more ...
|
| 414cfa18 | 11-Jul-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #163 from sandrine-bailleux/sb/tf-issue-117-v2
fvp: Reuse BL1 and BL2 memory through image overlaying (v2) |
| a1b6db6c | 16-Jun-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fvp: Reuse BL1 and BL2 memory through image overlaying
This patch re-organizes the memory layout on FVP as to give the BL3-2 image as much memory as possible.
Considering these two facts: - not al
fvp: Reuse BL1 and BL2 memory through image overlaying
This patch re-organizes the memory layout on FVP as to give the BL3-2 image as much memory as possible.
Considering these two facts: - not all images need to live in memory at the same time. Once in BL3-1, the memory used by BL1 and BL2 can be reclaimed. - when BL2 loads the BL3-1 and BL3-2 images, it only considers the PROGBITS sections of those 2 images. The memory occupied by the NOBITS sections will be touched only at execution of the BL3-x images; Then it is possible to choose the different base addresses such that the NOBITS sections of BL3-1 and BL3-2 overlay BL1 and BL2.
On FVP we choose to put: - BL1 and BL3-1 at the top of the Trusted RAM, with BL3-1 NOBITS sections overlaying BL1; - BL3-2 at the bottom of the Trusted RAM, with its NOBITS sections overlaying BL2;
This is illustrated by the following diagram:
0x0404_0000 ------------ ------------------ | BL1 | <= | BL3-1 NOBITS | ------------ <= ------------------ | | <= | BL3-1 PROGBITS | ------------ ------------------ | BL2 | <= | BL3-2 NOBITS | ------------ <= ------------------ | | <= | BL3-2 PROGBITS | 0x0400_0000 ------------ ------------------
New platform-specific constants have been introduced to easily check at link time that BL3-1 and BL3-2 PROGBITS sections don't overwrite BL1 and BL2. These are optional and the platform code is free to define them or not. If not defined, the linker won't attempt to check image overlaying.
Fixes ARM-software/tf-issues#117
Change-Id: I5981d1c3d66ee70eaac8bd052630c9ac6dd8b042
show more ...
|
| 6a223156 | 10-Jul-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #157 from sandrine-bailleux/sb/tf-issue-109
TF issue 109 |
| 1e8c5c4f | 20-Jun-2014 |
Dan Handley <dan.handley@arm.com> |
Refactor fvp gic code to be a generic driver
Refactor the FVP gic code in plat/fvp/fvp_gic.c to be a generic ARM GIC driver in drivers/arm/gic/arm_gic.c. Provide the platform specific inputs in the
Refactor fvp gic code to be a generic driver
Refactor the FVP gic code in plat/fvp/fvp_gic.c to be a generic ARM GIC driver in drivers/arm/gic/arm_gic.c. Provide the platform specific inputs in the arm_gic_setup() function so that the driver has no explicit dependency on platform code.
Provide weak implementations of the platform interrupt controller API in a new file, plat/common/plat_gic.c. These simply call through to the ARM GIC driver.
Move the only remaining FVP GIC function, fvp_gic_init() to plat/fvp/aarch64/fvp_common.c and remove plat/fvp/fvp_gic.c
Fixes ARM-software/tf-issues#182
Change-Id: Iea82fe095fad62dd33ba9efbddd48c57717edd21
show more ...
|
| 6f3b195a | 20-Jun-2014 |
Dan Handley <dan.handley@arm.com> |
Refactor fvp_config into common platform header
Changed the fvp_config array in fvp_common.c into a struct and moved into a new optional common platform header, include/plat/common/plat_config.h. Re
Refactor fvp_config into common platform header
Changed the fvp_config array in fvp_common.c into a struct and moved into a new optional common platform header, include/plat/common/plat_config.h. Removed the config definitions in fvp_def.h and updated all references to the platform config.
This makes the interface to the platform config cleaner and uses a little less RAM.
Fixes ARM-software/tf-issues#180
Change-Id: I58dd7b3c150f24f7ee230a26fd57c827853ba803
show more ...
|
| 60633799 | 13-Jun-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fvp: Properly detect the location of BL1 R/W data
There was already a rudimentary mechanism to detect whether BL1 R/W data was loaded at the top or bottom of memory. Basically, - either BL1 was loa
fvp: Properly detect the location of BL1 R/W data
There was already a rudimentary mechanism to detect whether BL1 R/W data was loaded at the top or bottom of memory. Basically, - either BL1 was loaded at the very end of the trusted RAM - in all other cases BL1 was considered sitting at the bottom of the memory and the memory usage structure was updated accordingly, potentially resulting in critical memory waste. For instance, if BL1 R/W base address was set to (TZRAM_END - 4096 - bl1_size), it would virtually occupy the whole memory.
This patch improves the mechanism to detect the location of BL1 to avoid such scenarios.
Change-Id: I224a9edf0fe8d34208545d84b28b63f2bb830d03
show more ...
|
| 8f55dfb4 | 24-Jun-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Remove concept of top/bottom image loading
This concept is no longer required since we now support loading of images at fixed addresses only.
The image loader now automatically detects the position
Remove concept of top/bottom image loading
This concept is no longer required since we now support loading of images at fixed addresses only.
The image loader now automatically detects the position of the image inside the current memory layout and updates the layout such that memory fragmentation is minimised.
The 'attr' field of the meminfo data structure, which used to hold the bottom/top loading information, has been removed. Also the 'next' field has been removed as it wasn't used anywhere.
The 'init_bl2_mem_layout()' function has been moved out of common code and put in BL1-specific code. It has also been renamed into 'bl1_init_bl2_mem_layout'.
Fixes ARM-software/tf-issues#109
Change-Id: I3f54642ce7b763d5ee3b047ad0ab59eabbcf916d
show more ...
|
| dac1235a | 27-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Merge pull request #151 from vikramkanigiri/vk/t133-code-readability
Simplify entry point information generation code on FVP |
| 90e31479 | 26-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Support later revisions of the Foundation FVP
The code in the FVP port which checks the platform type and revision information in the SYS_ID register strictly supported only the first revision of th
Support later revisions of the Foundation FVP
The code in the FVP port which checks the platform type and revision information in the SYS_ID register strictly supported only the first revision of the Base and Foundation FVPs.
The current check also does not reflect the fact that the board revision field is 'local' to the board type (HBI field).
Support for a new Foundation model is required now, and the checking code is relaxed to allow execution (with a diagnostic) on unrecognised revisions of the Base and Foundation FVP.
Change-Id: I7cd3519dfb56954aafe5f52ce1fcea0ee257ba9f
show more ...
|
| 5e0f9bde | 26-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Merge pull request #154 from athoelke/at/inline-mmio
Inline the mmio accessor functions |
| e73af8ac | 24-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #152 from jcastillo-arm/jc/tf-issues/073-v2
Remove all checkpatch errors from codebase |
| 9d302ed2 | 24-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #150 from sandrine-bailleux/sb/fix-plat-print-gic-regs
fvp: Fix register name in 'plat_print_gic_regs' macro |
| 7eea1352 | 24-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #147 from athoelke/at/remove-bakery-mpidr
Remove calling CPU mpidr from bakery lock API |
| 5e113753 | 24-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Inline the mmio accessor functions
Making the simple mmio_read_*() and mmio_write_*() functions inline saves 360 bytes of code in FVP release build.
Fixes ARM-software/tf-issues#210
Change-Id: I65
Inline the mmio accessor functions
Making the simple mmio_read_*() and mmio_write_*() functions inline saves 360 bytes of code in FVP release build.
Fixes ARM-software/tf-issues#210
Change-Id: I65134f9069f3b2d8821d882daaa5fdfe16355e2f
show more ...
|
| 4f2104ff | 13-Jun-2014 |
Juan Castillo <juan.castillo@arm.com> |
Remove all checkpatch errors from codebase
Exclude stdlib files because they do not follow kernel code style.
Fixes ARM-software/tf-issues#73
Change-Id: I4cfafa38ab436f5ab22c277cb38f884346a267ab |