diff options
author | Kévin Petit <kevin.petit@arm.com> | 2015-03-24 14:03:57 +0000 |
---|---|---|
committer | Kévin Petit <kevin.petit@arm.com> | 2015-04-08 13:02:59 +0100 |
commit | 8b779620d3bad024b83650ecfeaafd7b3ae26ccf (patch) | |
tree | 345141826138671577efda8e8b8426dd3f039916 /bl32 | |
parent | cd319142464907e3760129f3e245a325300eb3c3 (diff) |
Add support to indicate size and end of assembly functions
In order for the symbol table in the ELF file to contain the size of
functions written in assembly, it is necessary to report it to the
assembler using the .size directive.
To fulfil the above requirements, this patch introduces an 'endfunc'
macro which contains the .endfunc and .size directives. It also adds
a .func directive to the 'func' assembler macro.
The .func/.endfunc have been used so the assembler can fail if
endfunc is omitted.
Fixes ARM-Software/tf-issues#295
Change-Id: If8cb331b03d7f38fe7e3694d4de26f1075b278fc
Signed-off-by: Kévin Petit <kevin.petit@arm.com>
Diffstat (limited to 'bl32')
-rw-r--r-- | bl32/tsp/aarch64/tsp_entrypoint.S | 11 | ||||
-rw-r--r-- | bl32/tsp/aarch64/tsp_request.S | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/bl32/tsp/aarch64/tsp_entrypoint.S b/bl32/tsp/aarch64/tsp_entrypoint.S index 2714282b..5b989e3d 100644 --- a/bl32/tsp/aarch64/tsp_entrypoint.S +++ b/bl32/tsp/aarch64/tsp_entrypoint.S @@ -149,6 +149,7 @@ func tsp_entrypoint tsp_entrypoint_panic: b tsp_entrypoint_panic +endfunc tsp_entrypoint /* ------------------------------------------- @@ -166,6 +167,7 @@ func tsp_vector_table b tsp_fiq_entry b tsp_system_off_entry b tsp_system_reset_entry +endfunc tsp_vector_table /*--------------------------------------------- * This entrypoint is used by the TSPD when this @@ -180,6 +182,7 @@ func tsp_vector_table func tsp_cpu_off_entry bl tsp_cpu_off_main restore_args_call_smc +endfunc tsp_cpu_off_entry /*--------------------------------------------- * This entrypoint is used by the TSPD when the @@ -191,6 +194,7 @@ func tsp_cpu_off_entry func tsp_system_off_entry bl tsp_system_off_main restore_args_call_smc +endfunc tsp_system_off_entry /*--------------------------------------------- * This entrypoint is used by the TSPD when the @@ -202,6 +206,7 @@ func tsp_system_off_entry func tsp_system_reset_entry bl tsp_system_reset_main restore_args_call_smc +endfunc tsp_system_reset_entry /*--------------------------------------------- * This entrypoint is used by the TSPD when this @@ -292,6 +297,7 @@ func tsp_cpu_on_entry /* Should never reach here */ tsp_cpu_on_entry_panic: b tsp_cpu_on_entry_panic +endfunc tsp_cpu_on_entry /*--------------------------------------------- * This entrypoint is used by the TSPD when this @@ -305,6 +311,7 @@ tsp_cpu_on_entry_panic: func tsp_cpu_suspend_entry bl tsp_cpu_suspend_main restore_args_call_smc +endfunc tsp_cpu_suspend_entry /*--------------------------------------------- * This entrypoint is used by the TSPD to pass @@ -357,6 +364,7 @@ func tsp_fiq_entry tsp_fiq_entry_panic: b tsp_fiq_entry_panic +endfunc tsp_fiq_entry /*--------------------------------------------- * This entrypoint is used by the TSPD when this @@ -373,6 +381,7 @@ func tsp_cpu_resume_entry restore_args_call_smc tsp_cpu_resume_panic: b tsp_cpu_resume_panic +endfunc tsp_cpu_resume_entry /*--------------------------------------------- * This entrypoint is used by the TSPD to ask @@ -384,6 +393,7 @@ func tsp_fast_smc_entry restore_args_call_smc tsp_fast_smc_entry_panic: b tsp_fast_smc_entry_panic +endfunc tsp_fast_smc_entry /*--------------------------------------------- * This entrypoint is used by the TSPD to ask @@ -399,3 +409,4 @@ func tsp_std_smc_entry restore_args_call_smc tsp_std_smc_entry_panic: b tsp_std_smc_entry_panic +endfunc tsp_std_smc_entry diff --git a/bl32/tsp/aarch64/tsp_request.S b/bl32/tsp/aarch64/tsp_request.S index 6aa08736..e30acf6e 100644 --- a/bl32/tsp/aarch64/tsp_request.S +++ b/bl32/tsp/aarch64/tsp_request.S @@ -56,6 +56,7 @@ func tsp_get_magic stp x0, x1, [x4, #0] ret +endfunc tsp_get_magic .align 2 _tsp_fid_get_magic: |