diff options
Diffstat (limited to 'include/asm-arm/arch-ebsa110/uncompress.h')
-rw-r--r-- | include/asm-arm/arch-ebsa110/uncompress.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/asm-arm/arch-ebsa110/uncompress.h b/include/asm-arm/arch-ebsa110/uncompress.h new file mode 100644 index 00000000000..eee95581a92 --- /dev/null +++ b/include/asm-arm/arch-ebsa110/uncompress.h @@ -0,0 +1,44 @@ +/* + * linux/include/asm-arm/arch-ebsa110/uncompress.h + * + * Copyright (C) 1996,1997,1998 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/* + * This does not append a newline + */ +static void putstr(const char *s) +{ + unsigned long tmp1, tmp2; + __asm__ __volatile__( + "ldrb %0, [%2], #1\n" +" teq %0, #0\n" +" beq 3f\n" +"1: strb %0, [%3]\n" +"2: ldrb %1, [%3, #0x14]\n" +" and %1, %1, #0x60\n" +" teq %1, #0x60\n" +" bne 2b\n" +" teq %0, #'\n'\n" +" moveq %0, #'\r'\n" +" beq 1b\n" +" ldrb %0, [%2], #1\n" +" teq %0, #0\n" +" bne 1b\n" +"3: ldrb %1, [%3, #0x14]\n" +" and %1, %1, #0x60\n" +" teq %1, #0x60\n" +" bne 3b" + : "=&r" (tmp1), "=&r" (tmp2) + : "r" (s), "r" (0xf0000be0) : "cc"); +} + +/* + * nothing to do + */ +#define arch_decomp_setup() +#define arch_decomp_wdog() |