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
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 @@
.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 @@
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 @@
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"