| /kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
| D | verifier_sdiv.c | 1 // SPDX-License-Identifier: GPL-2.0 11 __description("SDIV32, non-zero imm divisor, check 1") 12 __success __success_unpriv __retval(-20) 15 asm volatile (" \ in sdiv32_non_zero_imm_1() 16 w0 = -41; \ in sdiv32_non_zero_imm_1() 23 __description("SDIV32, non-zero imm divisor, check 2") 24 __success __success_unpriv __retval(-20) 27 asm volatile (" \ in sdiv32_non_zero_imm_2() 29 w0 s/= -2; \ in sdiv32_non_zero_imm_2() 35 __description("SDIV32, non-zero imm divisor, check 3") [all …]
|
| D | verifier_bounds_deduction_non_const.c | 1 // SPDX-License-Identifier: GPL-2.0 8 __description("check deducing bounds from non-const, jmp64, <non_const> == <const>, 1") 12 asm volatile (" \ in deducing_bounds_from_non_const_1() 21 r0 -= r1; \ in deducing_bounds_from_non_const_1() 29 __description("check deducing bounds from non-const, jmp64, <non_const> == <const>, 2") 33 asm volatile (" \ in deducing_bounds_from_non_const_2() 42 r0 -= r1; \ in deducing_bounds_from_non_const_2() 50 __description("check deducing bounds from non-const, jmp64, <non_const> != <const>, 1") 54 asm volatile (" \ in deducing_bounds_from_non_const_3() 64 r0 -= r1; \ in deducing_bounds_from_non_const_3() [all …]
|
| D | verifier_cgroup_storage.c | 1 // SPDX-License-Identifier: GPL-2.0 35 asm volatile (" \ in valid_cgroup_storage_access() 55 asm volatile (" \ in invalid_cgroup_storage_access_1() 75 asm volatile (" \ in invalid_cgroup_storage_access_2() 94 asm volatile (" \ in invalid_cgroup_storage_access_3() 110 __failure __msg("invalid access to map value, value_size=64 off=-2 size=4") 115 asm volatile (" \ in __flag() 119 r1 = *(u32*)(r0 - 2); \ in __flag() 131 __failure __msg("get_local_storage() doesn't support non-zero flags") 135 asm volatile (" \ in invalid_cgroup_storage_access_5() [all …]
|
| /kernel/linux/linux-5.10/Documentation/translations/it_IT/process/ |
| D | volatile-considered-harmful.rst | 1 .. include:: ../disclaimer-ita.rst 3 :Original: :ref:`Documentation/process/volatile-considered-harmful.rst <volatile_considered_harmful… 8 Perché la parola chiave "volatile" non dovrebbe essere usata 9 ------------------------------------------------------------ 13 a volte saranno tentati dall'utilizzare *volatile* nel kernel per le 15 *volatile* come una variabile atomica di facile utilizzo, ma non è così. 16 L'uso di *volatile* nel kernel non è quasi mai corretto; questo documento ne 19 Il punto chiave da capire su *volatile* è che il suo scopo è quello di 20 sopprimere le ottimizzazioni, che non è quasi mai quello che si vuole. 27 Come *volatile*, le primitive del kernel che rendono sicuro l'accesso ai dati [all …]
|
| /kernel/linux/linux-6.6/Documentation/translations/it_IT/process/ |
| D | volatile-considered-harmful.rst | 1 .. include:: ../disclaimer-ita.rst 3 :Original: :ref:`Documentation/process/volatile-considered-harmful.rst <volatile_considered_harmful… 8 Perché la parola chiave "volatile" non dovrebbe essere usata 9 ------------------------------------------------------------ 13 a volte saranno tentati dall'utilizzare *volatile* nel kernel per le 15 *volatile* come una variabile atomica di facile utilizzo, ma non è così. 16 L'uso di *volatile* nel kernel non è quasi mai corretto; questo documento ne 19 Il punto chiave da capire su *volatile* è che il suo scopo è quello di 20 sopprimere le ottimizzazioni, che non è quasi mai quello che si vuole. 27 Come *volatile*, le primitive del kernel che rendono sicuro l'accesso ai dati [all …]
|
| /kernel/linux/linux-6.6/include/asm-generic/bitops/ |
| D | instrumented-non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * This file provides wrappers with sanitizer instrumentation for non-atomic 17 * ___set_bit - Set a bit in memory 21 * Unlike set_bit(), this function is non-atomic. If it is called on the same 26 ___set_bit(unsigned long nr, volatile unsigned long *addr) in ___set_bit() 33 * ___clear_bit - Clears a bit in memory 37 * Unlike clear_bit(), this function is non-atomic. If it is called on the same 42 ___clear_bit(unsigned long nr, volatile unsigned long *addr) in ___clear_bit() 49 * ___change_bit - Toggle a bit in memory 53 * Unlike change_bit(), this function is non-atomic. If it is called on the same [all …]
|
| D | generic-non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 19 * generic___set_bit - Set a bit in memory 23 * Unlike set_bit(), this function is non-atomic and may be reordered. 28 generic___set_bit(unsigned long nr, volatile unsigned long *addr) in generic___set_bit() 37 generic___clear_bit(unsigned long nr, volatile unsigned long *addr) in generic___clear_bit() 46 * generic___change_bit - Toggle a bit in memory 50 * Unlike change_bit(), this function is non-atomic and may be reordered. 55 generic___change_bit(unsigned long nr, volatile unsigned long *addr) in generic___change_bit() 64 * generic___test_and_set_bit - Set a bit and return its old value 68 * This operation is non-atomic and can be reordered. [all …]
|
| /kernel/linux/linux-5.10/include/asm-generic/bitops/ |
| D | instrumented-non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * This file provides wrappers with sanitizer instrumentation for non-atomic 17 * __set_bit - Set a bit in memory 21 * Unlike set_bit(), this function is non-atomic. If it is called on the same 25 static inline void __set_bit(long nr, volatile unsigned long *addr) in __set_bit() 32 * __clear_bit - Clears a bit in memory 36 * Unlike clear_bit(), this function is non-atomic. If it is called on the same 40 static inline void __clear_bit(long nr, volatile unsigned long *addr) in __clear_bit() 47 * __change_bit - Toggle a bit in memory 51 * Unlike change_bit(), this function is non-atomic. If it is called on the same [all …]
|
| D | non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * __set_bit - Set a bit in memory 12 * Unlike set_bit(), this function is non-atomic and may be reordered. 16 static inline void __set_bit(int nr, volatile unsigned long *addr) in __set_bit() 24 static inline void __clear_bit(int nr, volatile unsigned long *addr) in __clear_bit() 33 * __change_bit - Toggle a bit in memory 37 * Unlike change_bit(), this function is non-atomic and may be reordered. 41 static inline void __change_bit(int nr, volatile unsigned long *addr) in __change_bit() 50 * __test_and_set_bit - Set a bit and return its old value 54 * This operation is non-atomic and can be reordered. [all …]
|
| /kernel/linux/linux-6.6/arch/ia64/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Copyright (C) 1998-2003 Hewlett-Packard Co 7 * David Mosberger-Tang <davidm@hpl.hp.com> 23 * set_bit - Atomically set a bit in memory 30 * restricted to acting on a single-word quantity. 34 * operate on hw-defined data-structures, so we can't easily change these 40 set_bit (int nr, volatile void *addr) in set_bit() 43 volatile __u32 *m; in set_bit() 46 m = (volatile __u32 *) addr + (nr >> 5); in set_bit() 56 * arch___set_bit - Set a bit in memory [all …]
|
| /kernel/linux/linux-6.6/Documentation/block/ |
| D | writeback_cache_control.rst | 2 Explicit volatile write back cache control 6 ------------ 8 Many storage devices, especially in the consumer market, come with volatile 10 operating system before data actually has hit the non-volatile storage. This 12 system needs to force data out to the non-volatile storage when it performs 21 ---------------------- 24 the filesystem and will make sure the volatile cache of the storage device 26 guarantees that previously completed write requests are on non-volatile 34 ------------------ 38 signaled after the data has been committed to non-volatile storage. [all …]
|
| /kernel/linux/linux-5.10/Documentation/block/ |
| D | writeback_cache_control.rst | 2 Explicit volatile write back cache control 6 ------------ 8 Many storage devices, especially in the consumer market, come with volatile 10 operating system before data actually has hit the non-volatile storage. This 12 system needs to force data out to the non-volatile storage when it performs 21 ---------------------- 24 the filesystem and will make sure the volatile cache of the storage device 26 guarantees that previously completed write requests are on non-volatile 34 ------------------ 38 signaled after the data has been committed to non-volatile storage. [all …]
|
| /kernel/linux/linux-5.10/arch/ia64/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Copyright (C) 1998-2003 Hewlett-Packard Co 7 * David Mosberger-Tang <davidm@hpl.hp.com> 23 * set_bit - Atomically set a bit in memory 30 * restricted to acting on a single-word quantity. 34 * operate on hw-defined data-structures, so we can't easily change these 40 set_bit (int nr, volatile void *addr) in set_bit() 43 volatile __u32 *m; in set_bit() 46 m = (volatile __u32 *) addr + (nr >> 5); in set_bit() 56 * __set_bit - Set a bit in memory [all …]
|
| /kernel/linux/linux-6.6/tools/include/asm-generic/bitops/ |
| D | non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * ___set_bit - Set a bit in memory 12 * Unlike set_bit(), this function is non-atomic and may be reordered. 17 ___set_bit(unsigned long nr, volatile unsigned long *addr) in ___set_bit() 26 ___clear_bit(unsigned long nr, volatile unsigned long *addr) in ___clear_bit() 35 * ___change_bit - Toggle a bit in memory 39 * Unlike change_bit(), this function is non-atomic and may be reordered. 44 ___change_bit(unsigned long nr, volatile unsigned long *addr) in ___change_bit() 53 * ___test_and_set_bit - Set a bit and return its old value 57 * This operation is non-atomic and can be reordered. [all …]
|
| /kernel/linux/linux-5.10/tools/include/asm-generic/bitops/ |
| D | non-atomic.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * __set_bit - Set a bit in memory 12 * Unlike set_bit(), this function is non-atomic and may be reordered. 16 static inline void __set_bit(int nr, volatile unsigned long *addr) in __set_bit() 24 static inline void __clear_bit(int nr, volatile unsigned long *addr) in __clear_bit() 33 * __change_bit - Toggle a bit in memory 37 * Unlike change_bit(), this function is non-atomic and may be reordered. 41 static inline void __change_bit(int nr, volatile unsigned long *addr) in __change_bit() 50 * __test_and_set_bit - Set a bit and return its old value 54 * This operation is non-atomic and can be reordered. [all …]
|
| /kernel/linux/linux-6.6/arch/hexagon/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 20 * (i.e. I get to shift by #5-2 (32 bits per long, 4 bytes per access), 27 * test_and_clear_bit - clear a bit and return its old value 31 static inline int test_and_clear_bit(int nr, volatile void *addr) in test_and_clear_bit() 51 * test_and_set_bit - set a bit and return its old value 55 static inline int test_and_set_bit(int nr, volatile void *addr) in test_and_set_bit() 77 * test_and_change_bit - toggle a bit and return its old value 81 static inline int test_and_change_bit(int nr, volatile void *addr) in test_and_change_bit() 106 static inline void clear_bit(int nr, volatile void *addr) in clear_bit() [all …]
|
| /kernel/linux/linux-6.6/arch/sh/include/asm/ |
| D | bitops-op32.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * The bit modifying instructions on SH-2A are only capable of working 9 * with a 3-bit immediate, which signifies the shift position for the bit 13 #define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7) 22 arch___set_bit(unsigned long nr, volatile unsigned long *addr) in arch___set_bit() 40 arch___clear_bit(unsigned long nr, volatile unsigned long *addr) in arch___clear_bit() 59 * arch___change_bit - Toggle a bit in memory 63 * Unlike change_bit(), this function is non-atomic and may be reordered. 68 arch___change_bit(unsigned long nr, volatile unsigned long *addr) in arch___change_bit() 87 * arch___test_and_set_bit - Set a bit and return its old value [all …]
|
| /kernel/linux/linux-6.6/arch/alpha/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 * These have to be done with inline assembly: that way the bit-setting 29 set_bit(unsigned long nr, volatile void * addr) in set_bit() 47 * WARNING: non atomic version. 50 arch___set_bit(unsigned long nr, volatile unsigned long *addr) in arch___set_bit() 58 clear_bit(unsigned long nr, volatile void * addr) in clear_bit() 76 clear_bit_unlock(unsigned long nr, volatile void * addr) in clear_bit_unlock() 83 * WARNING: non atomic version. 86 arch___clear_bit(unsigned long nr, volatile unsigned long *addr) in arch___clear_bit() 94 __clear_bit_unlock(unsigned long nr, volatile void * addr) in __clear_bit_unlock() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/kvm/ |
| D | tm.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 11 #include <asm/asm-offsets.h> 20 * Save transactional state and TM-related registers. 22 * - r3 pointing to the vcpu struct 23 * - r4 containing the MSR with current TS bits: 25 * - r5 containing a flag indicating that non-volatile registers 34 stdu r1, -SWITCH_FRAME_SIZE(r1) 43 rldimi r8, r0, MSR_TM_LG, 63-MSR_TM_LG 48 rldicl. r4, r4, 64 - MSR_TS_S_LG, 62 54 /* Save CR on the stack - even if r5 == 0 we need to get cr7 back. */ [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/kvm/ |
| D | tm.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 #include <asm/asm-offsets.h> 20 * Save transactional state and TM-related registers. 22 * - r3 pointing to the vcpu struct 23 * - r4 containing the MSR with current TS bits: 25 * - r5 containing a flag indicating that non-volatile registers 34 stdu r1, -SWITCH_FRAME_SIZE(r1) 43 rldimi r8, r0, MSR_TM_LG, 63-MSR_TM_LG 48 rldicl. r4, r4, 64 - MSR_TS_S_LG, 62 54 /* Save CR on the stack - even if r5 == 0 we need to get cr7 back. */ [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/pmem/ |
| D | pmem-region.txt | 1 Device-tree bindings for persistent memory regions 2 ----------------------------------------------------- 16 ----------------------------- 19 - compatible = "pmem-region" 21 - reg = <base, size>; 33 - Any relevant NUMA associativity properties for the target platform. 35 - volatile; This property indicates that this region is actually 36 backed by non-persistent memory. This lets the OS know that it 41 is backed by non-volatile memory. 44 -------------------- [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/pmem/ |
| D | pmem-region.txt | 1 Device-tree bindings for persistent memory regions 2 ----------------------------------------------------- 16 ----------------------------- 19 - compatible = "pmem-region" 21 - reg = <base, size>; 33 - Any relevant NUMA assocativity properties for the target platform. 35 - volatile; This property indicates that this region is actually 36 backed by non-persistent memory. This lets the OS know that it 41 is backed by non-volatile memory. 44 -------------------- [all …]
|
| /kernel/linux/linux-5.10/arch/sh/include/asm/ |
| D | bitops-op32.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * The bit modifying instructions on SH-2A are only capable of working 7 * with a 3-bit immediate, which signifies the shift position for the bit 11 #define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7) 19 static inline void __set_bit(int nr, volatile unsigned long *addr) in __set_bit() 36 static inline void __clear_bit(int nr, volatile unsigned long *addr) in __clear_bit() 55 * __change_bit - Toggle a bit in memory 59 * Unlike change_bit(), this function is non-atomic and may be reordered. 63 static inline void __change_bit(int nr, volatile unsigned long *addr) in __change_bit() 82 * __test_and_set_bit - Set a bit and return its old value [all …]
|
| /kernel/linux/linux-5.10/arch/alpha/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 * These have to be done with inline assembly: that way the bit-setting 29 set_bit(unsigned long nr, volatile void * addr) in set_bit() 47 * WARNING: non atomic version. 50 __set_bit(unsigned long nr, volatile void * addr) in __set_bit() 58 clear_bit(unsigned long nr, volatile void * addr) in clear_bit() 76 clear_bit_unlock(unsigned long nr, volatile void * addr) in clear_bit_unlock() 83 * WARNING: non atomic version. 86 __clear_bit(unsigned long nr, volatile void * addr) in __clear_bit() 94 __clear_bit_unlock(unsigned long nr, volatile void * addr) in __clear_bit_unlock() [all …]
|
| /kernel/linux/linux-5.10/arch/riscv/include/asm/ |
| D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 18 #include <asm-generic/bitops/__ffs.h> 19 #include <asm-generic/bitops/ffz.h> 20 #include <asm-generic/bitops/fls.h> 21 #include <asm-generic/bitops/__fls.h> 22 #include <asm-generic/bitops/fls64.h> 23 #include <asm-generic/bitops/find.h> 24 #include <asm-generic/bitops/sched.h> 25 #include <asm-generic/bitops/ffs.h> 27 #include <asm-generic/bitops/hweight.h> [all …]
|