Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
6cf7b218
Commit
6cf7b218
authored
6 years ago
by
Antonio Niño Díaz
Committed by
TrustedFirmware Code Review
6 years ago
Browse files
Options
Download
Plain Diff
Merge "Cortex A9:errata 794073 workaround" into integration
parents
72db70ca
dd4cf2c7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
docs/cpu-specific-build-macros.rst
+6
-1
docs/cpu-specific-build-macros.rst
lib/aarch32/misc_helpers.S
+5
-1
lib/aarch32/misc_helpers.S
lib/cpus/aarch32/cortex_a9.S
+10
-0
lib/cpus/aarch32/cortex_a9.S
lib/cpus/cpu-ops.mk
+7
-0
lib/cpus/cpu-ops.mk
with
28 additions
and
2 deletions
+28
-2
docs/cpu-specific-build-macros.rst
View file @
6cf7b218
...
...
@@ -71,6 +71,11 @@ for it to specify which errata workarounds should be enabled or not.
The value of the build flags is 0 by default, that is, disabled. A value of 1
will enable it.
For Cortex-A9, the following errata build flags are defined :
- ``ERRATA_A9_794073``: This applies errata 794073 workaround to Cortex-A15
CPU. This needs to be enabled for all revisions of the CPU.
For Cortex-A15, the following errata build flags are defined :
- ``ERRATA_A15_816470``: This applies errata 816470 workaround to Cortex-A15
...
...
@@ -260,7 +265,7 @@ architecture that can be enabled by the platform as desired.
--------------
*Copyright (c) 2014-201
8
, Arm Limited and Contributors. All rights reserved.*
*Copyright (c) 2014-201
9
, Arm Limited and Contributors. All rights reserved.*
.. _CVE-2017-5715: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5715
.. _CVE-2018-3639: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3639
...
...
This diff is collapsed.
Click to expand it.
lib/aarch32/misc_helpers.S
View file @
6cf7b218
/*
*
Copyright
(
c
)
2016
-
201
7
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2016
-
201
9
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -171,6 +171,10 @@ endfunc memcpy4
func
disable_mmu_secure
mov
r1
,
#(
SCTLR_M_BIT
|
SCTLR_C_BIT
)
do_disable_mmu
:
#if ERRATA_A9_794073
stcopr
r0
,
BPIALL
dsb
#endif
ldcopr
r0
,
SCTLR
bic
r0
,
r0
,
r1
stcopr
r0
,
SCTLR
...
...
This diff is collapsed.
Click to expand it.
lib/cpus/aarch32/cortex_a9.S
View file @
6cf7b218
...
...
@@ -35,6 +35,15 @@ func cortex_a9_enable_smp
bx
lr
endfunc
cortex_a9_enable_smp
func
check_errata_a9_794073
#if ERRATA_A9_794073
mov
r0
,
#
ERRATA_APPLIES
#else
mov
r0
,
#
ERRATA_MISSING
#endif
bx
lr
endfunc
check_errata_cve_2017_5715
func
check_errata_cve_2017_5715
#if WORKAROUND_CVE_2017_5715
mov
r0
,
#
ERRATA_APPLIES
...
...
@@ -59,6 +68,7 @@ func cortex_a9_errata_report
*
checking
functions
of
each
errata
.
*/
report_errata
WORKAROUND_CVE_2017_5715
,
cortex_a9
,
cve_2017_5715
report_errata
ERRATA_A9_794073
,
cortex_a9
,
a9_79407
pop
{
r12
,
lr
}
bx
lr
...
...
This diff is collapsed.
Click to expand it.
lib/cpus/cpu-ops.mk
View file @
6cf7b218
...
...
@@ -53,6 +53,9 @@ endif
# These should be enabled by the platform if the erratum workaround needs to be
# applied.
# Flag to apply erratum 794073 workaround when disabling mmu.
ERRATA_A9_794073
?=
0
# Flag to apply erratum 816470 workaround during power down. This erratum
# applies only to revision >= r3p0 of the Cortex A15 cpu.
ERRATA_A15_816470
?=
0
...
...
@@ -212,6 +215,10 @@ ERRATA_N1_1043202 ?=1
# higher DSU power consumption on idle.
ERRATA_DSU_936184
?=
0
# Process ERRATA_A9_794073 flag
$(eval
$(call
assert_boolean,ERRATA_A9_794073))
$(eval
$(call
add_define,ERRATA_A9_794073))
# Process ERRATA_A15_816470 flag
$(eval
$(call
assert_boolean,ERRATA_A15_816470))
$(eval
$(call
add_define,ERRATA_A15_816470))
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help