root/arch/alpha/lib/ev6-clear_page.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * arch/alpha/lib/ev6-clear_page.S
   4  *
   5  * Zero an entire page.
   6  */
   7 #include <asm/export.h>
   8         .text
   9         .align 4
  10         .global clear_page
  11         .ent clear_page
  12 clear_page:
  13         .prologue 0
  14 
  15         lda     $0,128
  16         lda     $1,125
  17         addq    $16,64,$2
  18         addq    $16,128,$3
  19 
  20         addq    $16,192,$17
  21         wh64    ($16)
  22         wh64    ($2)
  23         wh64    ($3)
  24 
  25 1:      wh64    ($17)
  26         stq     $31,0($16)
  27         subq    $0,1,$0
  28         subq    $1,1,$1
  29 
  30         stq     $31,8($16)
  31         stq     $31,16($16)
  32         addq    $17,64,$2
  33         nop
  34 
  35         stq     $31,24($16)
  36         stq     $31,32($16)
  37         cmovgt  $1,$2,$17
  38         nop
  39 
  40         stq     $31,40($16)
  41         stq     $31,48($16)
  42         nop
  43         nop
  44 
  45         stq     $31,56($16)
  46         addq    $16,64,$16
  47         nop
  48         bne     $0,1b
  49 
  50         ret
  51         nop
  52         nop
  53         nop
  54 
  55         .end clear_page
  56         EXPORT_SYMBOL(clear_page)

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