Linux 4.1.18
[linux/fpc-iii.git] / arch / mips / mm / page-funcs.S
blob48a6b38ff13e0a6e5cd7523d431f31b07c9e55d7
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 <ralf@linux-mips.org>
10  */
11 #include <asm/asm.h>
12 #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
23  * Maximum sizes:
24  *
25  * R4000 128 bytes S-cache:             0x058 bytes
26  * R4600 v1.7:                          0x05c bytes
27  * R4600 v2.0:                          0x060 bytes
28  * With prefetching, 16 word strides    0x120 bytes
29  */
30 EXPORT(__clear_page_start)
31 LEAF(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)
38  * Maximum sizes:
39  *
40  * R4000 128 bytes S-cache:             0x11c bytes
41  * R4600 v1.7:                          0x080 bytes
42  * R4600 v2.0:                          0x07c bytes
43  * With prefetching, 16 word strides    0x540 bytes
44  */
45 EXPORT(__copy_page_start)
46 LEAF(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)