root/arch/sparc/lib/NG4clear_page.S

/* [<][>][^][v][top][bottom][index][help] */
   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  */
   6 
   7 #include <asm/asi.h>
   8 #include <asm/page.h>
   9 
  10         .text
  11 
  12         .register       %g3, #scratch
  13 
  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

/* [<][>][^][v][top][bottom][index][help] */