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

TOMOYO Linux Cross Reference
Linux/arch/sparc/lib/NG4copy_page.S

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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 /* NG4copy_page.S: Niagara-4 optimized copy page.
  3  *
  4  * Copyright (C) 2012 (davem@davemloft.net)
  5  */
  6 
  7 #include <asm/asi.h>
  8 #include <asm/page.h>
  9 
 10         .text
 11         .align          32
 12 
 13         .register       %g2, #scratch
 14         .register       %g3, #scratch
 15 
 16         .globl          NG4copy_user_page
 17 NG4copy_user_page:      /* %o0=dest, %o1=src, %o2=vaddr */
 18         prefetch        [%o1 + 0x000], #n_reads_strong
 19         prefetch        [%o1 + 0x040], #n_reads_strong
 20         prefetch        [%o1 + 0x080], #n_reads_strong
 21         prefetch        [%o1 + 0x0c0], #n_reads_strong
 22         set             PAGE_SIZE, %g7
 23         prefetch        [%o1 + 0x100], #n_reads_strong
 24         prefetch        [%o1 + 0x140], #n_reads_strong
 25         prefetch        [%o1 + 0x180], #n_reads_strong
 26         prefetch        [%o1 + 0x1c0], #n_reads_strong
 27 1:
 28         ldx             [%o1 + 0x00], %o2
 29         subcc           %g7, 0x40, %g7
 30         ldx             [%o1 + 0x08], %o3
 31         ldx             [%o1 + 0x10], %o4
 32         ldx             [%o1 + 0x18], %o5
 33         ldx             [%o1 + 0x20], %g1
 34         stxa            %o2, [%o0] ASI_ST_BLKINIT_MRU_P
 35         add             %o0, 0x08, %o0
 36         ldx             [%o1 + 0x28], %g2
 37         stxa            %o3, [%o0] ASI_ST_BLKINIT_MRU_P
 38         add             %o0, 0x08, %o0
 39         ldx             [%o1 + 0x30], %g3
 40         stxa            %o4, [%o0] ASI_ST_BLKINIT_MRU_P
 41         add             %o0, 0x08, %o0
 42         ldx             [%o1 + 0x38], %o2
 43         add             %o1, 0x40, %o1
 44         stxa            %o5, [%o0] ASI_ST_BLKINIT_MRU_P
 45         add             %o0, 0x08, %o0
 46         stxa            %g1, [%o0] ASI_ST_BLKINIT_MRU_P
 47         add             %o0, 0x08, %o0
 48         stxa            %g2, [%o0] ASI_ST_BLKINIT_MRU_P
 49         add             %o0, 0x08, %o0
 50         stxa            %g3, [%o0] ASI_ST_BLKINIT_MRU_P
 51         add             %o0, 0x08, %o0
 52         stxa            %o2, [%o0] ASI_ST_BLKINIT_MRU_P
 53         add             %o0, 0x08, %o0
 54         bne,pt          %icc, 1b
 55          prefetch       [%o1 + 0x200], #n_reads_strong
 56         retl
 57          membar         #StoreLoad | #StoreStore
 58         .size           NG4copy_user_page,.-NG4copy_user_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