diff options
Diffstat (limited to 'arch/arm/boot/compressed/misc.c')
-rw-r--r-- | arch/arm/boot/compressed/misc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index 3fc08413fff..393c8164131 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -46,6 +46,21 @@ static void icedcc_putc(int ch) | |||
46 | 46 | ||
47 | asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch)); | 47 | asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch)); |
48 | } | 48 | } |
49 | #elif defined(CONFIG_CPU_XSCALE) | ||
50 | |||
51 | static void icedcc_putc(int ch) | ||
52 | { | ||
53 | int status, i = 0x4000000; | ||
54 | |||
55 | do { | ||
56 | if (--i < 0) | ||
57 | return; | ||
58 | |||
59 | asm volatile ("mrc p14, 0, %0, c14, c0, 0" : "=r" (status)); | ||
60 | } while (status & (1 << 28)); | ||
61 | |||
62 | asm("mcr p14, 0, %0, c8, c0, 0" : : "r" (ch)); | ||
63 | } | ||
49 | 64 | ||
50 | #else | 65 | #else |
51 | 66 | ||