18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 38c2ecf20Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 48c2ecf20Sopenharmony_ci * for more details. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Micro-assembler generated clear_page/copy_page functions. 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Copyright (C) 2012 MIPS Technologies, Inc. 98c2ecf20Sopenharmony_ci * Copyright (C) 2012 Ralf Baechle <ralf@linux-mips.org> 108c2ecf20Sopenharmony_ci */ 118c2ecf20Sopenharmony_ci#include <asm/asm.h> 128c2ecf20Sopenharmony_ci#include <asm/export.h> 138c2ecf20Sopenharmony_ci#include <asm/regdef.h> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#ifdef CONFIG_SIBYTE_DMA_PAGEOPS 168c2ecf20Sopenharmony_ci#define cpu_clear_page_function_name clear_page_cpu 178c2ecf20Sopenharmony_ci#define cpu_copy_page_function_name copy_page_cpu 188c2ecf20Sopenharmony_ci#else 198c2ecf20Sopenharmony_ci#define cpu_clear_page_function_name clear_page 208c2ecf20Sopenharmony_ci#define cpu_copy_page_function_name copy_page 218c2ecf20Sopenharmony_ci#endif 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci/* 248c2ecf20Sopenharmony_ci * Maximum sizes: 258c2ecf20Sopenharmony_ci * 268c2ecf20Sopenharmony_ci * R4000 128 bytes S-cache: 0x058 bytes 278c2ecf20Sopenharmony_ci * R4600 v1.7: 0x05c bytes 288c2ecf20Sopenharmony_ci * R4600 v2.0: 0x060 bytes 298c2ecf20Sopenharmony_ci * With prefetching, 16 word strides 0x120 bytes 308c2ecf20Sopenharmony_ci */ 318c2ecf20Sopenharmony_ciEXPORT(__clear_page_start) 328c2ecf20Sopenharmony_ciLEAF(cpu_clear_page_function_name) 338c2ecf20Sopenharmony_ciEXPORT_SYMBOL(cpu_clear_page_function_name) 348c2ecf20Sopenharmony_ci1: j 1b /* Dummy, will be replaced. */ 358c2ecf20Sopenharmony_ci .space 288 368c2ecf20Sopenharmony_ciEND(cpu_clear_page_function_name) 378c2ecf20Sopenharmony_ciEXPORT(__clear_page_end) 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci/* 408c2ecf20Sopenharmony_ci * Maximum sizes: 418c2ecf20Sopenharmony_ci * 428c2ecf20Sopenharmony_ci * R4000 128 bytes S-cache: 0x11c bytes 438c2ecf20Sopenharmony_ci * R4600 v1.7: 0x080 bytes 448c2ecf20Sopenharmony_ci * R4600 v2.0: 0x07c bytes 458c2ecf20Sopenharmony_ci * With prefetching, 16 word strides 0x540 bytes 468c2ecf20Sopenharmony_ci */ 478c2ecf20Sopenharmony_ciEXPORT(__copy_page_start) 488c2ecf20Sopenharmony_ciLEAF(cpu_copy_page_function_name) 498c2ecf20Sopenharmony_ciEXPORT_SYMBOL(cpu_copy_page_function_name) 508c2ecf20Sopenharmony_ci1: j 1b /* Dummy, will be replaced. */ 518c2ecf20Sopenharmony_ci .space 1344 528c2ecf20Sopenharmony_ciEND(cpu_copy_page_function_name) 538c2ecf20Sopenharmony_ciEXPORT(__copy_page_end) 54