hc
2024-08-16 a24a44ff9ca902811b99aa9663d697cf452e08ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* SPDX-License-Identifier: GPL-2.0 */
/* NG4copy_page.S: Niagara-4 optimized clear page.
 *
 * Copyright (C) 2012 (davem@davemloft.net)
 */
 
#include <asm/asi.h>
#include <asm/page.h>
 
   .text
 
   .register    %g3, #scratch
 
   .align        32
   .globl        NG4clear_page
   .globl        NG4clear_user_page
NG4clear_page:        /* %o0=dest */
NG4clear_user_page:    /* %o0=dest, %o1=vaddr */
   set        PAGE_SIZE, %g7
   mov        0x20, %g3
1:    stxa        %g0, [%o0 + %g0] ASI_ST_BLKINIT_MRU_P
   subcc        %g7, 0x40, %g7
   stxa        %g0, [%o0 + %g3] ASI_ST_BLKINIT_MRU_P
   bne,pt        %xcc, 1b
    add        %o0, 0x40, %o0
   membar        #StoreLoad|#StoreStore
   retl
    nop
   .size        NG4clear_page,.-NG4clear_page
   .size        NG4clear_user_page,.-NG4clear_user_page