Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sparc/lib/NG4clear_page.S
26424 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/* NG4copy_page.S: Niagara-4 optimized clear page.
3
*
4
* Copyright (C) 2012 ([email protected])
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
31
32