| /* |
| * This file is subject to the terms and conditions of the GNU General Public |
| * License. See the file "COPYING" in the main directory of this archive |
| * for more details. |
| * |
| * Micro-assembler generated clear_page/copy_page functions. |
| * |
| * Copyright (C) 2012 MIPS Technologies, Inc. |
| * Copyright (C) 2012 Ralf Baechle <ralf@linux-mips.org> |
| */ |
| #include <linux/export.h> |
| #include <asm/asm.h> |
| #include <asm/regdef.h> |
| |
| #ifdef CONFIG_SIBYTE_DMA_PAGEOPS |
| #define cpu_clear_page_function_name clear_page_cpu |
| #define cpu_copy_page_function_name copy_page_cpu |
| #else |
| #define cpu_clear_page_function_name clear_page |
| #define cpu_copy_page_function_name copy_page |
| #endif |
| |
| /* |
| * Maximum sizes: |
| * |
| * R4000 128 bytes S-cache: 0x058 bytes |
| * R4600 v1.7: 0x05c bytes |
| * R4600 v2.0: 0x060 bytes |
| * With prefetching, 16 word strides 0x120 bytes |
| */ |
| EXPORT(__clear_page_start) |
| LEAF(cpu_clear_page_function_name) |
| EXPORT_SYMBOL(cpu_clear_page_function_name) |
| 1: j 1b /* Dummy, will be replaced. */ |
| .space 288 |
| END(cpu_clear_page_function_name) |
| EXPORT(__clear_page_end) |
| |
| /* |
| * Maximum sizes: |
| * |
| * R4000 128 bytes S-cache: 0x11c bytes |
| * R4600 v1.7: 0x080 bytes |
| * R4600 v2.0: 0x07c bytes |
| * With prefetching, 16 word strides 0x540 bytes |
| */ |
| EXPORT(__copy_page_start) |
| LEAF(cpu_copy_page_function_name) |
| EXPORT_SYMBOL(cpu_copy_page_function_name) |
| 1: j 1b /* Dummy, will be replaced. */ |
| .space 1344 |
| END(cpu_copy_page_function_name) |
| EXPORT(__copy_page_end) |