Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de4533a0 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] Move ice-dcc code into misc.c

parent a081568d
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -50,10 +50,6 @@ ifeq ($(CONFIG_ARCH_AT91RM9200),y)
OBJS		+= head-at91rm9200.o
endif

ifeq ($(CONFIG_DEBUG_ICEDCC),y)
OBJS            += ice-dcc.o
endif

ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
OBJS		+= big-endian.o
endif
+0 −17
Original line number Diff line number Diff line


	.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
+14 −1
Original line number Diff line number Diff line
@@ -30,7 +30,20 @@ static void putstr(const char *ptr);
#include <asm/arch/uncompress.h>

#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 flush()	do { } while (0)
#endif