diff options
author | Soby Mathew <soby.mathew@arm.com> | 2014-08-19 11:26:00 +0100 |
---|---|---|
committer | Soby Mathew <soby.mathew@arm.com> | 2014-08-19 14:42:35 +0100 |
commit | aecc0840805672279e4165f4d368a59b5c20771e (patch) | |
tree | 658c6ed36c041cfd9d2f367b6dae55d4069ac40b /plat | |
parent | a4a8eaeb36f7a023b057f49e0f43f1d0134fd7f0 (diff) |
Rework use of labels in assembly macros.
This patch provides a workaround for the ASM_ASSERT label issue
and also reworks the use of labels in assembly macros.
If the caller of the ASM_ASSERT macro happened to use the
label '1' to jump past the ASM_ASSERT macro, it would not have
worked since the ASM_ASSERT macro internally used the same label.
Hence, as a workaround, this patch makes the label a high
number in the expectation that the caller will never use it.
Also updated the other assembly macros using numerical labels to
named lables.
Change-Id: Iec892359db84f2391ad2a83a92141c4d7049776a
Diffstat (limited to 'plat')
-rw-r--r-- | plat/fvp/include/plat_macros.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/plat/fvp/include/plat_macros.S b/plat/fvp/include/plat_macros.S index 5d11d36..892dbfb 100644 --- a/plat/fvp/include/plat_macros.S +++ b/plat/fvp/include/plat_macros.S @@ -52,7 +52,7 @@ spacer: .macro plat_print_gic_regs adr x0, plat_config ldr w16, [x0, #CONFIG_GICC_BASE_OFFSET] - cbz x16, 1f + cbz x16, exit_print_gic_regs /* gic base address is now in x16 */ adr x6, gic_regs /* Load the gic reg list to x6 */ /* Load the gic regs to gp regs used by str_in_crash_buf_print */ @@ -66,10 +66,10 @@ spacer: add x7, x16, #GICD_ISPENDR adr x4, gicd_pend_reg bl asm_print_str -2: +gicd_ispendr_loop: sub x4, x7, x16 cmp x4, #0x280 - b.eq 1f + b.eq exit_print_gic_regs bl asm_print_hex adr x4, spacer bl asm_print_str @@ -77,8 +77,8 @@ spacer: bl asm_print_hex adr x4, newline bl asm_print_str - b 2b -1: + b gicd_ispendr_loop +exit_print_gic_regs: .endm .section .rodata.cci_reg_name, "aS" |