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
096b7af7
Commit
096b7af7
authored
Aug 22, 2017
by
davidcunado-arm
Committed by
GitHub
Aug 22, 2017
Browse files
Merge pull request #1054 from jwerner-chromium/JW_crash_x30
Fix x30 reporting for unhandled exceptions
parents
2458e37a
4d91838b
Changes
4
Hide whitespace changes
Inline
Side-by-side
bl31/aarch64/runtime_exceptions.S
View file @
096b7af7
...
...
@@ -49,7 +49,8 @@
b.eq
smc_handler64
/
*
Other
kinds
of
synchronous
exceptions
are
not
handled
*/
no_ret
report_unhandled_exception
ldr
x30
,
[
sp
,
#
CTX_GPREGS_OFFSET
+
CTX_GPREG_LR
]
b
report_unhandled_exception
.
endm
...
...
@@ -152,7 +153,7 @@ vector_base runtime_exceptions
*/
vector_entry
sync_exception_sp_el0
/
*
We
don
't expect any synchronous exceptions from EL3 */
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
sync_exception_sp_el0
vector_entry
irq_sp_el0
...
...
@@ -160,17 +161,17 @@ vector_entry irq_sp_el0
*
EL3
code
is
non
-
reentrant
.
Any
asynchronous
exception
is
a
serious
*
error
.
Loop
infinitely
.
*/
no_ret
report_unhandled_interrupt
b
report_unhandled_interrupt
check_vector_size
irq_sp_el0
vector_entry
fiq_sp_el0
no_ret
report_unhandled_interrupt
b
report_unhandled_interrupt
check_vector_size
fiq_sp_el0
vector_entry
serror_sp_el0
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
serror_sp_el0
/
*
---------------------------------------------------------------------
...
...
@@ -184,19 +185,19 @@ vector_entry sync_exception_sp_elx
*
synchronous
exception
.
There
is
a
high
probability
that
SP_EL3
is
*
corrupted
.
*/
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
sync_exception_sp_elx
vector_entry
irq_sp_elx
no_ret
report_unhandled_interrupt
b
report_unhandled_interrupt
check_vector_size
irq_sp_elx
vector_entry
fiq_sp_elx
no_ret
report_unhandled_interrupt
b
report_unhandled_interrupt
check_vector_size
fiq_sp_elx
vector_entry
serror_sp_elx
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
serror_sp_elx
/
*
---------------------------------------------------------------------
...
...
@@ -226,7 +227,7 @@ vector_entry serror_aarch64
*
SError
exceptions
from
lower
ELs
are
not
currently
supported
.
*
Report
their
occurrence
.
*/
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
serror_aarch64
/
*
---------------------------------------------------------------------
...
...
@@ -256,7 +257,7 @@ vector_entry serror_aarch32
*
SError
exceptions
from
lower
ELs
are
not
currently
supported
.
*
Report
their
occurrence
.
*/
no_ret
report_unhandled_exception
b
report_unhandled_exception
check_vector_size
serror_aarch32
...
...
bl32/tsp/aarch64/tsp_exceptions.S
View file @
096b7af7
...
...
@@ -81,19 +81,19 @@ vector_base tsp_exceptions
*
-----------------------------------------------------
*/
vector_entry
sync_exception_sp_el0
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
sync_exception_sp_el0
vector_entry
irq_sp_el0
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
irq_sp_el0
vector_entry
fiq_sp_el0
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
fiq_sp_el0
vector_entry
serror_sp_el0
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
serror_sp_el0
...
...
@@ -103,7 +103,7 @@ vector_entry serror_sp_el0
*
-----------------------------------------------------
*/
vector_entry
sync_exception_sp_elx
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
sync_exception_sp_elx
vector_entry
irq_sp_elx
...
...
@@ -115,7 +115,7 @@ vector_entry fiq_sp_elx
check_vector_size
fiq_sp_elx
vector_entry
serror_sp_elx
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
serror_sp_elx
...
...
@@ -125,19 +125,19 @@ vector_entry serror_sp_elx
*
-----------------------------------------------------
*/
vector_entry
sync_exception_aarch64
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
sync_exception_aarch64
vector_entry
irq_aarch64
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
irq_aarch64
vector_entry
fiq_aarch64
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
fiq_aarch64
vector_entry
serror_aarch64
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
serror_aarch64
...
...
@@ -147,17 +147,17 @@ vector_entry serror_aarch64
*
-----------------------------------------------------
*/
vector_entry
sync_exception_aarch32
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
sync_exception_aarch32
vector_entry
irq_aarch32
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
irq_aarch32
vector_entry
fiq_aarch32
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
fiq_aarch32
vector_entry
serror_aarch32
no_ret
plat_panic_handler
b
plat_panic_handler
check_vector_size
serror_aarch32
common/aarch32/debug.S
View file @
096b7af7
...
...
@@ -51,7 +51,7 @@ func do_panic
1
:
mov
lr
,
r6
no_ret
plat_panic_handler
b
plat_panic_handler
endfunc
do_panic
/**********************************************************
*
...
...
common/aarch64/debug.S
View file @
096b7af7
...
...
@@ -175,6 +175,6 @@ el3_panic:
_panic_handler
:
/
*
Pass
to
plat_panic_handler
the
address
from
where
el3_panic
was
*
called
,
not
the
address
of
the
call
from
el3_panic
.
*/
mov
x30
,
x6
no_ret
plat_panic_handler
mov
x30
,
x6
b
plat_panic_handler
endfunc
do_panic
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