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