| 23cf7d0f | 07-Jan-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #222 from jbech-linaro/user_guide_toc_links
Create TOC links in the User Guide markdown file |
| 36e2fd01 | 07-Jan-2015 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Prevent optimisation of sysregs accessors calls
Calls to system register read accessors functions may be optimised out by the compiler if called twice in a row for the same register. This is because
Prevent optimisation of sysregs accessors calls
Calls to system register read accessors functions may be optimised out by the compiler if called twice in a row for the same register. This is because the compiler is not aware that the result from the instruction may be modified by external agents. Therefore, if nothing modifies the register between the 2 reads as far as the compiler knows then it might consider that it is useless to read it twice and emit only 1 call.
This behaviour is faulty for registers that may not have the same value if read twice in succession. E.g.: counters, timer control/countdown registers, GICv3 interrupt status registers and so on.
The same problem happens for calls to system register write accessors functions. The compiler might optimise out some calls if it considers that it will produce the same result. Again, this behaviour is faulty for cases where intermediate writes to these registers make a difference in the system.
This patch fixes the problem by making these assembly register accesses volatile.
Fixes ARM-software/tf-issues#273
Change-Id: I33903bc4cc4eea8a8d87bc2c757909fbb0138925
show more ...
|
| 14a5b346 | 25-Nov-2014 |
Joakim Bech <joakim.bech@linaro.org> |
Create Table of Content links in markdown files
Fixes arm-software/tf-issues#276 |
| 61c67804 | 07-Jan-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #226 from sandrine-bailleux/sb/tf-issues-279
fip_create: don't succeed if one of the passed files doesn't exist |
| 02b5678c | 07-Jan-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #227 from soby-mathew/sm/afflvl_fix
Fix CPU_SUSPEND when invoked with affinity level higher than get_max_aff... |
| 2060f0c0 | 07-Jan-2015 |
danh-arm <dan.handley@arm.com> |
Merge pull request #225 from sandrine-bailleux/sb/remove-IRQ_SEC_SGI_8
Remove IRQ_SEC_SGI_8 constant |
| 7f48fab9 | 24-Nov-2014 |
Juan Castillo <juan.castillo@arm.com> |
Specify FIP filename at build time
This patch allows to define the name of the FIP at build time by defining the FIP_NAME variable. If FIP_NAME is not defined, default name 'fip.bin' is used.
Docum
Specify FIP filename at build time
This patch allows to define the name of the FIP at build time by defining the FIP_NAME variable. If FIP_NAME is not defined, default name 'fip.bin' is used.
Documentation updated accordingly.
Change-Id: Ic41f42aac379b0c958b3dfd02863ba8ba7108710
show more ...
|
| 264999fc | 02-Oct-2014 |
Soby Mathew <soby.mathew@arm.com> |
Fix CPU_SUSPEND when invoked with affinity level higher than get_max_afflvl()
This patch fixes the assertion failure when CPU_SUSPEND is invoked with an affinity level higher than supported by the p
Fix CPU_SUSPEND when invoked with affinity level higher than get_max_afflvl()
This patch fixes the assertion failure when CPU_SUSPEND is invoked with an affinity level higher than supported by the platform by adding suitable checks for affinity level within `psci_cpu_suspend`. Also added suitable bound checks within `psci_aff_map_get_idx` to prevent indexing beyond array limits.
Fixes ARM-software/tf-issues#260
Change-Id: I04b75c49729e6c6d1983add590f60146c8fc3630
show more ...
|
| 38410f80 | 08-Dec-2014 |
Kévin Petit <kevin.petit@arm.com> |
fip_create: don't succeed if one of the passed files doesn't exist
If one of the files passed to fip_create on the command line doesn't exist, it will print an error message but produce an incomplet
fip_create: don't succeed if one of the passed files doesn't exist
If one of the files passed to fip_create on the command line doesn't exist, it will print an error message but produce an incomplete fip.bin file and report success. This behaviour could potentially hide errors made in the command line arguments.
This patch addresses the issue by having the tool bail out if one of the supplied files can't be processed.
Signed-off-by: Kévin Petit <kevin.petit@arm.com>
Fixes ARM-software/tf-issues#279
Change-Id: I1c7d87d09eb4c063005b7969bdaad1d043c29dec
show more ...
|
| 47ca01e7 | 19-Nov-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Remove IRQ_SEC_SGI_8 constant
In both FVP and Juno ports, IRQ #16, which is a PPI, is incorrectly identified as secure SGI #8 through the constant IRQ_SEC_SGI_8. This patch removes it.
Fixes ARM-so
Remove IRQ_SEC_SGI_8 constant
In both FVP and Juno ports, IRQ #16, which is a PPI, is incorrectly identified as secure SGI #8 through the constant IRQ_SEC_SGI_8. This patch removes it.
Fixes ARM-software/tf-issues#282
Change-Id: I9e52d849611ffcd2b1f28e56dd156c5b217ed63e
show more ...
|
| 29e32cba | 08-Dec-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #223 from sandrine-bailleux/sb/fix-fiptool-target
Fix problem of dependencies on the fiptool makefile target |
| c5c64dd6 | 08-Dec-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #224 from soby-mathew/sm/fix_mpidr_aff_map_nodes_t
Fix the array size of mpidr_aff_map_nodes_t. |
| 235585b1 | 04-Dec-2014 |
Soby Mathew <soby.mathew@arm.com> |
Fix the array size of mpidr_aff_map_nodes_t.
This patch fixes the array size of mpidr_aff_map_nodes_t which was less by one element.
Fixes ARM-software/tf-issues#264
Change-Id: I48264f6f9e7046a3d0
Fix the array size of mpidr_aff_map_nodes_t.
This patch fixes the array size of mpidr_aff_map_nodes_t which was less by one element.
Fixes ARM-software/tf-issues#264
Change-Id: I48264f6f9e7046a3d0f4cbcd63b9ba49657e8818
show more ...
|
| 07deed40 | 27-Oct-2014 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Fix problem of dependencies on the fiptool makefile target
The 'fiptool' target doesn't depend on fip_create's source files, neither directly nor indirectly. As a result, the FIP tool is not rebuilt
Fix problem of dependencies on the fiptool makefile target
The 'fiptool' target doesn't depend on fip_create's source files, neither directly nor indirectly. As a result, the FIP tool is not rebuilt whenever its source files change.
This patch makes the ${FIPTOOL} target into a phony target so that the FIP tool's sub-makefile is always called. The sub-makefile correctly handles the dependencies. It also moves the completion message into the sub-makefile so that it is only displayed when the tool is actually recompiled.
Fixes ARM-software/tf-issues#278
Change-Id: Ia027519fe51d3c42be30665d1ad20a7b89fa350f
show more ...
|
| 435cdcf4 | 11-Nov-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #220 from soby-mathew/sm/reassign_crash_console
Use the BL3-1 runtime console as the crash console. |
| 6f80d60b | 11-Nov-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #221 from achingupta/ag/tf-issues#272
Precede a 'sev' with a 'dsb' in bakery lock code |
| 66ce001e | 10-Nov-2014 |
Achin Gupta <achin.gupta@arm.com> |
Precede a 'sev' with a 'dsb' in bakery lock code
This patch fixes a bug in the bakery lock implementation where a data synchronisation barrier instruction is not issued before sending an event as ma
Precede a 'sev' with a 'dsb' in bakery lock code
This patch fixes a bug in the bakery lock implementation where a data synchronisation barrier instruction is not issued before sending an event as mandated by the ARMv8 ARM. This can cause a event to be signalled before the related memory accesses have completed resulting in erroneous execution.
Fixes ARM-software/tf-issues#272
Change-Id: I5ce02bf70afb001d967b9fa4c3f77442931d5349
show more ...
|
| ce6ee933 | 23-Sep-2014 |
Soby Mathew <soby.mathew@arm.com> |
Use the BL3-1 runtime console as the crash console.
This patch reassigns the crash console on Juno and FVP to use the runtime BL3-1 console. The crash console is changed to SoC UART0 (UART2) from th
Use the BL3-1 runtime console as the crash console.
This patch reassigns the crash console on Juno and FVP to use the runtime BL3-1 console. The crash console is changed to SoC UART0 (UART2) from the previous FPGA UART0 (UART0) on Juno. In FVP, it is changed from UART0 to UART1.
Fixes ARM-software/tf-issues#256
Change-Id: I7df54f86ca00ec2652c27261dd66a94c12610816
show more ...
|
| e73f4ef6 | 04-Nov-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #219 from jcastillo-arm/jc/tf-issues/253
Improvements to ARM GIC driver
Juno: Use the generic ARM GIC driver |
| 33132e64 | 20-Oct-2014 |
Juan Castillo <juan.castillo@arm.com> |
Juno: Use the generic ARM GIC driver
This patch replaces the usage of the GIC private driver in Juno with the generic ARM GIC driver. The private driver is no longer necessary and has been removed f
Juno: Use the generic ARM GIC driver
This patch replaces the usage of the GIC private driver in Juno with the generic ARM GIC driver. The private driver is no longer necessary and has been removed from the Juno port.
Fixes ARM-software/tf-issues#253
Change-Id: I6aaabc252e5e6fb5fcf44ab6d0febd9b38791056
show more ...
|
| eb57fa56 | 20-Oct-2014 |
Juan Castillo <juan.castillo@arm.com> |
Improvements to ARM GIC driver
This patch introduces several improvements to the ARM GIC driver:
* In function gicd_set_itargetsr(), target CPU is specified using the same bit mask detailed in th
Improvements to ARM GIC driver
This patch introduces several improvements to the ARM GIC driver:
* In function gicd_set_itargetsr(), target CPU is specified using the same bit mask detailed in the GICD_ITARGETSRn register instead of the CPU linear ID, removing the dependency between bit position and linear ID in the platform porting. The current CPU bit mask may be obtained by reading GICD_ITARGETSR0.
* PPIs and SGIs are initialized in arm_gic_pcpu_distif_setup(). SPIs are initialized in arm_gic_distif_setup().
* By default, non secure interrupts are assigned the maximum priority allowed to a non secure interrupt (defined by GIC_HIGHEST_NS_PRIORITY).
* GICR base address is allowed to be NULL for GICv1 and GICv2.
Change-Id: Ie2837fe860d43b2282e582dfdb13c39c6186f232
show more ...
|
| 82b9b297 | 30-Oct-2014 |
danh-arm <dan.handley@arm.com> |
Merge pull request #218 from soby-mathew/sm/add_cpu_ops_warning
Add level specific cache operations and changes to errata workaround mechanism |
| 5541bb3f | 22-Sep-2014 |
Soby Mathew <soby.mathew@arm.com> |
Optimize Cortex-A57 cluster power down sequence on Juno
This patch optimizes the Cortex-A57 cluster power down sequence by not flushing the Level1 data cache. The L1 data cache and the L2 unified ca
Optimize Cortex-A57 cluster power down sequence on Juno
This patch optimizes the Cortex-A57 cluster power down sequence by not flushing the Level1 data cache. The L1 data cache and the L2 unified cache are inclusive. A flush of the L2 by set/way flushes any dirty lines from the L1 as well. This is a known safe deviation from the Cortex-A57 TRM defined power down sequence. This optimization can be enabled by the platform through the 'SKIP_A57_L1_FLUSH_PWR_DWN' build flag. Each Cortex-A57 based platform must make its own decision on whether to use the optimization.
This patch also renames the cpu-errata-workarounds.md to cpu-specific-build-macros.md as this facilitates documentation of both CPU Specific errata and CPU Specific Optimization build macros.
Change-Id: I299b9fe79e9a7e08e8a0dffb7d345f9a00a71480
show more ...
|
| b1a9631d | 22-Sep-2014 |
Soby Mathew <soby.mathew@arm.com> |
Optimize barrier usage during Cortex-A57 power down
This the patch replaces the DSB SY with DSB ISH after disabling L2 prefetches during the Cortex-A57 power down sequence.
Change-Id: I048d12d830c1
Optimize barrier usage during Cortex-A57 power down
This the patch replaces the DSB SY with DSB ISH after disabling L2 prefetches during the Cortex-A57 power down sequence.
Change-Id: I048d12d830c1b974b161224eff079fb9f8ecf52d
show more ...
|
| 7395a725 | 22-Sep-2014 |
Soby Mathew <soby.mathew@arm.com> |
Apply errata workarounds only when major/minor revisions match.
Prior to this patch, the errata workarounds were applied for any version of the CPU in the release build and in the debug build an ass
Apply errata workarounds only when major/minor revisions match.
Prior to this patch, the errata workarounds were applied for any version of the CPU in the release build and in the debug build an assert failure resulted when the revision did not match. This patch applies errata workarounds in the Cortex-A57 reset handler only if the 'variant' and 'revision' fields read from the MIDR_EL1 match. In the debug build, a warning message is printed for each errata workaround which is not applied.
The patch modifies the register usage in 'reset_handler` so as to adhere to ARM procedure calling standards.
Fixes ARM-software/tf-issues#242
Change-Id: I51b1f876474599db885afa03346e38a476f84c29
show more ...
|