summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorAndrew Thoelke <andrew.thoelke@arm.com>2014-03-18 13:46:55 +0000
committerAndrew Thoelke <andrew.thoelke@arm.com>2014-03-26 21:54:37 +0000
commit0a30cf54af7bb1f77b405062b1d5b44e809d0290 (patch)
tree9b7acf35e8b41803fb7a836dce428a9924ba1587 /services
parentdccc537a7243d784e0b8b81ce1634e385c3b048b (diff)
Place assembler functions in separate sections
This extends the --gc-sections behaviour to the many assembler support functions in the firmware images by placing each function into its own code section. This is achieved by creating a 'func' macro used to declare each function label. Fixes ARM-software/tf-issues#80 Change-Id: I301937b630add292d2dec6d2561a7fcfa6fec690
Diffstat (limited to 'services')
-rw-r--r--services/spd/tspd/tspd_helpers.S4
-rw-r--r--services/std_svc/psci/psci_entry.S10
2 files changed, 6 insertions, 8 deletions
diff --git a/services/spd/tspd/tspd_helpers.S b/services/spd/tspd/tspd_helpers.S
index b56b2aa..27fbb5a 100644
--- a/services/spd/tspd/tspd_helpers.S
+++ b/services/spd/tspd/tspd_helpers.S
@@ -44,7 +44,7 @@
* saved.
* ---------------------------------------------
*/
-tspd_enter_sp:
+func tspd_enter_sp
/* Make space for the registers that we're going to save */
mov x3, sp
str x3, [x0, #0]
@@ -79,7 +79,7 @@ tspd_enter_sp:
* ---------------------------------------------
*/
.global tspd_exit_sp
-tspd_exit_sp:
+func tspd_exit_sp
/* Restore the previous stack */
mov sp, x0
diff --git a/services/std_svc/psci/psci_entry.S b/services/std_svc/psci/psci_entry.S
index 361dfde..bdd571e 100644
--- a/services/std_svc/psci/psci_entry.S
+++ b/services/std_svc/psci/psci_entry.S
@@ -41,8 +41,6 @@
.globl __psci_cpu_off
.globl __psci_cpu_suspend
- .section .text, "ax"; .align 3
-
/* -----------------------------------------------------
* This cpu has been physically powered up. Depending
* upon whether it was resumed from suspend or simply
@@ -55,7 +53,7 @@
* all this is done.
* -----------------------------------------------------
*/
-psci_aff_on_finish_entry:
+func psci_aff_on_finish_entry
adr x23, psci_afflvl_on_finishers
b psci_aff_common_finish_entry
@@ -120,7 +118,7 @@ _panic:
* suffering from stack coherency issues
* -----------------------------------------------------
*/
-__psci_cpu_off:
+func __psci_cpu_off
func_prologue
sub sp, sp, #0x10
stp x19, x20, [sp, #0]
@@ -137,7 +135,7 @@ __psci_cpu_off:
func_epilogue
ret
-__psci_cpu_suspend:
+func __psci_cpu_suspend
func_prologue
sub sp, sp, #0x20
stp x19, x20, [sp, #0]
@@ -162,7 +160,7 @@ __psci_cpu_suspend:
func_epilogue
ret
-final_wfi:
+func final_wfi
dsb sy
wfi
wfi_spill: