| /kernel/linux/linux-5.10/arch/arc/include/asm/ |
| D | uaccess.h | 1 /* 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/ |
| D | uaccess.h | 1 /* 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/ |
| D | usercopy.c | 1 // 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/ |
| D | sfp-util_32.h | 1 /* 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/ |
| D | sfp-util_32.h | 1 /* 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/ |
| D | memcpy_32.c | 1 // 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 …]
|
| D | usercopy_32.c | 1 // 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/ |
| D | uaccess.h | 1 /* 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/ |
| D | uaccess.h | 1 /* 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/ |
| D | uaccess.c | 1 // 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 …]
|
| D | xor.c | 1 // 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/ |
| D | usercopy_32.c | 1 // 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/ |
| D | xor_32.h | 1 /* 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/ |
| D | xor_32.h | 1 /* 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/ |
| D | xor.c | 1 // 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/ |
| D | checksum.c | 1 // 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/ |
| D | checksum.c | 1 // 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/ |
| D | unaligned-emul.h | 1 /* 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/ |
| D | unaligned-emul.h | 1 /* 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/ |
| D | xor.h | 1 /* 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/ |
| D | xor.h | 1 /* 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/ |
| D | uaccess_32.h | 1 /* 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/ |
| D | uaccess_32.h | 1 /* 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/ |
| D | uaccess.h | 1 /* 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/ |
| D | traps.c | 1 // 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 …]
|