.macro asm_print_line_dec
mov x6, #10 /* Divide by 10 after every loop iteration */
mov x5, #MAX_DEC_DIVISOR
-1:
+dec_print_loop:
udiv x0, x4, x5 /* Get the quotient */
msub x4, x0, x5, x4 /* Find the remainder */
add x0, x0, #ASCII_OFFSET_NUM /* Convert to ascii */
bl plat_crash_console_putc
udiv x5, x5, x6 /* Reduce divisor */
- cbnz x5, 1b
+ cbnz x5, dec_print_loop
.endm
/*
* Assembler macro to enable asm_assert. Use this macro wherever
- * assert is required in assembly.
+ * assert is required in assembly. Please note that the macro makes
+ * use of label '300' to provide the logic and the caller
+ * should make sure that this label is not used to branch prior
+ * to calling this macro.
*/
#define ASM_ASSERT(_cc) \
.ifndef .L_assert_filename ;\
.string __FILE__ ;\
.popsection ;\
.endif ;\
- b._cc 1f ;\
+ b._cc 300f ;\
adr x0, .L_assert_filename ;\
mov x1, __LINE__ ;\
b asm_assert ;\
-1:
+300:
.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 */
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
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"