/Linux-v6.6/Documentation/core-api/ |
D | unaligned-memory-access.rst | 2 Unaligned Memory Accesses 15 unaligned accesses, why you need to write code that doesn't cause them, 19 The definition of an unaligned access 22 Unaligned memory accesses occur when you try to read N bytes of data starting 25 reading 4 bytes of data from address 0x10005 would be an unaligned memory 52 Why unaligned access is bad 55 The effects of performing an unaligned memory access vary from architecture 59 - Some architectures are able to perform unaligned memory accesses 61 - Some architectures raise processor exceptions when unaligned accesses 62 happen. The exception handler is able to correct the unaligned access, [all …]
|
/Linux-v6.6/Documentation/arch/arm/ |
D | mem_alignment.rst | 14 unaligned memory access in general. If those access are predictable, you 15 are better to use the macros provided by include/asm/unaligned.h. The 20 trap to SIGBUS any code performing unaligned access (good for debugging bad 27 real bad - it changes the behaviour of all unaligned instructions in user 36 0 A user process performing an unaligned memory access 42 performing the unaligned access. This is of course 47 performing the unaligned access. 59 information on unaligned access occurrences plus the current mode of
|
/Linux-v6.6/tools/perf/pmu-events/arch/arm64/arm/neoverse-n1/ |
D | spec_operation.json | 16 …"PublicDescription": "Counts unaligned memory read operations issued by the CPU. This event counts… 20 …"PublicDescription": "Counts unaligned memory write operations issued by the CPU. This event count… 24 …"PublicDescription": "Counts unaligned memory operations issued by the CPU. This event counts unal…
|
/Linux-v6.6/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/ |
D | spec_operation.json | 20 …"PublicDescription": "Counts unaligned memory read operations issued by the CPU. This event counts… 24 …"PublicDescription": "Counts unaligned memory write operations issued by the CPU. This event count… 28 …"PublicDescription": "Counts unaligned memory operations issued by the CPU. This event counts unal…
|
/Linux-v6.6/include/rdma/ |
D | ib_hdrs.h | 10 #include <asm/unaligned.h> 49 __be64 vaddr; /* potentially unaligned */ 55 __be64 vaddr; /* potentially unaligned */ 57 __be64 swap_data; /* potentially unaligned */ 58 __be64 compare_data; /* potentially unaligned */ 74 __be64 atomic_ack_eth; /* potentially unaligned */ 108 /* accessors for unaligned __be64 items */
|
/Linux-v6.6/tools/testing/selftests/powerpc/ptrace/ |
D | ptrace-hwbreak.c | 46 __u8 b[B_LEN]; /* double word unaligned */ 175 /* PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, WO test */ in test_workload() 178 /* PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, RO test */ in test_workload() 181 /* PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, RW test */ in test_workload() 187 /* PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, DAR OUTSIDE, RW test */ in test_workload() 202 /* PPC_PTRACE_SETHWDEBUG 2, MODE_RANGE, DW UNALIGNED, RO test */ in test_workload() 438 char *name2 = "PPC_PTRACE_SETHWDEBUG 2, MODE_RANGE, DW UNALIGNED"; in test_multi_sethwdebug_range() 452 /* PPC_PTRACE_SETHWDEBUG 2, MODE_RANGE, DW UNALIGNED, RO test */ in test_multi_sethwdebug_range() 500 char *name = "PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED"; in test_sethwdebug_range_unaligned() 504 /* PPC_PTRACE_SETHWDEBUG, MODE_RANGE, DW UNALIGNED, WO test */ in test_sethwdebug_range_unaligned() [all …]
|
/Linux-v6.6/net/xdp/ |
D | xsk_buff_pool.c | 58 bool unaligned = umem->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG; in xp_create_and_assign_umem() local 63 entries = unaligned ? umem->chunks : 0; in xp_create_and_assign_umem() 83 pool->unaligned = unaligned; in xp_create_and_assign_umem() 104 if (pool->unaligned) in xp_create_and_assign_umem() 394 if (!pool->unaligned) { in xp_init_dma_info() 451 if (pool->unaligned) in xp_dma_map() 501 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in __xp_alloc() 511 if (pool->unaligned) { in __xp_alloc() 569 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in xp_alloc_new_from_fq() 577 if (pool->unaligned) { in xp_alloc_new_from_fq() [all …]
|
/Linux-v6.6/arch/hexagon/lib/ |
D | io.c | 24 panic("unaligned pointer to readsw"); in __raw_readsw() 44 panic("unaligned pointer to writesw"); in __raw_writesw() 60 panic("unaligned pointer to readsl"); in __raw_readsl() 75 panic("unaligned pointer to writesl"); in __raw_writesl()
|
/Linux-v6.6/tools/usb/ |
D | hcd-tests.sh | 117 echo "test 21: control writes, unaligned" 132 echo "test 17: $COUNT transfers, unaligned DMA map by core" 135 echo "test 19: $COUNT transfers, unaligned DMA map by usb_alloc_coherent" 193 echo "test 18: $COUNT transfers, unaligned DMA map by core" 196 echo "test 20: $COUNT transfers, unaligned DMA map by usb_alloc_coherent" 228 echo "test 23: $COUNT transfers, unaligned"
|
/Linux-v6.6/arch/mips/kernel/ |
D | unaligned.c | 2 * Handle unaligned accesses by emulation. 17 * Putting data to unaligned addresses is a bad practice even on Intel where 92 #include <asm/unaligned-emul.h> 339 * would blow up, so for now we don't handle unaligned 64-bit in emulate_load_store_insn() 362 * would blow up, so for now we don't handle unaligned 64-bit in emulate_load_store_insn() 417 * would blow up, so for now we don't handle unaligned 64-bit in emulate_load_store_insn() 443 die_if_kernel("Unaligned FP access in kernel code", regs); in emulate_load_store_insn() 591 die_if_kernel("Unhandled kernel unaligned access", regs); in emulate_load_store_insn() 597 die_if_kernel("Unhandled kernel unaligned access", regs); in emulate_load_store_insn() 604 ("Unhandled kernel unaligned access or invalid instruction", regs); in emulate_load_store_insn() [all …]
|
/Linux-v6.6/arch/sparc/kernel/ |
D | unaligned_32.c | 3 * unaligned.c: Unaligned load/store trap handling with special 60 printk("Impossible unaligned trap. insn=%08x\n", insn); in decode_access_size() 61 die_if_kernel("Byte sized unaligned access?!?!", current->thread.kregs); in decode_access_size() 246 printk("Unsupported unaligned load/store trap for kernel at <%08lx>.\n", in kernel_unaligned_trap() 248 unaligned_panic("Wheee. Kernel does fpu/atomic unaligned load/store."); in kernel_unaligned_trap() 267 panic("Impossible kernel unaligned trap."); in kernel_unaligned_trap()
|
/Linux-v6.6/arch/ia64/kernel/ |
D | unaligned.c | 3 * Architecture-specific unaligned trap handling. 13 * 2001/10/11 Fix unaligned access to rotating registers in s/w pipelined loops. 15 * 2001/01/17 Add support emulation of unaligned kernel accesses. 29 #include <asm/unaligned.h> 63 * (i.e. don't allow attacker to fill up logs with unaligned accesses). 471 * than the Unaligned Reference fault. in setreg() 526 * From EAS-2.5: FPDisableFault has higher priority than Unaligned in setfpreg() 588 * Unaligned Fault. Thus, when we get here, we know the partition is in getfpreg() 677 * Given the way we handle unaligned speculative loads, we should in emulate_load_updates() 683 if (die_if_kernel("unaligned reference on speculative load with register update\n", in emulate_load_updates() [all …]
|
/Linux-v6.6/arch/alpha/kernel/ |
D | traps.c | 24 #include <asm/unaligned.h> 413 * to handle floating-point regs), user-mode unaligned accesses are 417 * on a gp-register unaligned load/store, something is _very_ wrong 427 } unaligned[2]; variable 443 unaligned[0].count++; in do_entUna() 444 unaligned[0].va = (unsigned long) va; in do_entUna() 445 unaligned[0].pc = pc; in do_entUna() 447 /* We don't want to use the generic get/put unaligned macros as in do_entUna() 576 printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n", in do_entUna() 587 printk("Forwarding unaligned exception at %lx (%lx)\n", in do_entUna() [all …]
|
/Linux-v6.6/arch/mips/loongson64/ |
D | cop2-ex.c | 26 #include <asm/unaligned-emul.h> 193 die_if_kernel("Unaligned FP access in kernel code", regs); in loongson_cu2_call() 209 die_if_kernel("Unaligned FP access in kernel code", regs); in loongson_cu2_call() 276 die_if_kernel("Unaligned FP access in kernel code", regs); in loongson_cu2_call() 294 die_if_kernel("Unaligned FP access in kernel code", regs); in loongson_cu2_call() 325 die_if_kernel("Unhandled kernel unaligned access", regs); in loongson_cu2_call() 331 die_if_kernel("Unhandled kernel unaligned access", regs); in loongson_cu2_call()
|
/Linux-v6.6/arch/arc/lib/ |
D | strchr-700.S | 41 breq r7,0,.Loop ; For speed, we want this branch to be unaligned. 45 breq r12,0,.Loop ; For speed, we want this branch to be unaligned. 51 ; /* We require this code address to be unaligned for speed... */ 67 breq r7,0,.Loop /* ... so that this branch is unaligned. */
|
/Linux-v6.6/arch/parisc/kernel/ |
D | unaligned.c | 3 * Unaligned memory access handler 15 #include <asm/unaligned.h> 39 /* skip LDB - never unaligned (index) */ 47 /* skip LDB - never unaligned (short) */ 55 /* skip STB - never unaligned */ 59 /* skip STBY - never unaligned */ 60 /* skip STDBY - never unaligned */ 391 printk(KERN_WARNING "%s(%d): unaligned access to " RFMT in handle_unaligned() 589 printk(KERN_CRIT "Not-handled unaligned insn 0x%08lx\n", regs->iir); in handle_unaligned() 596 * The unaligned handler failed. in handle_unaligned() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/pci/ |
D | ti-pci.txt | 36 - ti,syscon-unaligned-access: phandle to the syscon DT node. The 1st argument 39 for setting the bit to enable unaligned 54 - ti,syscon-unaligned-access: phandle to the syscon DT node. The 1st argument 57 for setting the bit to enable unaligned
|
/Linux-v6.6/arch/microblaze/include/asm/ |
D | flat.h | 11 #include <asm/unaligned.h> 23 * relocated. rp is a potentially unaligned pointer to the 52 * unaligned.
|
/Linux-v6.6/fs/nfsd/ |
D | blocklayoutxdr.c | 153 dprintk("%s: unaligned offset 0x%llx\n", in nfsd4_block_decode_layoutupdate() 159 dprintk("%s: unaligned length 0x%llx\n", in nfsd4_block_decode_layoutupdate() 165 dprintk("%s: unaligned disk offset 0x%llx\n", in nfsd4_block_decode_layoutupdate() 218 dprintk("%s: unaligned offset 0x%llx\n", __func__, val); in nfsd4_scsi_decode_layoutupdate() 225 dprintk("%s: unaligned length 0x%llx\n", __func__, val); in nfsd4_scsi_decode_layoutupdate()
|
/Linux-v6.6/arch/xtensa/include/asm/ |
D | uaccess.h | 89 * unaligned exception and an MMU-related exception (unaligned 94 * Unaligned exception occurs. 95 * Unaligned exception handler tries to make aligned accesses. 100 * The kernel currently prohibits user unaligned accesses. We use the 101 * __check_align_* macros to check for unaligned addresses before
|
/Linux-v6.6/tools/perf/pmu-events/arch/arm64/ |
D | recommended.json | 195 "PublicDescription": "Unaligned access, read", 198 "BriefDescription": "Unaligned access, read" 201 "PublicDescription": "Unaligned access, write", 204 "BriefDescription": "Unaligned access, write" 207 "PublicDescription": "Unaligned access", 210 "BriefDescription": "Unaligned access"
|
/Linux-v6.6/drivers/net/ethernet/aquantia/atlantic/hw_atl2/ |
D | hw_atl2_utils_fw.c | 22 "Unaligned write " # ITEM);\ 24 "Unaligned write length " # ITEM);\ 34 "Unaligned get " # ITEM);\ 36 "Unaligned get length " # ITEM);\ 50 "Unaligned read " # ITEM);\ 52 "Unaligned read length " # ITEM);\ 64 "Unaligned read_safe " # ITEM);\ 67 "Unaligned read_safe length " # ITEM);\
|
/Linux-v6.6/arch/xtensa/lib/ |
D | memcopy.S | 32 * If destination is unaligned, align it by conditionally 37 * else (if source is unaligned), 85 * Destination is unaligned 189 * Destination is aligned, Source is unaligned 195 # copy 16 bytes per iteration for word-aligned dst and unaligned src 339 * Destination is unaligned 452 * Destination is aligned, Source is unaligned 458 # copy 16 bytes per iteration for word-aligned dst and unaligned src
|
/Linux-v6.6/arch/arc/include/asm/ |
D | unaligned.h | 9 /* ARC700 can't handle unaligned Data accesses. */ 11 #include <asm-generic/unaligned.h>
|
/Linux-v6.6/arch/arc/kernel/ |
D | unaligned.c | 195 * Handle an unaligned access 209 pr_warn_once("%s(%d) made unaligned access which was emulated" in misaligned_fixup() 213 " echo 0 > /proc/sys/kernel/ignore-unaligned-usertrap\n", in misaligned_fixup() 217 pr_warn("%s(%d): unaligned access to/from 0x%lx by PC: 0x%lx\n", in misaligned_fixup() 228 /* ldb/stb should not have unaligned exception */ in misaligned_fixup()
|