[ARM] 3488/1: make icedcc_putc do the right thing

Patch from Uwe Zeisberger

 a) use coprocessor 14
 b) make reading the dcc status volatile

Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Uwe Zeisberger 2006-05-02 20:40:56 +01:00 committed by Russell King
parent 76bbb00288
commit b2556da55f

View file

@ -38,10 +38,10 @@ static void icedcc_putc(int ch)
if (--i < 0) if (--i < 0)
return; return;
asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status)); asm volatile ("mrc p14, 0, %0, c0, c0, 0" : "=r" (status));
} while (status & 2); } while (status & 2);
asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch)); asm("mcr p14, 0, %0, c1, c0, 0" : : "r" (ch));
} }
#define putc(ch) icedcc_putc(ch) #define putc(ch) icedcc_putc(ch)