diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-03-28 04:34:05 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-03-28 04:34:05 -0500 |
commit | de4533a04eb4f66dbef71f59a9c118256b886823 (patch) | |
tree | 8b8681da4294bf7be9d1cde44bfbf303843ba359 /arch/arm/boot | |
parent | a081568d7016061ed848696984e3acf1ba0b3054 (diff) |
[ARM] Move ice-dcc code into misc.c
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/compressed/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/boot/compressed/ice-dcc.S | 17 | ||||
-rw-r--r-- | arch/arm/boot/compressed/misc.c | 15 |
3 files changed, 14 insertions, 22 deletions
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 35ffe0f4ece7..2adc1527e0eb 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
@@ -50,10 +50,6 @@ ifeq ($(CONFIG_ARCH_AT91RM9200),y) | |||
50 | OBJS += head-at91rm9200.o | 50 | OBJS += head-at91rm9200.o |
51 | endif | 51 | endif |
52 | 52 | ||
53 | ifeq ($(CONFIG_DEBUG_ICEDCC),y) | ||
54 | OBJS += ice-dcc.o | ||
55 | endif | ||
56 | |||
57 | ifeq ($(CONFIG_CPU_BIG_ENDIAN),y) | 53 | ifeq ($(CONFIG_CPU_BIG_ENDIAN),y) |
58 | OBJS += big-endian.o | 54 | OBJS += big-endian.o |
59 | endif | 55 | endif |
diff --git a/arch/arm/boot/compressed/ice-dcc.S b/arch/arm/boot/compressed/ice-dcc.S deleted file mode 100644 index 104377a199bb..000000000000 --- a/arch/arm/boot/compressed/ice-dcc.S +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | |||
2 | |||
3 | .text | ||
4 | |||
5 | .global icedcc_putc | ||
6 | |||
7 | icedcc_putc: | ||
8 | mov r2, #0x4000000 | ||
9 | 1: | ||
10 | subs r2, r2, #1 | ||
11 | movlt pc, r14 | ||
12 | mrc p14, 0, r1, c0, c0, 0 | ||
13 | tst r1, #2 | ||
14 | bne 1b | ||
15 | |||
16 | mcr p14, 0, r0, c1, c0, 0 | ||
17 | mov pc, r14 | ||
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 |