1/*
2 * xen/arch/arm/arm64/debug.S
3 *
4 * Wrapper for early printk
5 *
6 * Julien Grall <julien.grall@linaro.org>
7 * Copyright (c) 2013 Linaro Limited.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 */
19
20#include <asm/early_printk.h>
21
22#ifdef CONFIG_EARLY_PRINTK_INC
23#include CONFIG_EARLY_PRINTK_INC
24#endif
25
26/*
27 * Print a character on the UART - this function is called by C
28 * x0: character to print
29 */
30GLOBAL(early_putch)
31        ldr   x15, =EARLY_UART_VIRTUAL_ADDRESS
32        early_uart_ready x15, 1
33        early_uart_transmit x15, w0
34        ret
35
36/* Flush the UART - this function is called by C */
37GLOBAL(early_flush)
38        ldr   x15, =EARLY_UART_VIRTUAL_ADDRESS  /* x15 := VA UART base address */
39        early_uart_ready x15, 1
40        ret
41
42/*
43 * Local variables:
44 * mode: ASM
45 * indent-tabs-mode: nil
46 * End:
47 */
48