diff options
Diffstat (limited to 'arch/arm/boot/compressed/misc.c')
-rw-r--r-- | arch/arm/boot/compressed/misc.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index 28626ec2d289..0af3772efcb7 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -30,7 +30,20 @@ static void putstr(const char *ptr); | |||
30 | #include <asm/arch/uncompress.h> | 30 | #include <asm/arch/uncompress.h> |
31 | 31 | ||
32 | #ifdef CONFIG_DEBUG_ICEDCC | 32 | #ifdef CONFIG_DEBUG_ICEDCC |
33 | extern void icedcc_putc(int ch); | 33 | static void icedcc_putc(int ch) |
34 | { | ||
35 | int status, i = 0x4000000; | ||
36 | |||
37 | do { | ||
38 | if (--i < 0) | ||
39 | return; | ||
40 | |||
41 | asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status)); | ||
42 | } while (status & 2); | ||
43 | |||
44 | asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch)); | ||
45 | } | ||
46 | |||
34 | #define putc(ch) icedcc_putc(ch) | 47 | #define putc(ch) icedcc_putc(ch) |
35 | #define flush() do { } while (0) | 48 | #define flush() do { } while (0) |
36 | #endif | 49 | #endif |