xref: /openbmc/linux/arch/mips/boot/compressed/dbg.c (revision e15a5365)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * MIPS-specific debug support for pre-boot environment
4  *
5  * NOTE: putc() is board specific, if your board have a 16550 compatible uart,
6  * please select SYS_SUPPORTS_ZBOOT_UART16550 for your machine. othewise, you
7  * need to implement your own putc().
8  */
9 #include <linux/compiler.h>
10 #include <linux/types.h>
11 
12 void __weak putc(char c)
13 {
14 }
15 
16 void puts(const char *s)
17 {
18 	char c;
19 	while ((c = *s++) != '\0') {
20 		putc(c);
21 		if (c == '\n')
22 			putc('\r');
23 	}
24 }
25 
26 void puthex(unsigned long long val)
27 {
28 
29 	unsigned char buf[10];
30 	int i;
31 	for (i = 7; i >= 0; i--) {
32 		buf[i] = "0123456789ABCDEF"[val & 0x0F];
33 		val >>= 4;
34 	}
35 	buf[8] = '\0';
36 	puts(buf);
37 }
38