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
9c7eecce
Commit
9c7eecce
authored
Apr 09, 2015
by
danh-arm
Browse files
Merge pull request #284 from kpet/kp/tf-issues-295
Add support to indicate size and end of assembly functions
parents
cd319142
8b779620
Changes
32
Show whitespace changes
Inline
Side-by-side
lib/semihosting/aarch64/semihosting_call.S
View file @
9c7eecce
...
@@ -35,3 +35,4 @@
...
@@ -35,3 +35,4 @@
func
semihosting_call
func
semihosting_call
hlt
#
0xf000
hlt
#
0xf000
ret
ret
endfunc
semihosting_call
plat/common/aarch64/platform_helpers.S
View file @
9c7eecce
...
@@ -52,6 +52,7 @@ func platform_get_core_pos
...
@@ -52,6 +52,7 @@ func platform_get_core_pos
and
x0
,
x0
,
#
MPIDR_CLUSTER_MASK
and
x0
,
x0
,
#
MPIDR_CLUSTER_MASK
add
x0
,
x1
,
x0
,
LSR
#
6
add
x0
,
x1
,
x0
,
LSR
#
6
ret
ret
endfunc
platform_get_core_pos
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -61,6 +62,7 @@ func platform_get_core_pos
...
@@ -61,6 +62,7 @@ func platform_get_core_pos
func
platform_check_mpidr
func
platform_check_mpidr
mov
x0
,
xzr
mov
x0
,
xzr
ret
ret
endfunc
platform_check_mpidr
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -69,6 +71,7 @@ func platform_check_mpidr
...
@@ -69,6 +71,7 @@ func platform_check_mpidr
*/
*/
func
plat_report_exception
func
plat_report_exception
ret
ret
endfunc
plat_report_exception
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -78,6 +81,7 @@ func plat_report_exception
...
@@ -78,6 +81,7 @@ func plat_report_exception
func
plat_crash_console_init
func
plat_crash_console_init
mov
x0
,
#
0
mov
x0
,
#
0
ret
ret
endfunc
plat_crash_console_init
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -86,6 +90,7 @@ func plat_crash_console_init
...
@@ -86,6 +90,7 @@ func plat_crash_console_init
*/
*/
func
plat_crash_console_putc
func
plat_crash_console_putc
ret
ret
endfunc
plat_crash_console_putc
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -94,6 +99,7 @@ func plat_crash_console_putc
...
@@ -94,6 +99,7 @@ func plat_crash_console_putc
*/
*/
func
plat_reset_handler
func
plat_reset_handler
ret
ret
endfunc
plat_reset_handler
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Placeholder
function
which
should
be
redefined
by
*
Placeholder
function
which
should
be
redefined
by
...
@@ -103,3 +109,4 @@ func plat_reset_handler
...
@@ -103,3 +109,4 @@ func plat_reset_handler
*/
*/
func
plat_disable_acp
func
plat_disable_acp
ret
ret
endfunc
plat_disable_acp
plat/common/aarch64/platform_mp_stack.S
View file @
9c7eecce
...
@@ -49,6 +49,7 @@ func platform_get_stack
...
@@ -49,6 +49,7 @@ func platform_get_stack
mov
x10
,
x30
//
lr
mov
x10
,
x30
//
lr
get_mp_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
get_mp_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
ret
x10
ret
x10
endfunc
platform_get_stack
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
void
platform_set_stack
(
unsigned
long
mpidr
)
*
void
platform_set_stack
(
unsigned
long
mpidr
)
...
@@ -62,6 +63,7 @@ func platform_set_stack
...
@@ -62,6 +63,7 @@ func platform_set_stack
bl
platform_get_stack
bl
platform_get_stack
mov
sp
,
x0
mov
sp
,
x0
ret
x9
ret
x9
endfunc
platform_set_stack
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Per
-
cpu
stacks
in
normal
memory
.
Each
cpu
gets
a
*
Per
-
cpu
stacks
in
normal
memory
.
Each
cpu
gets
a
...
...
plat/common/aarch64/platform_up_stack.S
View file @
9c7eecce
...
@@ -48,6 +48,7 @@
...
@@ -48,6 +48,7 @@
func
platform_get_stack
func
platform_get_stack
get_up_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
get_up_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
ret
ret
endfunc
platform_get_stack
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
void
platform_set_stack
(
unsigned
long
)
*
void
platform_set_stack
(
unsigned
long
)
...
@@ -61,6 +62,7 @@ func platform_set_stack
...
@@ -61,6 +62,7 @@ func platform_set_stack
get_up_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
get_up_stack
platform_normal_stacks
,
PLATFORM_STACK_SIZE
mov
sp
,
x0
mov
sp
,
x0
ret
ret
endfunc
platform_set_stack
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
Single
cpu
stack
in
normal
memory
.
*
Single
cpu
stack
in
normal
memory
.
...
...
plat/fvp/aarch64/fvp_helpers.S
View file @
9c7eecce
...
@@ -97,6 +97,7 @@ func plat_secondary_cold_boot_setup
...
@@ -97,6 +97,7 @@ func plat_secondary_cold_boot_setup
wfi
wfi
cb_panic
:
cb_panic
:
b
cb_panic
b
cb_panic
endfunc
plat_secondary_cold_boot_setup
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
@@ -148,6 +149,7 @@ warm_reset:
...
@@ -148,6 +149,7 @@ warm_reset:
exit
:
exit
:
ret
x9
ret
x9
_panic
:
b
_panic
_panic
:
b
_panic
endfunc
platform_get_entrypoint
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
@@ -170,6 +172,7 @@ loop:
...
@@ -170,6 +172,7 @@ loop:
subs
w1
,
w1
,
#
1
subs
w1
,
w1
,
#
1
b.gt
loop
b.gt
loop
ret
ret
endfunc
platform_mem_init
/
*
---------------------------------------------
/
*
---------------------------------------------
*
void
plat_report_exception
(
unsigned
int
type
)
*
void
plat_report_exception
(
unsigned
int
type
)
...
@@ -191,12 +194,14 @@ func plat_report_exception
...
@@ -191,12 +194,14 @@ func plat_report_exception
add
x1
,
x1
,
#
V2M_SYS_LED
add
x1
,
x1
,
#
V2M_SYS_LED
str
w0
,
[
x1
]
str
w0
,
[
x1
]
ret
ret
endfunc
plat_report_exception
func
platform_is_primary_cpu
func
platform_is_primary_cpu
and
x0
,
x0
,
#(
MPIDR_CLUSTER_MASK
|
MPIDR_CPU_MASK
)
and
x0
,
x0
,
#(
MPIDR_CLUSTER_MASK
|
MPIDR_CPU_MASK
)
cmp
x0
,
#
FVP_PRIMARY_CPU
cmp
x0
,
#
FVP_PRIMARY_CPU
cset
x0
,
eq
cset
x0
,
eq
ret
ret
endfunc
platform_is_primary_cpu
/
*
Define
a
crash
console
for
the
plaform
*/
/
*
Define
a
crash
console
for
the
plaform
*/
#define FVP_CRASH_CONSOLE_BASE PL011_UART1_BASE
#define FVP_CRASH_CONSOLE_BASE PL011_UART1_BASE
...
@@ -213,6 +218,7 @@ func plat_crash_console_init
...
@@ -213,6 +218,7 @@ func plat_crash_console_init
mov_imm
x1
,
PL011_UART1_CLK_IN_HZ
mov_imm
x1
,
PL011_UART1_CLK_IN_HZ
mov_imm
x2
,
PL011_BAUDRATE
mov_imm
x2
,
PL011_BAUDRATE
b
console_core_init
b
console_core_init
endfunc
plat_crash_console_init
/
*
---------------------------------------------
/
*
---------------------------------------------
*
int
plat_crash_console_putc
(
int
c
)
*
int
plat_crash_console_putc
(
int
c
)
...
@@ -224,3 +230,4 @@ func plat_crash_console_init
...
@@ -224,3 +230,4 @@ func plat_crash_console_init
func
plat_crash_console_putc
func
plat_crash_console_putc
mov_imm
x1
,
FVP_CRASH_CONSOLE_BASE
mov_imm
x1
,
FVP_CRASH_CONSOLE_BASE
b
console_core_putc
b
console_core_putc
endfunc
plat_crash_console_putc
plat/juno/aarch64/bl1_plat_helpers.S
View file @
9c7eecce
...
@@ -53,6 +53,7 @@ func platform_is_primary_cpu
...
@@ -53,6 +53,7 @@ func platform_is_primary_cpu
cmp
x0
,
x1
cmp
x0
,
x1
cset
x0
,
eq
cset
x0
,
eq
ret
x9
ret
x9
endfunc
platform_is_primary_cpu
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
*
void
plat_secondary_cold_boot_setup
(
void
)
;
*
void
plat_secondary_cold_boot_setup
(
void
)
;
...
@@ -67,6 +68,7 @@ func plat_secondary_cold_boot_setup
...
@@ -67,6 +68,7 @@ func plat_secondary_cold_boot_setup
/
*
Juno
todo
:
Implement
secondary
CPU
cold
boot
setup
on
Juno
*/
/
*
Juno
todo
:
Implement
secondary
CPU
cold
boot
setup
on
Juno
*/
cb_panic
:
cb_panic
:
b
cb_panic
b
cb_panic
endfunc
plat_secondary_cold_boot_setup
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
@@ -91,6 +93,7 @@ func platform_get_entrypoint
...
@@ -91,6 +93,7 @@ func platform_get_entrypoint
lsl
x0
,
x0
,
#
TRUSTED_MAILBOX_SHIFT
lsl
x0
,
x0
,
#
TRUSTED_MAILBOX_SHIFT
ldr
x0
,
[
x1
,
x0
]
ldr
x0
,
[
x1
,
x0
]
ret
x9
ret
x9
endfunc
platform_get_entrypoint
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
@@ -140,3 +143,4 @@ func platform_cold_boot_init
...
@@ -140,3 +143,4 @@ func platform_cold_boot_init
cb_init_panic
:
cb_init_panic
:
b
cb_init_panic
b
cb_init_panic
endfunc
platform_cold_boot_init
plat/juno/aarch64/plat_helpers.S
View file @
9c7eecce
...
@@ -58,6 +58,7 @@ func plat_crash_console_init
...
@@ -58,6 +58,7 @@ func plat_crash_console_init
mov_imm
x1
,
PL011_UART3_CLK_IN_HZ
mov_imm
x1
,
PL011_UART3_CLK_IN_HZ
mov_imm
x2
,
PL011_BAUDRATE
mov_imm
x2
,
PL011_BAUDRATE
b
console_core_init
b
console_core_init
endfunc
plat_crash_console_init
/
*
---------------------------------------------
/
*
---------------------------------------------
*
int
plat_crash_console_putc
(
int
c
)
*
int
plat_crash_console_putc
(
int
c
)
...
@@ -69,6 +70,7 @@ func plat_crash_console_init
...
@@ -69,6 +70,7 @@ func plat_crash_console_init
func
plat_crash_console_putc
func
plat_crash_console_putc
mov_imm
x1
,
JUNO_CRASH_CONSOLE_BASE
mov_imm
x1
,
JUNO_CRASH_CONSOLE_BASE
b
console_core_putc
b
console_core_putc
endfunc
plat_crash_console_putc
/
*
---------------------------------------------
/
*
---------------------------------------------
*
void
plat_report_exception
(
unsigned
int
type
)
*
void
plat_report_exception
(
unsigned
int
type
)
...
@@ -90,6 +92,7 @@ func plat_report_exception
...
@@ -90,6 +92,7 @@ func plat_report_exception
add
x1
,
x1
,
#
V2M_SYS_LED
add
x1
,
x1
,
#
V2M_SYS_LED
str
w0
,
[
x1
]
str
w0
,
[
x1
]
ret
ret
endfunc
plat_report_exception
/
*
/
*
*
Return
0
to
3
for
the
A53s
and
4
or
5
for
the
A57s
*
Return
0
to
3
for
the
A53s
and
4
or
5
for
the
A57s
...
@@ -100,6 +103,7 @@ func platform_get_core_pos
...
@@ -100,6 +103,7 @@ func platform_get_core_pos
eor
x0
,
x0
,
#(
1
<<
MPIDR_AFFINITY_BITS
)
//
swap
A53
/
A57
order
eor
x0
,
x0
,
#(
1
<<
MPIDR_AFFINITY_BITS
)
//
swap
A53
/
A57
order
add
x0
,
x1
,
x0
,
LSR
#
6
add
x0
,
x1
,
x0
,
LSR
#
6
ret
ret
endfunc
platform_get_core_pos
/
*
-----------------------------------------------------
/
*
-----------------------------------------------------
...
@@ -111,6 +115,7 @@ func platform_get_core_pos
...
@@ -111,6 +115,7 @@ func platform_get_core_pos
*/
*/
func
platform_mem_init
func
platform_mem_init
ret
ret
endfunc
platform_mem_init
/
*
--------------------------------------------------------------------
/
*
--------------------------------------------------------------------
*
void
plat_reset_handler
(
void
)
;
*
void
plat_reset_handler
(
void
)
;
...
@@ -197,3 +202,4 @@ ret:
...
@@ -197,3 +202,4 @@ ret:
isb
isb
#endif /* FIRST_RESET_HANDLER_CALL */
#endif /* FIRST_RESET_HANDLER_CALL */
ret
ret
endfunc
plat_reset_handler
services/spd/opteed/opteed_helpers.S
View file @
9c7eecce
...
@@ -64,6 +64,7 @@ func opteed_enter_sp
...
@@ -64,6 +64,7 @@ func opteed_enter_sp
*
---------------------------------------------
*
---------------------------------------------
*/
*/
b
el3_exit
b
el3_exit
endfunc
opteed_enter_sp
/
*
---------------------------------------------
/
*
---------------------------------------------
*
This
function
is
called
'x0'
pointing
to
a
C
*
This
function
is
called
'x0'
pointing
to
a
C
...
@@ -99,3 +100,4 @@ func opteed_exit_sp
...
@@ -99,3 +100,4 @@ func opteed_exit_sp
*/
*/
mov
x0
,
x1
mov
x0
,
x1
ret
ret
endfunc
opteed_exit_sp
\ No newline at end of file
services/spd/tlkd/tlkd_helpers.S
View file @
9c7eecce
...
@@ -66,6 +66,7 @@ func tlkd_enter_sp
...
@@ -66,6 +66,7 @@ func tlkd_enter_sp
*
----------------------------------------------
*
----------------------------------------------
*/
*/
b
el3_exit
b
el3_exit
endfunc
tlkd_enter_sp
/
*
----------------------------------------------
/
*
----------------------------------------------
*
This
function
is
called
with
'x0'
pointing
to
*
This
function
is
called
with
'x0'
pointing
to
...
@@ -100,3 +101,4 @@ func tlkd_exit_sp
...
@@ -100,3 +101,4 @@ func tlkd_exit_sp
*/
*/
mov
x0
,
x1
mov
x0
,
x1
ret
ret
endfunc
tlkd_exit_sp
services/spd/tspd/tspd_helpers.S
View file @
9c7eecce
...
@@ -64,6 +64,7 @@ func tspd_enter_sp
...
@@ -64,6 +64,7 @@ func tspd_enter_sp
*
---------------------------------------------
*
---------------------------------------------
*/
*/
b
el3_exit
b
el3_exit
endfunc
tspd_enter_sp
/
*
---------------------------------------------
/
*
---------------------------------------------
*
This
function
is
called
'x0'
pointing
to
a
C
*
This
function
is
called
'x0'
pointing
to
a
C
...
@@ -99,3 +100,4 @@ func tspd_exit_sp
...
@@ -99,3 +100,4 @@ func tspd_exit_sp
*/
*/
mov
x0
,
x1
mov
x0
,
x1
ret
ret
endfunc
tspd_exit_sp
services/std_svc/psci/psci_entry.S
View file @
9c7eecce
...
@@ -148,6 +148,7 @@ psci_aff_common_finish_entry:
...
@@ -148,6 +148,7 @@ psci_aff_common_finish_entry:
bl
psci_afflvl_power_on_finish
bl
psci_afflvl_power_on_finish
b
el3_exit
b
el3_exit
endfunc
psci_aff_on_finish_entry
/
*
--------------------------------------------
/
*
--------------------------------------------
*
This
function
is
called
to
indicate
to
the
*
This
function
is
called
to
indicate
to
the
...
@@ -163,4 +164,5 @@ func psci_power_down_wfi
...
@@ -163,4 +164,5 @@ func psci_power_down_wfi
wfi
wfi
wfi_spill
:
wfi_spill
:
b
wfi_spill
b
wfi_spill
endfunc
psci_power_down_wfi
services/std_svc/psci/psci_helpers.S
View file @
9c7eecce
...
@@ -120,6 +120,7 @@ do_stack_maintenance:
...
@@ -120,6 +120,7 @@ do_stack_maintenance:
ldp
x19
,
x20
,
[
sp
],
#
16
ldp
x19
,
x20
,
[
sp
],
#
16
ldp
x29
,
x30
,
[
sp
],
#
16
ldp
x29
,
x30
,
[
sp
],
#
16
ret
ret
endfunc
psci_do_pwrdown_cache_maintenance
/*
-----------------------------------------------------------------------
/*
-----------------------------------------------------------------------
...
@@ -164,3 +165,4 @@ func psci_do_pwrup_cache_maintenance
...
@@ -164,3 +165,4 @@ func psci_do_pwrup_cache_maintenance
ldp
x29
,
x30
,
[
sp
],
#
16
ldp
x29
,
x30
,
[
sp
],
#
16
ret
ret
endfunc
psci_do_pwrup_cache_maintenance
Prev
1
2
Next
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