aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-05-13 17:23:00 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-05-14 10:04:14 +0100
commit2629838162255cc1207a80f8976fbd4e51763a76 (patch)
tree67d6cdf49a6529f2000e7431f419f233e8b044c7
parentaa83790810f6ca75b0a26db3aac3d1b904e909bd (diff)
downloadxen-2629838162255cc1207a80f8976fbd4e51763a76.tar.gz
xen-2629838162255cc1207a80f8976fbd4e51763a76.tar.bz2
xen-2629838162255cc1207a80f8976fbd4e51763a76.zip
xen/arm64: do not clobber callee saved register in early_putch
x23 is callee saved in the ARM 64 bit calling convention. Use x15 instead which is a temporary register which need not be preserved. Fixes a random crash during boot. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-rw-r--r--xen/arch/arm/arm64/debug.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/xen/arch/arm/arm64/debug.S b/xen/arch/arm/arm64/debug.S
index f0c77615bd..38b7c74ff7 100644
--- a/xen/arch/arm/arm64/debug.S
+++ b/xen/arch/arm/arm64/debug.S
@@ -27,9 +27,9 @@
/* Print a character on the UART - this function is called by C
* x0: character to print */
early_putch:
- ldr x23, =FIXMAP_ADDR(FIXMAP_CONSOLE)
- early_uart_ready x23, 1
- early_uart_transmit x23, w0
+ ldr x15, =FIXMAP_ADDR(FIXMAP_CONSOLE)
+ early_uart_ready x15, 1
+ early_uart_transmit x15, w0
ret
/*