~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/loongarch/mm/page.S

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*
  3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
  4  */
  5 #include <linux/export.h>
  6 #include <linux/linkage.h>
  7 #include <asm/asm.h>
  8 #include <asm/page.h>
  9 #include <asm/regdef.h>
 10 
 11         .align 5
 12 SYM_FUNC_START(clear_page)
 13         lu12i.w t0, 1 << (PAGE_SHIFT - 12)
 14         add.d   t0, t0, a0
 15 1:
 16         st.d    zero, a0, 0
 17         st.d    zero, a0, 8
 18         st.d    zero, a0, 16
 19         st.d    zero, a0, 24
 20         st.d    zero, a0, 32
 21         st.d    zero, a0, 40
 22         st.d    zero, a0, 48
 23         st.d    zero, a0, 56
 24         addi.d  a0,   a0, 128
 25         st.d    zero, a0, -64
 26         st.d    zero, a0, -56
 27         st.d    zero, a0, -48
 28         st.d    zero, a0, -40
 29         st.d    zero, a0, -32
 30         st.d    zero, a0, -24
 31         st.d    zero, a0, -16
 32         st.d    zero, a0, -8
 33         bne     t0,   a0, 1b
 34 
 35         jr      ra
 36 SYM_FUNC_END(clear_page)
 37 EXPORT_SYMBOL(clear_page)
 38 
 39 .align 5
 40 SYM_FUNC_START(copy_page)
 41         lu12i.w t8, 1 << (PAGE_SHIFT - 12)
 42         add.d   t8, t8, a0
 43 1:
 44         ld.d    t0, a1, 0
 45         ld.d    t1, a1, 8
 46         ld.d    t2, a1, 16
 47         ld.d    t3, a1, 24
 48         ld.d    t4, a1, 32
 49         ld.d    t5, a1, 40
 50         ld.d    t6, a1, 48
 51         ld.d    t7, a1, 56
 52 
 53         st.d    t0, a0, 0
 54         st.d    t1, a0, 8
 55         ld.d    t0, a1, 64
 56         ld.d    t1, a1, 72
 57         st.d    t2, a0, 16
 58         st.d    t3, a0, 24
 59         ld.d    t2, a1, 80
 60         ld.d    t3, a1, 88
 61         st.d    t4, a0, 32
 62         st.d    t5, a0, 40
 63         ld.d    t4, a1, 96
 64         ld.d    t5, a1, 104
 65         st.d    t6, a0, 48
 66         st.d    t7, a0, 56
 67         ld.d    t6, a1, 112
 68         ld.d    t7, a1, 120
 69         addi.d  a0, a0, 128
 70         addi.d  a1, a1, 128
 71 
 72         st.d    t0, a0, -64
 73         st.d    t1, a0, -56
 74         st.d    t2, a0, -48
 75         st.d    t3, a0, -40
 76         st.d    t4, a0, -32
 77         st.d    t5, a0, -24
 78         st.d    t6, a0, -16
 79         st.d    t7, a0, -8
 80 
 81         bne     t8, a0, 1b
 82         jr      ra
 83 SYM_FUNC_END(copy_page)
 84 EXPORT_SYMBOL(copy_page)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php