/linux-6.12.1/tools/testing/selftests/bpf/progs/ |
D | verifier_sdiv.c | 1 // SPDX-License-Identifier: GPL-2.0 15 __description("SDIV32, non-zero imm divisor, check 1") 16 __success __success_unpriv __retval(-20) 19 asm volatile (" \ in sdiv32_non_zero_imm_1() 20 w0 = -41; \ in sdiv32_non_zero_imm_1() 27 __description("SDIV32, non-zero imm divisor, check 2") 28 __success __success_unpriv __retval(-20) 31 asm volatile (" \ in sdiv32_non_zero_imm_2() 33 w0 s/= -2; \ in sdiv32_non_zero_imm_2() 39 __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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
D | bitops-cas.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 static inline unsigned __bo_cas(volatile unsigned *p, unsigned old, unsigned new) in __bo_cas() 14 static inline void set_bit(int nr, volatile void *addr) in set_bit() 17 volatile unsigned *a = addr; in set_bit() 26 static inline void clear_bit(int nr, volatile void *addr) in clear_bit() 29 volatile unsigned *a = addr; in clear_bit() 38 static inline void change_bit(int nr, volatile void *addr) in change_bit() 41 volatile unsigned *a = addr; in change_bit() 50 static inline int test_and_set_bit(int nr, volatile void *addr) in test_and_set_bit() 53 volatile unsigned *a = addr; in test_and_set_bit() [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/Documentation/devicetree/bindings/iio/potentiometer/ |
D | microchip,mcp4531.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 15 * volatile https://ww1.microchip.com/downloads/en/DeviceDoc/22096b.pdf 16 * non-volatile https://ww1.microchip.com/downloads/en/DeviceDoc/22107B.pdf 17 Part numbers as follows: mcp4ABC-XXX where 19 B = 3 (7-bit, volatile), 4 (7-bit, non-volatile), 20 5 (8-bit, volatile), 6 (8-bit, non-volatile), 28 - microchip,mcp4531-502 [all …]
|
/linux-6.12.1/arch/powerpc/lib/ |
D | test_emulate_step_exec_instr.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Non-emulated single-stepping support (currently limited to basic integer 9 #include <asm/asm-offsets.h> 11 #include <asm/code-patching-asm.h> 19 * In-memory pt_regs (SP + STACK_INT_FRAME_REGS) 26 * states in an in-memory pt_regs and also create the back chain to 29 stdu r1, -INT_FRAME_SIZE(r1) 32 * Save non-volatile GPRs on stack. This includes TOC pointer (GPR2) 52 * even though only fields 2 to 4 are non-volatile. 59 * critical non-volatile registers. The register state is passed as a [all …]
|
/linux-6.12.1/arch/riscv/include/asm/ |
D | bitops.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 19 #include <asm-generic/bitops/__ffs.h> 20 #include <asm-generic/bitops/__fls.h> 21 #include <asm-generic/bitops/ffs.h> 22 #include <asm-generic/bitops/fls.h> 30 #include <asm-generic/bitops/__ffs.h> 31 #include <asm-generic/bitops/__fls.h> 32 #include <asm-generic/bitops/ffs.h> 33 #include <asm-generic/bitops/fls.h> 35 #include <asm/alternative-macros.h> [all …]
|
/linux-6.12.1/arch/powerpc/include/asm/ |
D | io.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 61 * set when the platform supports "special" PIO accesses via a non memory 77 * This provides the non-bus specific accessors to MMIO. Those are PowerPC 95 /* -mprefixed can generate offsets beyond range, fall back hack */ 98 static inline u##size name(const volatile u##size __iomem *addr) \ 107 static inline void name(volatile u##size __iomem *addr, u##size val) \ 115 static inline u##size name(const volatile u##size __iomem *addr) \ 124 static inline void name(volatile u##size __iomem *addr, u##size val) \ 132 static inline u##size name(const volatile u##size __iomem *addr) \ 141 static inline void name(volatile u##size __iomem *addr, u##size val) \ [all …]
|
/linux-6.12.1/Documentation/ABI/testing/ |
D | sysfs-bus-nfit | 10 (RO) Serial number of the NVDIMM (non-volatile dual in-line 54 (RO) The flags in the NFIT memory device sub-structure indicate 80 only expect one code per-dimm as they will ignore 113 http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf 114 https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/ 132 (RO) Sub-system vendor id of the NVDIMM non-volatile memory 141 (RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem 142 controller, assigned by the non-volatile memory subsystem 151 (RO) Sub-system device id for the NVDIMM non-volatile memory 152 subsystem controller, assigned by the non-volatile memory [all …]
|
/linux-6.12.1/drivers/scsi/ |
D | gvp11.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 24 * if the transfer address ANDed with this results in a non-zero 31 volatile unsigned short CNTR; 33 volatile unsigned char SASR; 35 volatile unsigned char SCMD; 37 volatile unsigned short BANK; 39 volatile unsigned long ACR; 40 volatile unsigned short secret1; /* store 0 here */ 41 volatile unsigned short ST_DMA; 42 volatile unsigned short SP_DMA; [all …]
|
D | a2091.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 24 * if the transfer address ANDed with this results in a non-zero 31 volatile unsigned short ISTR; 32 volatile unsigned short CNTR; 34 volatile unsigned int WTC; 35 volatile unsigned long ACR; 37 volatile unsigned short DAWR; 39 volatile unsigned char SASR; 41 volatile unsigned char SCMD; 43 volatile unsigned short ST_DMA; [all …]
|
D | a3000.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 * Header file for the Amiga 3000 built-in SCSI controller for Linux 24 * if the transfer address ANDed with this results in a non-zero 31 volatile unsigned short DAWR; 32 volatile unsigned int WTC; 34 volatile unsigned short CNTR; 35 volatile unsigned long ACR; 37 volatile unsigned short ST_DMA; 39 volatile unsigned short FLUSH; 41 volatile unsigned short CINT; [all …]
|
/linux-6.12.1/Documentation/arch/arm/ |
D | kernel_user_helpers.rst | 2 Kernel-provided User Helpers 43 -------------------- 77 ------------- 114 - Valid only if __kuser_helper_version >= 1 (from kernel version 2.6.12). 117 ------------- 123 int __kuser_cmpxchg(int32_t oldval, int32_t newval, volatile int32_t *ptr); 134 r0 = success code (zero or non-zero) 144 Return zero if `*ptr` was changed or non-zero if no exchange happened. 150 typedef int (__kuser_cmpxchg_t)(int oldval, int newval, volatile int *ptr); 153 int atomic_add(volatile int *ptr, int val) [all …]
|
/linux-6.12.1/drivers/misc/lkdtm/ |
D | perms.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * permissions: non-executable regions, non-writable regions, and 5 * even non-readable regions. 22 /* This is non-const, so it will end up in the .data section. */ 33 * non-executable memory regions. 58 fdesc->addr = (unsigned long)dst; in setup_function_descriptor() 108 /* Explicitly cast away "const" for the test and make volatile. */ in lkdtm_WRITE_RO() 109 volatile unsigned long *ptr = (unsigned long *)&rodata; in lkdtm_WRITE_RO() 118 volatile unsigned long *ptr = &ro_after_init; in lkdtm_WRITE_RO_AFTER_INIT() 138 volatile unsigned char *ptr; in lkdtm_WRITE_KERN() [all …]
|
/linux-6.12.1/arch/arm/include/asm/ |
D | io.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 1996-2000 Russell King 8 * 16-Sep-1996 RMK Inlined the inx/outx functions & optimised for both 10 * 04-Dec-1997 RMK Moved a lot of this stuff to the new architecture 12 * 27-Mar-1999 PJB Second parameter of memcpy_toio is const.. 13 * 04-Apr-1999 PJB Added check_signature. 14 * 12-Dec-1999 RMK More cleanups 15 * 18-Jun-2000 RMK Removed virt_to_* and friends definitions 16 * 05-Oct-2004 BJD Moved memory string functions to use void __iomem 27 #include <asm-generic/pci_iomap.h> [all …]
|