1 /* NG4copy_page.S: Niagara-4 optimized copy page.
3 * Copyright (C) 2012 (davem@davemloft.net)
12 .register %g2, #scratch
13 .register %g3, #scratch
15 .globl NG4copy_user_page
16 NG4copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
17 prefetch [%o1 + 0x000], #n_reads_strong
18 prefetch [%o1 + 0x040], #n_reads_strong
19 prefetch [%o1 + 0x080], #n_reads_strong
20 prefetch [%o1 + 0x0c0], #n_reads_strong
22 prefetch [%o1 + 0x100], #n_reads_strong
23 prefetch [%o1 + 0x140], #n_reads_strong
24 prefetch [%o1 + 0x180], #n_reads_strong
25 prefetch [%o1 + 0x1c0], #n_reads_strong
33 stxa %o2, [%o0] ASI_ST_BLKINIT_MRU_P
36 stxa %o3, [%o0] ASI_ST_BLKINIT_MRU_P
39 stxa %o4, [%o0] ASI_ST_BLKINIT_MRU_P
43 stxa %o5, [%o0] ASI_ST_BLKINIT_MRU_P
45 stxa %g1, [%o0] ASI_ST_BLKINIT_MRU_P
47 stxa %g2, [%o0] ASI_ST_BLKINIT_MRU_P
49 stxa %g3, [%o0] ASI_ST_BLKINIT_MRU_P
51 stxa %o2, [%o0] ASI_ST_BLKINIT_MRU_P
54 prefetch [%o1 + 0x200], #n_reads_strong
56 membar #StoreLoad | #StoreStore
57 .size NG4copy_user_page,.-NG4copy_user_page