page-funcs.S 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Micro-assembler generated clear_page/copy_page functions.
  7. *
  8. * Copyright (C) 2012 MIPS Technologies, Inc.
  9. * Copyright (C) 2012 Ralf Baechle <[email protected]>
  10. */
  11. #include <asm/asm.h>
  12. #include <asm/export.h>
  13. #include <asm/regdef.h>
  14. #ifdef CONFIG_SIBYTE_DMA_PAGEOPS
  15. #define cpu_clear_page_function_name clear_page_cpu
  16. #define cpu_copy_page_function_name copy_page_cpu
  17. #else
  18. #define cpu_clear_page_function_name clear_page
  19. #define cpu_copy_page_function_name copy_page
  20. #endif
  21. /*
  22. * Maximum sizes:
  23. *
  24. * R4000 128 bytes S-cache: 0x058 bytes
  25. * R4600 v1.7: 0x05c bytes
  26. * R4600 v2.0: 0x060 bytes
  27. * With prefetching, 16 word strides 0x120 bytes
  28. */
  29. EXPORT(__clear_page_start)
  30. LEAF(cpu_clear_page_function_name)
  31. EXPORT_SYMBOL(cpu_clear_page_function_name)
  32. 1: j 1b /* Dummy, will be replaced. */
  33. .space 288
  34. END(cpu_clear_page_function_name)
  35. EXPORT(__clear_page_end)
  36. /*
  37. * Maximum sizes:
  38. *
  39. * R4000 128 bytes S-cache: 0x11c bytes
  40. * R4600 v1.7: 0x080 bytes
  41. * R4600 v2.0: 0x07c bytes
  42. * With prefetching, 16 word strides 0x540 bytes
  43. */
  44. EXPORT(__copy_page_start)
  45. LEAF(cpu_copy_page_function_name)
  46. EXPORT_SYMBOL(cpu_copy_page_function_name)
  47. 1: j 1b /* Dummy, will be replaced. */
  48. .space 1344
  49. END(cpu_copy_page_function_name)
  50. EXPORT(__copy_page_end)