aboutsummaryrefslogtreecommitdiff
path: root/plat
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2014-04-15 09:39:47 +0100
committerdanh-arm <dan.handley@arm.com>2014-04-15 09:39:47 +0100
commit9c2c763d22469b0f73d76469442b474c08497e7a (patch)
tree9f5df4a46f1dc38cb3b0fe5f44ec830779e9322b /plat
parent4b79cce54d0978817caba335d57c529f510f86e6 (diff)
parent0a30cf54af7bb1f77b405062b1d5b44e809d0290 (diff)
downloadarm-trusted-firmware-9c2c763d22469b0f73d76469442b474c08497e7a.tar.gz
Merge pull request #36 from athoelke/at/gc-sections-80
Using GCC --gc-sections to eliminate unused code and data
Diffstat (limited to 'plat')
-rw-r--r--plat/common/aarch64/platform_helpers.S17
-rw-r--r--plat/fvp/aarch64/bl1_plat_helpers.S12
-rw-r--r--plat/fvp/aarch64/plat_helpers.S5
3 files changed, 15 insertions, 19 deletions
diff --git a/plat/common/aarch64/platform_helpers.S b/plat/common/aarch64/platform_helpers.S
index 563f198..50abb70 100644
--- a/plat/common/aarch64/platform_helpers.S
+++ b/plat/common/aarch64/platform_helpers.S
@@ -30,6 +30,7 @@
#include <arch.h>
#include <platform.h>
+#include <asm_macros.S>
.globl pcpu_dv_mem_stack
@@ -51,8 +52,6 @@
#define PCPU_DV_MEM_STACK_SIZE 0x300
#endif
- .section .text, "ax"; .align 3
-
/* -----------------------------------------------------
* unsigned long long platform_set_coherent_stack
* (unsigned mpidr);
@@ -62,7 +61,7 @@
* SCTLR.C bit e.g. while powering down a cpu
* -----------------------------------------------------
*/
-platform_set_coherent_stack: ; .type platform_set_coherent_stack, %function
+func platform_set_coherent_stack
mov x5, x30 // lr
bl platform_get_core_pos
add x0, x0, #1
@@ -79,7 +78,7 @@ platform_set_coherent_stack: ; .type platform_set_coherent_stack, %function
* CoreId
* -----------------------------------------------------
*/
-platform_get_core_pos: ; .type platform_get_core_pos, %function
+func platform_get_core_pos
and x1, x0, #MPIDR_CPU_MASK
and x0, x0, #MPIDR_CLUSTER_MASK
add x0, x1, x0, LSR #6
@@ -93,7 +92,7 @@ platform_get_core_pos: ; .type platform_get_core_pos, %function
* cpu (applicable ony after a cold boot)
* -----------------------------------------------------
*/
-platform_is_primary_cpu: ; .type platform_is_primary_cpu, %function
+func platform_is_primary_cpu
and x0, x0, #(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK)
cmp x0, #PRIMARY_CPU
cset x0, eq
@@ -103,7 +102,7 @@ platform_is_primary_cpu: ; .type platform_is_primary_cpu, %function
* void platform_get_stack (unsigned long mpidr)
* -----------------------------------------------------
*/
-platform_get_stack: ; .type platform_get_stack, %function
+func platform_get_stack
mov x10, x30 // lr
bl platform_get_core_pos
add x0, x0, #1
@@ -117,7 +116,7 @@ platform_get_stack: ; .type platform_get_stack, %function
* void platform_set_stack (unsigned long mpidr)
* -----------------------------------------------------
*/
-platform_set_stack: ; .type platform_set_stack, %function
+func platform_set_stack
mov x9, x30 // lr
bl platform_get_stack
mov sp, x0
@@ -128,7 +127,7 @@ platform_set_stack: ; .type platform_set_stack, %function
* each platform.
* -----------------------------------------------------
*/
-platform_check_mpidr: ; .type platform_check_mpidr, %function
+func platform_check_mpidr
mov x0, xzr
ret
@@ -137,7 +136,7 @@ platform_check_mpidr: ; .type platform_check_mpidr, %function
* each platform.
* -----------------------------------------------------
*/
-plat_report_exception:
+func plat_report_exception
ret
/* -----------------------------------------------------
diff --git a/plat/fvp/aarch64/bl1_plat_helpers.S b/plat/fvp/aarch64/bl1_plat_helpers.S
index c487f03..fad37af 100644
--- a/plat/fvp/aarch64/bl1_plat_helpers.S
+++ b/plat/fvp/aarch64/bl1_plat_helpers.S
@@ -32,15 +32,13 @@
#include <platform.h>
#include <fvp_pwrc.h>
#include <gic.h>
+#include <asm_macros.S>
.globl platform_get_entrypoint
.globl platform_cold_boot_init
.globl plat_secondary_cold_boot_setup
- .section .text, "ax"; .align 3
-
-
.macro platform_choose_gicmmap param1, param2, x_tmp, w_tmp, res
ldr \x_tmp, =VE_SYSREGS_BASE + V2M_SYS_ID
ldr \w_tmp, [\x_tmp]
@@ -60,7 +58,7 @@
* that the request has gone through.
* -----------------------------------------------------
*/
-plat_secondary_cold_boot_setup: ; .type plat_secondary_cold_boot_setup, %function
+func plat_secondary_cold_boot_setup
bl read_mpidr
mov x19, x0
bl platform_get_core_pos
@@ -120,7 +118,7 @@ cb_panic:
* reset all cpus will read the same WK field
* -----------------------------------------------------
*/
-platform_get_entrypoint: ; .type platform_get_entrypoint, %function
+func platform_get_entrypoint
mov x9, x30 // lr
mov x2, x0
ldr x1, =PWRC_BASE
@@ -160,7 +158,7 @@ _panic: b _panic
* BL1 will always read the mailboxes with the MMU off
* -----------------------------------------------------
*/
-platform_mem_init: ; .type platform_mem_init, %function
+func platform_mem_init
ldr x0, =TZDRAM_BASE + MBOX_OFF
stp xzr, xzr, [x0, #0]
stp xzr, xzr, [x0, #0x10]
@@ -176,7 +174,7 @@ platform_mem_init: ; .type platform_mem_init, %function
* boot to perform early platform initialization
* -----------------------------------------------------
*/
-platform_cold_boot_init: ; .type platform_cold_boot_init, %function
+func platform_cold_boot_init
mov x20, x0
bl platform_mem_init
bl read_mpidr
diff --git a/plat/fvp/aarch64/plat_helpers.S b/plat/fvp/aarch64/plat_helpers.S
index 032b393..ab826f4 100644
--- a/plat/fvp/aarch64/plat_helpers.S
+++ b/plat/fvp/aarch64/plat_helpers.S
@@ -30,11 +30,10 @@
#include <arch.h>
#include <platform.h>
+#include <asm_macros.S>
.globl plat_report_exception
- .section .text, "ax"
-
/* ---------------------------------------------
* void plat_report_exception(unsigned int type)
* Function to report an unhandled exception
@@ -43,7 +42,7 @@
* to indicate where we are
* ---------------------------------------------
*/
-plat_report_exception:
+func plat_report_exception
mrs x1, CurrentEl
lsr x1, x1, #MODE_EL_SHIFT
lsl x1, x1, #SYS_LED_EL_SHIFT