| /* | |
| * 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 <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) | |
| 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) | |
| 1: j 1b /* Dummy, will be replaced. */ | |
| .space 1344 | |
| END(cpu_copy_page_function_name) | |
| EXPORT(__copy_page_end) |