Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / asm-arm / arch-ebsa110 / uncompress.h
1 /*
2  *  linux/include/asm-arm/arch-ebsa110/uncompress.h
3  *
4  *  Copyright (C) 1996,1997,1998 Russell King
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 /*
12  * This does not append a newline
13  */
14 static void putstr(const char *s)
15 {
16         unsigned long tmp1, tmp2;
17         __asm__ __volatile__(
18         "ldrb   %0, [%2], #1\n"
19 "       teq     %0, #0\n"
20 "       beq     3f\n"
21 "1:     strb    %0, [%3]\n"
22 "2:     ldrb    %1, [%3, #0x14]\n"
23 "       and     %1, %1, #0x60\n"
24 "       teq     %1, #0x60\n"
25 "       bne     2b\n"
26 "       teq     %0, #'\n'\n"
27 "       moveq   %0, #'\r'\n"
28 "       beq     1b\n"
29 "       ldrb    %0, [%2], #1\n"
30 "       teq     %0, #0\n"
31 "       bne     1b\n"
32 "3:     ldrb    %1, [%3, #0x14]\n"
33 "       and     %1, %1, #0x60\n"
34 "       teq     %1, #0x60\n"
35 "       bne     3b"
36         : "=&r" (tmp1), "=&r" (tmp2)
37         : "r" (s), "r" (0xf0000be0) : "cc");
38 }
39
40 /*
41  * nothing to do
42  */
43 #define arch_decomp_setup()
44 #define arch_decomp_wdog()