1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* NG4copy_page.S: Niagara-4 optimized clear p 2 /* NG4copy_page.S: Niagara-4 optimized clear page. 3 * 3 * 4 * Copyright (C) 2012 (davem@davemloft.net) 4 * Copyright (C) 2012 (davem@davemloft.net) 5 */ 5 */ 6 6 7 #include <asm/asi.h> 7 #include <asm/asi.h> 8 #include <asm/page.h> 8 #include <asm/page.h> 9 9 10 .text 10 .text 11 11 12 .register %g3, #scratch 12 .register %g3, #scratch 13 13 14 .align 32 14 .align 32 15 .globl NG4clear_page 15 .globl NG4clear_page 16 .globl NG4clear_user_page 16 .globl NG4clear_user_page 17 NG4clear_page: /* %o0=dest */ 17 NG4clear_page: /* %o0=dest */ 18 NG4clear_user_page: /* %o0=dest, %o1=vaddr 18 NG4clear_user_page: /* %o0=dest, %o1=vaddr */ 19 set PAGE_SIZE, %g7 19 set PAGE_SIZE, %g7 20 mov 0x20, %g3 20 mov 0x20, %g3 21 1: stxa %g0, [%o0 + %g0] ASI_S 21 1: stxa %g0, [%o0 + %g0] ASI_ST_BLKINIT_MRU_P 22 subcc %g7, 0x40, %g7 22 subcc %g7, 0x40, %g7 23 stxa %g0, [%o0 + %g3] ASI_S 23 stxa %g0, [%o0 + %g3] ASI_ST_BLKINIT_MRU_P 24 bne,pt %xcc, 1b 24 bne,pt %xcc, 1b 25 add %o0, 0x40, %o0 25 add %o0, 0x40, %o0 26 membar #StoreLoad|#StoreStore 26 membar #StoreLoad|#StoreStore 27 retl 27 retl 28 nop 28 nop 29 .size NG4clear_page,.-NG4cle 29 .size NG4clear_page,.-NG4clear_page 30 .size NG4clear_user_page,.-N 30 .size NG4clear_user_page,.-NG4clear_user_page
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.