| 03396c43 | 02-Jun-2014 |
Vikram Kanigiri <vikram.kanigiri@arm.com> |
Simplify entry point information generation code on FVP
This patch reworks FVP specific code responsible for determining the entry point information for BL3-2 and BL3-3 stages when BL3-1 is configur
Simplify entry point information generation code on FVP
This patch reworks FVP specific code responsible for determining the entry point information for BL3-2 and BL3-3 stages when BL3-1 is configured as the reset handler.
Change-Id: Ia661ff0a6a44c7aabb0b6c1684b2e8d3642d11ec
show more ...
|
| 9edc8917 | 03-Jun-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fvp: Fix register name in 'plat_print_gic_regs' macro
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
fvp: Fix register name in 'plat_print_gic_regs' macro
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
show more ...
|
| 634ec6c2 | 09-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Remove calling CPU mpidr from bakery lock API
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
Remove calling CPU mpidr from bakery lock API
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
show more ...
|
| 41cf7bdf | 23-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #145 from athoelke/at/psci-memory-optimization-v2
PSCI memory optimizations (v2) |
| 6c0b45d1 | 19-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Correctly dimension the PSCI aff_map_node array
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
Correctly dimension the PSCI aff_map_node array
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
show more ...
|
| f52ec197 | 23-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #143 from athoelke/at/remove-nsram
Remove NSRAM from FVP memory map |
| 15f195bf | 20-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Remove NSRAM from FVP memory map
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
Remove NSRAM from FVP memory map
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
show more ...
|
| e869310f | 18-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #135 from soby-mathew/sm/remove-reinit-of-timers
Remove re-initialisation of system timers after warm boot for FVP |
| b1e71b20 | 06-Jun-2014 |
Soby Mathew <soby.mathew@arm.com> |
Remove re-initialisation of system timers after warm boot for FVP
This patch removes the reinitialisation of memory mapped system timer registers after a warm boot for the FVP. The system timers in
Remove re-initialisation of system timers after warm boot for FVP
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
show more ...
|
| 5d292ab6 | 17-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #134 from jcastillo-arm/jc/tf-issues/179
Set correct value for SYS_ID_REV_SHIFT in FVP |
| 84e9b09d | 13-Jun-2014 |
Juan Castillo <juan.castillo@arm.com> |
Set correct value for SYS_ID_REV_SHIFT in FVP
According to documentation, the Rev field is located at bit 28 in the V2M sysid register.
Fixes ARM-software/tf-issues#179
Change-Id: I2abb7bdc092ccd3
Set correct value for SYS_ID_REV_SHIFT in FVP
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
show more ...
|
| 5c633bdf | 16-Jun-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #130 from athoelke/at/inline-asm-sysreg-v2
Make system register functions inline assembly v2 |
| 4c5f8dc9 | 12-Jun-2014 |
achingupta <achin.gupta@arm.com> |
Merge pull request #125 from sandrine-bailleux/sb/remove-bl2_el_change_mem_ptr
fvp: Remove unused 'bl2_el_change_mem_ptr' variable |
| 5c3272a7 | 02-Jun-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Make system register functions inline assembly
Replace the current out-of-line assembler implementations of the system register and system instruction operations with inline assembler.
This enables
Make system register functions inline assembly
Replace the current out-of-line assembler implementations of the system register and system instruction operations with inline assembler.
This enables better compiler optimisation and code generation when accessing system registers.
Fixes ARM-software/tf-issues#91
Change-Id: I149af3a94e1e5e5140a3e44b9abfc37ba2324476
show more ...
|
| 743a6111 | 29-May-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fvp: Remove unused 'bl2_el_change_mem_ptr' variable
'bl2_el_change_mem_ptr' variable is a left over from the former BL2/BL3-1 interface.
Change-Id: Ib0979c8e2809e103a41f9c5cc4afec7dd21ac9ab |
| f984ce84 | 02-Jun-2014 |
Lin Ma <lin.ma@caviumnetworks.com> |
Enable mapping higher physical address
Current ATF uses a direct physical-to-virtual mapping, that is, a physical address is mapped to the same address in the virtual space. For example, physical ad
Enable mapping higher physical address
Current ATF uses a direct physical-to-virtual mapping, that is, a physical address is mapped to the same address in the virtual space. For example, physical address 0x8000_0000 is mapped to 0x8000_0000 virtual. This approach works fine for FVP as all its physical addresses fall into 0 to 4GB range. But for other platform where all I/O addresses are 48-bit long, If we follow the same direct mapping, we would need virtual address range from 0 to 0x8fff_ffff_ffff, which is about 144TB. This requires a significant amount of memory for MMU tables and it is not necessary to use that much virtual space in ATF.
The patch is to enable mapping a physical address range to an arbitrary virtual address range (instead of flat mapping) Changed "base" to "base_va" and added "base_pa" in mmap_region_t and modified functions such as mmap_add_region and init_xlation_table etc. Fixes ARM-software/tf-issues#158
show more ...
|
| 03462671 | 28-May-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Allow platform parameter X1 to be passed to BL3-1
bl2_main() was overwriting any platform set X1 parameter for BL3-1 with the value zero.
This patch ensure that any platform set value is correctly
Allow platform parameter X1 to be passed to BL3-1
bl2_main() was overwriting any platform set X1 parameter for BL3-1 with the value zero.
This patch ensure that any platform set value is correctly passed to BL3-1. The FVP port adds a check to verify this parameter is being passed correctly.
Fixes ARM-software/tf-issues#173
Change-Id: Ifbcda73d3d41d2b04a4baf5614e9d2d21f1717c8
show more ...
|
| 9865ac15 | 27-May-2014 |
Dan Handley <dan.handley@arm.com> |
Further renames of platform porting functions
Rename the ic_* platform porting functions to plat_ic_* to be consistent with the other functions in platform.h. Also rename bl31_get_next_image_info()
Further renames of platform porting functions
Rename the ic_* platform porting functions to plat_ic_* to be consistent with the other functions in platform.h. Also rename bl31_get_next_image_info() to bl31_plat_get_next_image_ep_info() and remove the duplicate declaration in bl31.h.
Change-Id: I4851842069d3cff14c0a468daacc0a891a7ede84
show more ...
|
| dff8e47a | 16-May-2014 |
Dan Handley <dan.handley@arm.com> |
Add enable mmu platform porting interfaces
Previously, the enable_mmu_elX() functions were implicitly part of the platform porting layer since they were included by generic code. These functions hav
Add enable mmu platform porting interfaces
Previously, the enable_mmu_elX() functions were implicitly part of the platform porting layer since they were included by generic code. These functions have been placed behind 2 new platform functions, bl31_plat_enable_mmu() and bl32_plat_enable_mmu(). These are weakly defined so that they can be optionally overridden by platform ports.
Also, the enable_mmu_elX() functions have been moved to lib/aarch64/xlat_tables.c for optional re-use by platform ports. These functions are tightly coupled with the translation table initialization code.
Fixes ARM-software/tf-issues#152
Change-Id: I0a2251ce76acfa3c27541f832a9efaa49135cc1c
show more ...
|
| 17a387ad | 15-May-2014 |
Dan Handley <dan.handley@arm.com> |
Rename FVP specific files and functions
FVP specific files and functions containing the word "plat" have been renamed to use the word "fvp" to distinguish them from the common platform functionality
Rename FVP specific files and functions
FVP specific files and functions containing the word "plat" have been renamed to use the word "fvp" to distinguish them from the common platform functionality and porting functions.
Change-Id: I39f9673dab3ee9c74bd18b3e62b7c21027232f7d
show more ...
|
| dec5e0d1 | 15-May-2014 |
Dan Handley <dan.handley@arm.com> |
Move BL porting functions into platform.h
Some platform porting functions were in BL specific header files. These have been moved to platform.h so that all porting functions are in the same place. T
Move BL porting functions into platform.h
Some platform porting functions were in BL specific header files. These have been moved to platform.h so that all porting functions are in the same place. The functions are now grouped by BL. Obsolete BL headers files have been removed.
Also, the weak declaration of the init_bl2_mem_layout() function has been moved out the header file and into the source file (bl_common.c) using the more succinct #pragma syntax. This mitigates the risk of 2 weak definitions being created and the wrong one being picked up by the compiler.
Change-Id: Ib19934939fd755f3e5a5a5bceec88da684308a83
show more ...
|
| 5f0cdb05 | 14-May-2014 |
Dan Handley <dan.handley@arm.com> |
Split platform.h into separate headers
Previously, platform.h contained many declarations and definitions used for different purposes. This file has been split so that:
* Platform definitions used
Split platform.h into separate headers
Previously, platform.h contained many declarations and definitions used for different purposes. This file has been split so that:
* Platform definitions used by common code that must be defined by the platform are now in platform_def.h. The exact include path is exported through $PLAT_INCLUDES in the platform makefile.
* Platform definitions specific to the FVP platform are now in /plat/fvp/fvp_def.h.
* Platform API declarations specific to the FVP platform are now in /plat/fvp/fvp_private.h.
* The remaining platform API declarations that must be ported by each platform are still in platform.h but this file has been moved to /include/plat/common since this can be shared by all platforms.
Change-Id: Ieb3bb22fbab3ee8027413c6b39a783534aee474a
show more ...
|
| 7a9a5f2d | 14-May-2014 |
Dan Handley <dan.handley@arm.com> |
Remove unused data declarations
Some data variables were declared but not used. These have been removed.
Change-Id: I038632af3c32d88984cd25b886c43ff763269bf9 |
| c6bc0710 | 14-May-2014 |
Dan Handley <dan.handley@arm.com> |
Remove extern keyword from function declarations
Function declarations implicitly have external linkage so do not need the extern keyword.
Change-Id: Ia0549786796d8bf5956487e8996450a0b3d79f32 |
| f53d0fce | 23-May-2014 |
Andrew Thoelke <andrew.thoelke@arm.com> |
Merge pull request #101 from sandrine-bailleux:sb/tf-issue-81-v2 |