diff options
author | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-03-18 13:46:55 +0000 |
---|---|---|
committer | Andrew Thoelke <andrew.thoelke@arm.com> | 2014-03-26 21:54:37 +0000 |
commit | 0a30cf54af7bb1f77b405062b1d5b44e809d0290 (patch) | |
tree | 9b7acf35e8b41803fb7a836dce428a9924ba1587 /services | |
parent | dccc537a7243d784e0b8b81ce1634e385c3b048b (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.S | 4 | ||||
-rw-r--r-- | services/std_svc/psci/psci_entry.S | 10 |
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: |