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
cd07df8c
Commit
cd07df8c
authored
5 years ago
by
Alexei Fedorov
Committed by
TrustedFirmware Code Review
5 years ago
Browse files
Options
Download
Plain Diff
Merge "aarch64: Fix stack pointer maintenance on EA handling path" into integration
parents
0d35873c
bb9549ba
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
bl31/aarch64/ea_delegate.S
+9
-4
bl31/aarch64/ea_delegate.S
lib/el3_runtime/aarch64/context.S
+8
-0
lib/el3_runtime/aarch64/context.S
with
17 additions
and
4 deletions
+17
-4
bl31/aarch64/ea_delegate.S
View file @
cd07df8c
...
@@ -102,9 +102,11 @@ func enter_lower_el_sync_ea
...
@@ -102,9 +102,11 @@ func enter_lower_el_sync_ea
/
*
Setup
exception
class
and
syndrome
arguments
for
platform
handler
*/
/
*
Setup
exception
class
and
syndrome
arguments
for
platform
handler
*/
mov
x0
,
#
ERROR_EA_SYNC
mov
x0
,
#
ERROR_EA_SYNC
mrs
x1
,
esr_el3
mrs
x1
,
esr_el3
adr
x30
,
el3_exit
bl
delegate_sync_ea
b
delegate_sync_ea
/
*
el3_exit
assumes
SP_EL0
on
entry
*/
msr
spsel
,
#
MODE_SP_EL0
b
el3_exit
2
:
2
:
ldp
x0
,
x1
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_X0
]
ldp
x0
,
x1
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_X0
]
ldp
x2
,
x3
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_X2
]
ldp
x2
,
x3
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_X2
]
...
@@ -146,8 +148,11 @@ func enter_lower_el_async_ea
...
@@ -146,8 +148,11 @@ func enter_lower_el_async_ea
/
*
Setup
exception
class
and
syndrome
arguments
for
platform
handler
*/
/
*
Setup
exception
class
and
syndrome
arguments
for
platform
handler
*/
mov
x0
,
#
ERROR_EA_ASYNC
mov
x0
,
#
ERROR_EA_ASYNC
mrs
x1
,
esr_el3
mrs
x1
,
esr_el3
adr
x30
,
el3_exit
bl
delegate_async_ea
b
delegate_async_ea
/
*
el3_exit
assumes
SP_EL0
on
entry
*/
msr
spsel
,
#
MODE_SP_EL0
b
el3_exit
endfunc
enter_lower_el_async_ea
endfunc
enter_lower_el_async_ea
...
...
This diff is collapsed.
Click to expand it.
lib/el3_runtime/aarch64/context.S
View file @
cd07df8c
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
#include <arch.h>
#include <arch.h>
#include <asm_macros.S>
#include <asm_macros.S>
#include <assert_macros.S>
#include <context.h>
#include <context.h>
.
global
el1_sysregs_context_save
.
global
el1_sysregs_context_save
...
@@ -477,6 +478,13 @@ endfunc restore_gp_pmcr_pauth_regs
...
@@ -477,6 +478,13 @@ endfunc restore_gp_pmcr_pauth_regs
*
------------------------------------------------------------------
*
------------------------------------------------------------------
*/
*/
func
el3_exit
func
el3_exit
#if ENABLE_ASSERTIONS
/
*
el3_exit
assumes
SP_EL0
on
entry
*/
mrs
x17
,
spsel
cmp
x17
,
#
MODE_SP_EL0
ASM_ASSERT
(
eq
)
#endif
/
*
----------------------------------------------------------
/
*
----------------------------------------------------------
*
Save
the
current
SP_EL0
i
.
e
.
the
EL3
runtime
stack
which
*
Save
the
current
SP_EL0
i
.
e
.
the
EL3
runtime
stack
which
*
will
be
used
for
handling
the
next
SMC
.
*
will
be
used
for
handling
the
next
SMC
.
...
...
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