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
5f3ed6aa
Commit
5f3ed6aa
authored
Jan 24, 2020
by
Soby Mathew
Committed by
TrustedFirmware Code Review
Jan 24, 2020
Browse files
Merge "Prevent speculative execution past ERET" into integration
parents
4e1b0b19
f461fe34
Changes
11
Hide whitespace changes
Inline
Side-by-side
bl1/aarch64/bl1_exceptions.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2013
-
20
19
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2013
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -202,7 +202,7 @@ debug_loop:
...
@@ -202,7 +202,7 @@ debug_loop:
ldp
x4
,
x5
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x20
)]
ldp
x4
,
x5
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x20
)]
ldp
x2
,
x3
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x10
)]
ldp
x2
,
x3
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x10
)]
ldp
x0
,
x1
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x0
)]
ldp
x0
,
x1
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x0
)]
e
ret
e
xception_return
endfunc
smc_handler64
endfunc
smc_handler64
unexpected_sync_exception
:
unexpected_sync_exception
:
...
...
bl2/aarch64/bl2_el3_entrypoint.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2017
-
20
19
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -95,5 +95,5 @@ func bl2_run_next_image
...
@@ -95,5 +95,5 @@ func bl2_run_next_image
ldp
x4
,
x5
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x20
)]
ldp
x4
,
x5
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x20
)]
ldp
x2
,
x3
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x10
)]
ldp
x2
,
x3
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x10
)]
ldp
x0
,
x1
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x0
)]
ldp
x0
,
x1
,
[
x20
,
#(
ENTRY_POINT_INFO_ARGS_OFFSET
+
0x0
)]
e
ret
e
xception_return
endfunc
bl2_run_next_image
endfunc
bl2_run_next_image
bl31/aarch64/runtime_exceptions.S
View file @
5f3ed6aa
...
@@ -456,7 +456,7 @@ smc_unknown:
...
@@ -456,7 +456,7 @@ smc_unknown:
smc_prohibited
:
smc_prohibited
:
ldr
x30
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_LR
]
ldr
x30
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_LR
]
mov
x0
,
#
SMC_UNK
mov
x0
,
#
SMC_UNK
e
ret
e
xception_return
#if DEBUG
#if DEBUG
rt_svc_fw_critical_error
:
rt_svc_fw_critical_error
:
...
...
bl32/tsp/aarch64/tsp_exceptions.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2013
-
20
16
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2013
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -64,7 +64,7 @@
...
@@ -64,7 +64,7 @@
smc
#
0
smc
#
0
interrupt_exit_
\
label
:
interrupt_exit_
\
label
:
restore_caller_regs_and_lr
restore_caller_regs_and_lr
e
ret
e
xception_return
.
endm
.
endm
.
globl
tsp_exceptions
.
globl
tsp_exceptions
...
...
include/arch/aarch64/asm_macros.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2013
-
20
19
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2013
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -218,4 +218,13 @@
...
@@ -218,4 +218,13 @@
ret
ret
.
endm
.
endm
/
*
*
Macro
for
mitigating
against
speculative
execution
beyond
ERET
.
*/
.
macro
exception_return
eret
dsb
nsh
isb
.
endm
#endif /* ASM_MACROS_S */
#endif /* ASM_MACROS_S */
lib/cpus/aarch64/cortex_a76.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2017
-
20
19
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
bic
x3
,
x2
,
#
CORTEX_A76_CPUACTLR2_EL1_DISABLE_LOAD_PASS_STORE
bic
x3
,
x2
,
#
CORTEX_A76_CPUACTLR2_EL1_DISABLE_LOAD_PASS_STORE
csel
x3
,
x3
,
x1
,
eq
csel
x3
,
x3
,
x1
,
eq
msr
CORTEX_A76_CPUACTLR2_EL1
,
x3
msr
CORTEX_A76_CPUACTLR2_EL1
,
x3
e
ret
/*
ERET
implie
s
ISB
*/
e
xception_return
/*
exception_return
contain
s
ISB
*/
.
endif
.
endif
1
:
1
:
/
*
/
*
...
...
lib/cpus/aarch64/neoverse_n1.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2017
-
20
19
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -553,7 +553,7 @@ func neoverse_n1_errata_ic_trap_handler
...
@@ -553,7 +553,7 @@ func neoverse_n1_errata_ic_trap_handler
*/
*/
esb
esb
#endif
#endif
e
ret
e
xception_return
1
:
1
:
ret
ret
endfunc
neoverse_n1_errata_ic_trap_handler
endfunc
neoverse_n1_errata_ic_trap_handler
...
...
lib/cpus/aarch64/wa_cve_2017_5715_mmu.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2017
-
20
18
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -48,7 +48,7 @@ vector_base wa_cve_2017_5715_mmu_vbar
...
@@ -48,7 +48,7 @@ vector_base wa_cve_2017_5715_mmu_vbar
ccmp
w0
,
w1
,
#
0
,
eq
ccmp
w0
,
w1
,
#
0
,
eq
/
*
Static
predictor
will
predict
a
fall
through
*/
/
*
Static
predictor
will
predict
a
fall
through
*/
bne
1
f
bne
1
f
e
ret
e
xception_return
1
:
1
:
.
endif
.
endif
...
...
lib/el3_runtime/aarch64/context.S
View file @
5f3ed6aa
...
@@ -534,6 +534,6 @@ func el3_exit
...
@@ -534,6 +534,6 @@ func el3_exit
*/
*/
esb
esb
#endif
#endif
e
ret
e
xception_return
endfunc
el3_exit
endfunc
el3_exit
plat/renesas/rcar/aarch64/plat_helpers.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2013
-
20
14
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2013
-
20
20
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2015
-
2019
,
Renesas
Electronics
Corporation
.
All
rights
reserved
.
*
Copyright
(
c
)
2015
-
2019
,
Renesas
Electronics
Corporation
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
...
@@ -189,7 +189,7 @@ func bl2_enter_bl31
...
@@ -189,7 +189,7 @@ func bl2_enter_bl31
ldp
x0
,
x1
,
[
x20
,
#
ENTRY_POINT_INFO_PC_OFFSET
]
ldp
x0
,
x1
,
[
x20
,
#
ENTRY_POINT_INFO_PC_OFFSET
]
msr
elr_el3
,
x0
msr
elr_el3
,
x0
msr
spsr_el3
,
x1
msr
spsr_el3
,
x1
e
ret
e
xception_return
endfunc
bl2_enter_bl31
endfunc
bl2_enter_bl31
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
...
services/std_svc/spm_mm/aarch64/spm_mm_shim_exceptions.S
View file @
5f3ed6aa
/*
/*
*
Copyright
(
c
)
2017
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2017
-
2020
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
*/
...
@@ -87,7 +87,7 @@ vector_entry SynchronousExceptionA64, .spm_shim_exceptions
...
@@ -87,7 +87,7 @@ vector_entry SynchronousExceptionA64, .spm_shim_exceptions
do_smc
:
do_smc
:
mrs
x30
,
tpidr_el1
mrs
x30
,
tpidr_el1
smc
#
0
smc
#
0
e
ret
e
xception_return
/
*
AArch64
system
instructions
trap
are
handled
as
a
panic
for
now
*/
/
*
AArch64
system
instructions
trap
are
handled
as
a
panic
for
now
*/
handle_sys_trap
:
handle_sys_trap
:
...
...
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