1234567891011121314151617181920212223242526272829 |
- /* 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
|