/* * 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)