[ARM] Move ice-dcc code into misc.c
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
a081568d70
commit
de4533a04e
@@ -50,10 +50,6 @@ ifeq ($(CONFIG_ARCH_AT91RM9200),y)
|
|||||||
OBJS += head-at91rm9200.o
|
OBJS += head-at91rm9200.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_ICEDCC),y)
|
|
||||||
OBJS += ice-dcc.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
|
ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
|
||||||
OBJS += big-endian.o
|
OBJS += big-endian.o
|
||||||
endif
|
endif
|
||||||
|
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
.global icedcc_putc
|
|
||||||
|
|
||||||
icedcc_putc:
|
|
||||||
mov r2, #0x4000000
|
|
||||||
1:
|
|
||||||
subs r2, r2, #1
|
|
||||||
movlt pc, r14
|
|
||||||
mrc p14, 0, r1, c0, c0, 0
|
|
||||||
tst r1, #2
|
|
||||||
bne 1b
|
|
||||||
|
|
||||||
mcr p14, 0, r0, c1, c0, 0
|
|
||||||
mov pc, r14
|
|
@@ -30,7 +30,20 @@ static void putstr(const char *ptr);
|
|||||||
#include <asm/arch/uncompress.h>
|
#include <asm/arch/uncompress.h>
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_ICEDCC
|
#ifdef CONFIG_DEBUG_ICEDCC
|
||||||
extern void icedcc_putc(int ch);
|
static void icedcc_putc(int ch)
|
||||||
|
{
|
||||||
|
int status, i = 0x4000000;
|
||||||
|
|
||||||
|
do {
|
||||||
|
if (--i < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status));
|
||||||
|
} while (status & 2);
|
||||||
|
|
||||||
|
asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch));
|
||||||
|
}
|
||||||
|
|
||||||
#define putc(ch) icedcc_putc(ch)
|
#define putc(ch) icedcc_putc(ch)
|
||||||
#define flush() do { } while (0)
|
#define flush() do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user