Linux v2.6.15-rc6
[pohmelfs.git] / include / asm-arm / arch-ebsa110 / uncompress.h
blobeee95581a9231124f995a7c7294ca44f3e45979c
1 /*
2 * linux/include/asm-arm/arch-ebsa110/uncompress.h
4 * Copyright (C) 1996,1997,1998 Russell King
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 */
12 * This does not append a newline
14 static void putstr(const char *s)
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");
41 * nothing to do
43 #define arch_decomp_setup()
44 #define arch_decomp_wdog()