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
585df3b4
Commit
585df3b4
authored
5 years ago
by
Paul Beesley
Committed by
TrustedFirmware Code Review
5 years ago
Browse files
Options
Download
Plain Diff
Merge "AArch64: Align crash reporting output" into integration
parents
2102198c
6c6a470f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
bl31/aarch64/crash_reporting.S
+25
-7
bl31/aarch64/crash_reporting.S
common/aarch64/debug.S
+6
-2
common/aarch64/debug.S
include/plat/arm/common/aarch64/arm_macros.S
+14
-4
include/plat/arm/common/aarch64/arm_macros.S
with
45 additions
and
13 deletions
+45
-13
bl31/aarch64/crash_reporting.S
View file @
585df3b4
...
...
@@ -28,7 +28,7 @@
*/
.
section
.
rodata.
crash_prints
,
"aS"
print_spacer
:
.
asciz
"
=\t\t
0x"
.
asciz
"
=
0x"
gp_regs
:
.
asciz
"x0"
,
"x1"
,
"x2"
,
"x3"
,
"x4"
,
"x5"
,
"x6"
,
"x7"
,
\
...
...
@@ -55,11 +55,11 @@ aarch32_regs:
#endif /* CTX_INCLUDE_AARCH32_REGS */
panic_msg
:
.
asciz
"PANIC in EL3
at x30 = 0x
"
.
asciz
"PANIC in EL3
.\nx30
"
excpt_msg
:
.
asciz
"Unhandled Exception in EL3.\nx30
=\t\t0x
"
.
asciz
"Unhandled Exception in EL3.\nx30"
intr_excpt_msg
:
.
asciz
"Unhandled Interrupt Exception in EL3.\nx30
=\t\t0x
"
.
asciz
"Unhandled Interrupt Exception in EL3.\nx30"
/
*
*
Helper
function
to
print
newline
to
console
.
...
...
@@ -94,10 +94,11 @@ test_size_list:
mov
x4
,
x6
/
*
asm_print_str
updates
x4
to
point
to
next
entry
in
list
*/
bl
asm_print_str
/
*
x0
=
number
of
symbols
printed
+
1
*/
sub
x0
,
x4
,
x6
/
*
update
x6
with
the
updated
list
pointer
*/
mov
x6
,
x4
adr
x4
,
print_spacer
bl
asm_print_str
bl
print_alignment
ldr
x4
,
[
x7
],
#
REGSZ
bl
asm_print_hex
bl
print_newline
...
...
@@ -107,6 +108,20 @@ exit_size_print:
ret
endfunc
size_controlled_print
/
*
-----------------------------------------------------
*
This
function
calculates
and
prints
required
number
*
of
space
characters
followed
by
"= 0x"
,
based
on
the
*
length
of
ascii
register
name
.
*
x0
:
length
of
ascii
register
name
+
1
*
------------------------------------------------------
*/
func
print_alignment
/
*
The
minimum
ascii
length
is
3
,
e
.
g
.
for
"x0"
*/
adr
x4
,
print_spacer
-
3
add
x4
,
x4
,
x0
b
asm_print_str
endfunc
print_alignment
/
*
*
Helper
function
to
store
x8
-
x15
registers
to
*
the
crash
buf
.
The
system
registers
values
are
...
...
@@ -189,7 +204,7 @@ endfunc report_unhandled_interrupt
*
-----------------------------------------------------
*/
func
el3_panic
msr
spsel
,
#
1
msr
spsel
,
#
MODE_SP_ELX
prepare_crash_buf_save_x0_x1
adr
x0
,
panic_msg
mov
sp
,
x0
...
...
@@ -230,6 +245,9 @@ func do_crash_reporting
/
*
Print
the
crash
message
.
sp
points
to
the
crash
message
*/
mov
x4
,
sp
bl
asm_print_str
/
*
Print
spaces
to
align
"x30"
string
*/
mov
x0
,
#
4
bl
print_alignment
/
*
load
the
crash
buf
address
*/
mrs
x0
,
tpidr_el3
/
*
report
x30
first
from
the
crash
buf
*/
...
...
This diff is collapsed.
Click to expand it.
common/aarch64/debug.S
View file @
585df3b4
/*
*
Copyright
(
c
)
2014
-
201
7
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2014
-
201
9
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -10,6 +10,7 @@
.
globl
asm_print_str
.
globl
asm_print_hex
.
globl
asm_print_hex_bits
.
globl
asm_assert
.
globl
do_panic
...
...
@@ -107,8 +108,11 @@ endfunc asm_print_str
*
Clobber
:
x30
,
x0
-
x3
,
x5
*/
func
asm_print_hex
mov
x3
,
x30
mov
x5
,
#
64
/*
No
of
bits
to
convert
to
ascii
*/
/
*
Convert
to
ascii
number
of
bits
in
x5
*/
asm_print_hex_bits
:
mov
x3
,
x30
1
:
sub
x5
,
x5
,
#
4
lsrv
x0
,
x4
,
x5
...
...
This diff is collapsed.
Click to expand it.
include/plat/arm/common/aarch64/arm_macros.S
View file @
585df3b4
/*
*
Copyright
(
c
)
2015
-
201
6
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2015
-
201
9
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -22,11 +22,13 @@ icc_regs:
/*
Registers
common
to
both
GICv2
and
GICv3
*/
gicd_pend_reg
:
.
asciz
"gicd_ispendr regs (Offsets 0x200
-
0x278)\n
Offset
:
\t\t\t
v
alue\n"
.
asciz
"gicd_ispendr regs (Offsets 0x200
-
0x278)\nOffset\t\t\t
V
alue\n"
newline
:
.
asciz
"\n"
spacer
:
.
asciz
":\t\t0x"
.
asciz
":\t\t 0x"
prefix
:
.
asciz
"0x"
/
*
---------------------------------------------
*
The
below
utility
macro
prints
out
relevant
GIC
...
...
@@ -77,7 +79,15 @@ gicd_ispendr_loop:
sub
x4
,
x7
,
x16
cmp
x4
,
#
0x280
b.eq
exit_print_gic_regs
bl
asm_print_hex
/
*
Print
"0x"
*/
adr
x4
,
prefix
bl
asm_print_str
/
*
Print
offset
*/
sub
x4
,
x7
,
x16
mov
x5
,
#
12
bl
asm_print_hex_bits
adr
x4
,
spacer
bl
asm_print_str
...
...
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