Skip to content
GitLab
Menu
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
Apr 12, 2019
by
Antonio Niño Díaz
Committed by
TrustedFirmware Code Review
Apr 12, 2019
Browse files
Merge "Cortex A9:errata 794073 workaround" into integration
parents
72db70ca
dd4cf2c7
Changes
4
Hide whitespace changes
Inline
Side-by-side
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
...
...
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
...
...
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
...
...
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))
...
...
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