aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/compressed/misc.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-01-21 10:15:10 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-21 10:15:10 -0500
commitdef20529227a5c0938c374d11781bd0dbd5edee4 (patch)
tree76ba59d7dfdb858892996a59e95a892b43e0e6d2 /arch/arm/boot/compressed/misc.c
parent24bc7347da73a9ed3383056c3d0f28c0e361621e (diff)
parent2045124ffd1a5e46d157349016a2c50f19c8c91d (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work ARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot() ARM: 5884/1: arm: Fix DCC console for v7 ARM: 5883/1: Revert "disable NX support for OABI-supporting kernels" ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void) ARM: fix badly placed mach/plat entries in Kconfig & Makefile
Diffstat (limited to 'arch/arm/boot/compressed/misc.c')
-rw-r--r--arch/arm/boot/compressed/misc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 7e0fe4d42c7b..56a0d116d271 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -53,6 +53,18 @@ static void icedcc_putc(int ch)
53 53
54 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch)); 54 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));
55} 55}
56
57#elif defined(CONFIG_CPU_V7)
58
59static void icedcc_putc(int ch)
60{
61 asm(
62 "wait: mrc p14, 0, pc, c0, c1, 0 \n\
63 bcs wait \n\
64 mcr p14, 0, %0, c0, c5, 0 "
65 : : "r" (ch));
66}
67
56#elif defined(CONFIG_CPU_XSCALE) 68#elif defined(CONFIG_CPU_XSCALE)
57 69
58static void icedcc_putc(int ch) 70static void icedcc_putc(int ch)
@@ -88,7 +100,6 @@ static void icedcc_putc(int ch)
88#endif 100#endif
89 101
90#define putc(ch) icedcc_putc(ch) 102#define putc(ch) icedcc_putc(ch)
91#define flush() do { } while (0)
92#endif 103#endif
93 104
94static void putstr(const char *ptr) 105static void putstr(const char *ptr)