From 53d7e003fef908db02bc78fb889aa4ab58c9af25 Mon Sep 17 00:00:00 2001
From: Justin Chadwell <justin.chadwell@arm.com>
Date: Tue, 20 Aug 2019 10:58:49 +0100
Subject: [PATCH] Move assembly newline function into common debug code

Printing a newline is a relatively common functionality for code to want
to do. Therefore, this patch now moves this function into a common part
of the code that anyone can use.

Change-Id: I2cad699fde00ef8d2aabf8bf35742ddd88d090ba
Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
---
 bl31/aarch64/crash_reporting.S | 12 ++----------
 common/aarch64/debug.S         | 10 ++++++++++
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/bl31/aarch64/crash_reporting.S b/bl31/aarch64/crash_reporting.S
index 2c4102981..f2c12961d 100644
--- a/bl31/aarch64/crash_reporting.S
+++ b/bl31/aarch64/crash_reporting.S
@@ -61,14 +61,6 @@ excpt_msg:
 intr_excpt_msg:
 	.asciz "Unhandled Interrupt Exception in EL3.\nx30"
 
-	/*
-	 * Helper function to print newline to console.
-	 */
-func print_newline
-	mov	x0, '\n'
-	b	plat_crash_console_putc
-endfunc print_newline
-
 	/*
 	 * Helper function to print from crash buf.
 	 * The print loop is controlled by the buf size and
@@ -101,7 +93,7 @@ test_size_list:
 	bl	print_alignment
 	ldr	x4, [x7], #REGSZ
 	bl	asm_print_hex
-	bl	print_newline
+	bl	asm_print_newline
 	b	test_size_list
 exit_size_print:
 	mov	x30, sp
@@ -253,7 +245,7 @@ func do_crash_reporting
 	/* report x30 first from the crash buf */
 	ldr	x4, [x0, #REGSZ * 7]
 	bl	asm_print_hex
-	bl	print_newline
+	bl	asm_print_newline
 	/* Load the crash buf address */
 	mrs	x0, tpidr_el3
 	/* Now mov x7 into crash buf */
diff --git a/common/aarch64/debug.S b/common/aarch64/debug.S
index ac47cbe9e..e6e329853 100644
--- a/common/aarch64/debug.S
+++ b/common/aarch64/debug.S
@@ -11,6 +11,7 @@
 	.globl	asm_print_str
 	.globl	asm_print_hex
 	.globl	asm_print_hex_bits
+	.globl	asm_print_newline
 	.globl	asm_assert
 	.globl	do_panic
 
@@ -130,6 +131,15 @@ asm_print_hex_bits:
 	ret	x3
 endfunc asm_print_hex
 
+/*
+ * Helper function to print newline to console
+ * Clobber: x0
+ */
+func asm_print_newline
+	mov	x0, '\n'
+	b	plat_crash_console_putc
+endfunc asm_print_newline
+
 	/***********************************************************
 	 * The common implementation of do_panic for all BL stages
 	 ***********************************************************/
-- 
GitLab