Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sparc/lib/M7copy_from_user.S
26444 views
1
/*
2
* M7copy_from_user.S: SPARC M7 optimized copy from userspace.
3
*
4
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
5
*/
6
7
8
#define EX_LD(x, y) \
9
98: x; \
10
.section __ex_table,"a"; \
11
.align 4; \
12
.word 98b, y; \
13
.text; \
14
.align 4;
15
16
#define EX_LD_FP(x, y) \
17
98: x; \
18
.section __ex_table,"a"; \
19
.align 4; \
20
.word 98b, y##_fp; \
21
.text; \
22
.align 4;
23
24
#ifndef ASI_AIUS
25
#define ASI_AIUS 0x11
26
#endif
27
28
#define FUNC_NAME M7copy_from_user
29
#define LOAD(type,addr,dest) type##a [addr] %asi, dest
30
#define EX_RETVAL(x) 0
31
32
#ifdef __KERNEL__
33
#define PREAMBLE \
34
rd %asi, %g1; \
35
cmp %g1, ASI_AIUS; \
36
bne,pn %icc, raw_copy_in_user; \
37
nop
38
#endif
39
40
#include "M7memcpy.S"
41
42