Home
last modified time | relevance | path

Searched +full:3 +full:- +full:n (Results 1 – 25 of 1205) sorted by relevance

12345678910>>...49

/kernel/linux/linux-5.10/arch/arc/include/asm/
Duaccess.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 * -__clear_user( ) called multiple times during elf load was byte loop
10 * -Hand crafted constant propagation for "constant" copy sizes
11 * -stock kernel shrunk by 33K at -O3
14 * -Added option to (UN)inline copy_(to|from)_user to reduce code sz
15 * -kernel shrunk by 200K even at -O3 (gcc 4.2.1)
16 * -Enabled when doing -Os
32 * where TASK_SIZE could either be retrieved from thread_info->addr_limit or
39 * non-ngeative, which implies that buffer start will be within limit too.
[all …]
/kernel/linux/linux-6.6/arch/arc/include/asm/
Duaccess.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 * -__clear_user( ) called multiple times during elf load was byte loop
10 * -Hand crafted constant propagation for "constant" copy sizes
11 * -stock kernel shrunk by 33K at -O3
14 * -Added option to (UN)inline copy_(to|from)_user to reduce code sz
15 * -kernel shrunk by 200K even at -O3 (gcc 4.2.1)
16 * -Enabled when doing -Os
41 * Returns 0 on success, -EFAULT if not.
42 * @ret already contains 0 - given that errors will be less likely
[all …]
/kernel/linux/linux-6.6/arch/csky/lib/
Dusercopy.c1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
8 unsigned long n) in raw_copy_from_user() argument
13 "0: cmpnei %1, 0 \n" in raw_copy_from_user()
14 " bf 7f \n" in raw_copy_from_user()
15 " mov %3, %1 \n" in raw_copy_from_user()
16 " or %3, %2 \n" in raw_copy_from_user()
17 " andi %3, 3 \n" in raw_copy_from_user()
18 " cmpnei %3, 0 \n" in raw_copy_from_user()
19 " bf 1f \n" in raw_copy_from_user()
[all …]
/kernel/linux/linux-5.10/arch/sparc/math-emu/
Dsfp-util_32.h1 /* SPDX-License-Identifier: GPL-2.0 */
8 __asm__ ("addcc %r4,%5,%1\n\t" \
9 "addx %r2,%3,%0\n" \
18 __asm__ ("subcc %r4,%5,%1\n\t" \
19 "subx %r2,%3,%0\n" \
29 __asm__ ("! Inlined umul_ppmm\n\t" \
30 "wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n\t" \
31 "sra %3,31,%%g2 ! Don't move this insn\n\t" \
32 "and %2,%%g2,%%g2 ! Don't move this insn\n\t" \
33 "andcc %%g0,0,%%g1 ! Don't move this insn\n\t" \
[all …]
/kernel/linux/linux-6.6/arch/sparc/math-emu/
Dsfp-util_32.h1 /* SPDX-License-Identifier: GPL-2.0 */
8 __asm__ ("addcc %r4,%5,%1\n\t" \
9 "addx %r2,%3,%0\n" \
18 __asm__ ("subcc %r4,%5,%1\n\t" \
19 "subx %r2,%3,%0\n" \
29 __asm__ ("! Inlined umul_ppmm\n\t" \
30 "wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n\t" \
31 "sra %3,31,%%g2 ! Don't move this insn\n\t" \
32 "and %2,%%g2,%%g2 ! Don't move this insn\n\t" \
33 "andcc %%g0,0,%%g1 ! Don't move this insn\n\t" \
[all …]
/kernel/linux/linux-5.10/arch/x86/lib/
Dmemcpy_32.c1 // SPDX-License-Identifier: GPL-2.0
8 __visible void *memcpy(void *to, const void *from, size_t n) in memcpy() argument
11 return __memcpy3d(to, from, n); in memcpy()
13 return __memcpy(to, from, n); in memcpy()
24 __visible void *memmove(void *dest, const void *src, size_t n) in memmove() argument
31 "cmp $0x10, %0\n\t" in memmove()
32 "jb 1f\n\t" in memmove()
35 "cmp %2, %1\n\t" in memmove()
36 "jb 2f\n\t" in memmove()
42 "cmp $680, %0\n\t" in memmove()
[all …]
Dusercopy_32.c1 // SPDX-License-Identifier: GPL-2.0
4 * The non inlined parts of asm-i386/uaccess.h are here.
21 static inline int __movsl_is_ok(unsigned long a1, unsigned long a2, unsigned long n) in __movsl_is_ok() argument
24 if (n >= 64 && ((a1 ^ a2) & movsl_mask.mask)) in __movsl_is_ok()
29 #define movsl_is_ok(a1, a2, n) \ argument
30 __movsl_is_ok((unsigned long)(a1), (unsigned long)(a2), (n))
41 ASM_STAC "\n" \
42 "0: rep; stosl\n" \
43 " movl %2,%0\n" \
44 "1: rep; stosb\n" \
[all …]
/kernel/linux/linux-5.10/arch/csky/include/asm/
Duaccess.h1 /* SPDX-License-Identifier: GPL-2.0 */
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
20 unsigned long limit = current_thread_info()->addr_limit.seg; in access_ok()
37 * These are the main single-value transfer routines. They automatically
82 long __pu_err = -EFAULT; \
123 "1: stb %1, (%2,0) \n" \
124 " br 3f \n" \
125 "2: mov %0, %3 \n" \
126 " br 3f \n" \
127 ".section __ex_table, \"a\" \n" \
[all …]
/kernel/linux/linux-6.6/arch/csky/include/asm/
Duaccess.h1 /* SPDX-License-Identifier: GPL-2.0 */
15 "1: stb %1, (%2,0) \n" \
16 " br 3f \n" \
17 "2: mov %0, %3 \n" \
18 " br 3f \n" \
19 ".section __ex_table, \"a\" \n" \
20 ".align 2 \n" \
21 ".long 1b,2b \n" \
22 ".previous \n" \
23 "3: \n" \
[all …]
/kernel/linux/linux-5.10/arch/s390/lib/
Duaccess.c1 // SPDX-License-Identifier: GPL-2.0
45 current->thread.mm_segment = fs; in set_fs()
69 old_fs = current->thread.mm_segment; in enable_sacf_uaccess()
74 current->thread.mm_segment |= 1; in enable_sacf_uaccess()
96 current->thread.mm_segment = old_fs; in disable_sacf_uaccess()
110 tmp1 = -4096UL; in copy_from_user_mvcos()
112 "0: .insn ss,0xc80000000000,0(%0,%2),0(%1),0\n" in copy_from_user_mvcos()
113 "6: jz 4f\n" in copy_from_user_mvcos()
114 "1: algr %0,%3\n" in copy_from_user_mvcos()
115 " slgr %1,%3\n" in copy_from_user_mvcos()
[all …]
Dxor.c1 // SPDX-License-Identifier: GPL-2.0
17 " larl 1,2f\n" in xor_xc_2()
18 " aghi %0,-1\n" in xor_xc_2()
19 " jm 3f\n" in xor_xc_2()
20 " srlg 0,%0,8\n" in xor_xc_2()
21 " ltgr 0,0\n" in xor_xc_2()
22 " jz 1f\n" in xor_xc_2()
23 "0: xc 0(256,%1),0(%2)\n" in xor_xc_2()
24 " la %1,256(%1)\n" in xor_xc_2()
25 " la %2,256(%2)\n" in xor_xc_2()
[all …]
/kernel/linux/linux-6.6/arch/x86/lib/
Dusercopy_32.c1 // SPDX-License-Identifier: GPL-2.0
4 * The non inlined parts of asm-i386/uaccess.h are here.
20 static inline int __movsl_is_ok(unsigned long a1, unsigned long a2, unsigned long n) in __movsl_is_ok() argument
23 if (n >= 64 && ((a1 ^ a2) & movsl_mask.mask)) in __movsl_is_ok()
28 #define movsl_is_ok(a1, a2, n) \ argument
29 __movsl_is_ok((unsigned long)(a1), (unsigned long)(a2), (n))
40 ASM_STAC "\n" \
41 "0: rep; stosl\n" \
42 " movl %2,%0\n" \
43 "1: rep; stosb\n" \
[all …]
/kernel/linux/linux-5.10/arch/x86/include/asm/
Dxor_32.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 * Optimized RAID-5 checksumming functions for MMX.
10 * High-speed RAID5 checksumming functions utilizing MMX instructions.
14 #define LD(x, y) " movq 8*("#x")(%1), %%mm"#y" ;\n"
15 #define ST(x, y) " movq %%mm"#y", 8*("#x")(%1) ;\n"
16 #define XO1(x, y) " pxor 8*("#x")(%2), %%mm"#y" ;\n"
17 #define XO2(x, y) " pxor 8*("#x")(%3), %%mm"#y" ;\n"
18 #define XO3(x, y) " pxor 8*("#x")(%4), %%mm"#y" ;\n"
19 #define XO4(x, y) " pxor 8*("#x")(%5), %%mm"#y" ;\n"
36 LD(i + 3, 3) \ in xor_pII_mmx_2()
[all …]
/kernel/linux/linux-6.6/arch/x86/include/asm/
Dxor_32.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 * Optimized RAID-5 checksumming functions for MMX.
10 * High-speed RAID5 checksumming functions utilizing MMX instructions.
14 #define LD(x, y) " movq 8*("#x")(%1), %%mm"#y" ;\n"
15 #define ST(x, y) " movq %%mm"#y", 8*("#x")(%1) ;\n"
16 #define XO1(x, y) " pxor 8*("#x")(%2), %%mm"#y" ;\n"
17 #define XO2(x, y) " pxor 8*("#x")(%3), %%mm"#y" ;\n"
18 #define XO3(x, y) " pxor 8*("#x")(%4), %%mm"#y" ;\n"
19 #define XO4(x, y) " pxor 8*("#x")(%5), %%mm"#y" ;\n"
37 LD(i + 3, 3) \ in xor_pII_mmx_2()
[all …]
/kernel/linux/linux-6.6/arch/s390/lib/
Dxor.c1 // SPDX-License-Identifier: GPL-2.0
18 " larl 1,2f\n" in xor_xc_2()
19 " aghi %0,-1\n" in xor_xc_2()
20 " jm 3f\n" in xor_xc_2()
21 " srlg 0,%0,8\n" in xor_xc_2()
22 " ltgr 0,0\n" in xor_xc_2()
23 " jz 1f\n" in xor_xc_2()
24 "0: xc 0(256,%1),0(%2)\n" in xor_xc_2()
25 " la %1,256(%1)\n" in xor_xc_2()
26 " la %2,256(%2)\n" in xor_xc_2()
[all …]
/kernel/linux/linux-5.10/arch/m68k/lib/
Dchecksum.c1 // SPDX-License-Identifier: GPL-2.0-or-later
12 * Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>
19 * length-counter instead of the length counter
22 * data-registers to hold input values and one tries to
43 * is aligned on either a 2-byte or 4-byte boundary. in csum_partial()
45 __asm__("movel %2,%3\n\t" in csum_partial()
46 "btst #1,%3\n\t" /* Check alignment */ in csum_partial()
47 "jeq 2f\n\t" in csum_partial()
48 "subql #2,%1\n\t" /* buff%4==2: treat first word */ in csum_partial()
49 "jgt 1f\n\t" in csum_partial()
[all …]
/kernel/linux/linux-6.6/arch/m68k/lib/
Dchecksum.c1 // SPDX-License-Identifier: GPL-2.0-or-later
12 * Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>
19 * length-counter instead of the length counter
22 * data-registers to hold input values and one tries to
43 * is aligned on either a 2-byte or 4-byte boundary. in csum_partial()
45 __asm__("movel %2,%3\n\t" in csum_partial()
46 "btst #1,%3\n\t" /* Check alignment */ in csum_partial()
47 "jeq 2f\n\t" in csum_partial()
48 "subql #2,%1\n\t" /* buff%4==2: treat first word */ in csum_partial()
49 "jgt 1f\n\t" in csum_partial()
[all …]
/kernel/linux/linux-6.6/arch/mips/include/asm/
Dunaligned-emul.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
10 __asm__ __volatile__ (".set\tnoat\n" \
11 "1:\t"type##_lb("%0", "0(%2)")"\n" \
12 "2:\t"type##_lbu("$1", "1(%2)")"\n\t"\
13 "sll\t%0, 0x8\n\t" \
14 "or\t%0, $1\n\t" \
15 "li\t%1, 0\n" \
16 "3:\t.set\tat\n\t" \
17 ".insn\n\t" \
18 ".section\t.fixup,\"ax\"\n\t" \
[all …]
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dunaligned-emul.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
10 __asm__ __volatile__ (".set\tnoat\n" \
11 "1:\t"type##_lb("%0", "0(%2)")"\n" \
12 "2:\t"type##_lbu("$1", "1(%2)")"\n\t"\
13 "sll\t%0, 0x8\n\t" \
14 "or\t%0, $1\n\t" \
15 "li\t%1, 0\n" \
16 "3:\t.set\tat\n\t" \
17 ".insn\n\t" \
18 ".section\t.fixup,\"ax\"\n\t" \
[all …]
/kernel/linux/linux-6.6/arch/alpha/include/asm/
Dxor.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * include/asm-alpha/xor.h
5 * Optimized RAID-5 checksumming functions for alpha EV5 and EV6
46 asm(" \n\
47 .text \n\
48 .align 3 \n\
49 .ent xor_alpha_2 \n\
50 xor_alpha_2: \n\
51 .prologue 0 \n\
52 srl $16, 6, $16 \n\
[all …]
/kernel/linux/linux-5.10/arch/alpha/include/asm/
Dxor.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * include/asm-alpha/xor.h
5 * Optimized RAID-5 checksumming functions for alpha EV5 and EV6
27 asm(" \n\
28 .text \n\
29 .align 3 \n\
30 .ent xor_alpha_2 \n\
31 xor_alpha_2: \n\
32 .prologue 0 \n\
33 srl $16, 6, $16 \n\
[all …]
/kernel/linux/linux-5.10/arch/sh/include/asm/
Duaccess_32.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 * Copyright (C) 2003 - 2008 Paul Mundt
42 "1:\n\t" \
43 "mov." insn " %2, %1\n\t" \
44 "2:\n" \
45 ".section .fixup,\"ax\"\n" \
46 "3:\n\t" \
47 "mov #0, %1\n\t" \
48 "mov.l 4f, %0\n\t" \
49 "jmp @%0\n\t" \
[all …]
/kernel/linux/linux-6.6/arch/sh/include/asm/
Duaccess_32.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 * Copyright (C) 2003 - 2008 Paul Mundt
42 "1:\n\t" \
43 "mov." insn " %2, %1\n\t" \
44 "2:\n" \
45 ".section .fixup,\"ax\"\n" \
46 "3:\n\t" \
47 "mov #0, %1\n\t" \
48 "mov.l 4f, %0\n\t" \
49 "jmp @%0\n\t" \
[all …]
/kernel/linux/linux-5.10/arch/m68k/include/asm/
Duaccess.h1 /* SPDX-License-Identifier: GPL-2.0 */
42 asm volatile ("\n" \
43 "1: "MOVES"."#bwl" %2,%1\n" \
44 "2:\n" \
45 " .section .fixup,\"ax\"\n" \
46 " .even\n" \
47 "10: moveq.l %3,%0\n" \
48 " jra 2b\n" \
49 " .previous\n" \
50 "\n" \
[all …]
/kernel/linux/linux-6.6/arch/alpha/kernel/
Dtraps.c1 // SPDX-License-Identifier: GPL-2.0
32 /* Work-around for some SRMs which mishandle opDEC faults. */
41 " br $16, 1f\n" in opDEC_check()
44 " ldq $16, 8($sp)\n" in opDEC_check()
45 " addq $16, 4, $16\n" in opDEC_check()
46 " stq $16, 8($sp)\n" in opDEC_check()
47 " call_pal %[rti]\n" in opDEC_check()
49 "1: lda $17, 3\n" in opDEC_check()
50 " call_pal %[wrent]\n" in opDEC_check()
51 /* With that in place, the fault from the round-to-minf fp in opDEC_check()
[all …]

12345678910>>...49