uncompress.h 913 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. * This does not append a newline
  12. */
  13. static void putstr(const char *s)
  14. {
  15. unsigned long tmp1, tmp2;
  16. __asm__ __volatile__(
  17. "ldrb %0, [%2], #1\n"
  18. " teq %0, #0\n"
  19. " beq 3f\n"
  20. "1: strb %0, [%3]\n"
  21. "2: ldrb %1, [%3, #0x14]\n"
  22. " and %1, %1, #0x60\n"
  23. " teq %1, #0x60\n"
  24. " bne 2b\n"
  25. " teq %0, #'\n'\n"
  26. " moveq %0, #'\r'\n"
  27. " beq 1b\n"
  28. " ldrb %0, [%2], #1\n"
  29. " teq %0, #0\n"
  30. " bne 1b\n"
  31. "3: ldrb %1, [%3, #0x14]\n"
  32. " and %1, %1, #0x60\n"
  33. " teq %1, #0x60\n"
  34. " bne 3b"
  35. : "=&r" (tmp1), "=&r" (tmp2)
  36. : "r" (s), "r" (0xf0000be0) : "cc");
  37. }
  38. /*
  39. * nothing to do
  40. */
  41. #define arch_decomp_setup()
  42. #define arch_decomp_wdog()