Home
last modified time | relevance | path

Searched refs:unaligned (Results 1 – 25 of 70) sorted by relevance

123

/linux/Documentation/core-api/
H A Dunaligned-memory-access.rst15 unaligned accesses, why you need to write code that doesn't cause them,
19 The definition of an unaligned access
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,
64 - Some architectures raise processor exceptions when unaligned accesses
66 unaligned access to be corrected.
[all …]
/linux/Documentation/arch/arm/
H A Dmem_alignment.rst14 unaligned memory access in general. If those access are predictable, you
15 are better to use the macros provided by include/linux/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/net/xdp/
H A Dxsk_buff_pool.c57 bool unaligned = umem->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG; in xp_create_and_assign_umem() local
62 entries = unaligned ? umem->chunks : 0; in xp_create_and_assign_umem()
82 pool->unaligned = unaligned; in xp_create_and_assign_umem()
106 if (pool->unaligned) in xp_create_and_assign_umem()
439 if (!pool->unaligned) { in xp_init_dma_info()
496 if (pool->unaligned) in xp_dma_map()
535 if (pool->unaligned) { in xp_get_xskb()
562 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in __xp_alloc()
622 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in xp_alloc_new_from_fq()
730 return pool->unaligned ? xp_unaligned_add_offset_to_addr(addr) : addr; in __xp_raw_get_addr()
/linux/arch/alpha/kernel/
H A Dtraps.c369 } unaligned[2]; variable
385 unaligned[0].count++; in do_entUna()
386 unaligned[0].va = (unsigned long) va; in do_entUna()
387 unaligned[0].pc = pc; in do_entUna()
694 ++unaligned[1].count; in do_entUnaUser()
695 unaligned[1].va = (unsigned long)va; in do_entUnaUser()
696 unaligned[1].pc = regs->pc - 4; in do_entUnaUser()
H A Dsetup.c1048 } unaligned[2]; in show_cpuinfo()
1111 unaligned[0].count, unaligned[0].pc, unaligned[0].va, in show_cpuinfo()
1112 unaligned[1].count, unaligned[1].pc, unaligned[1].va, in show_cpuinfo()
/linux/arch/riscv/
H A DKconfig941 bool "Request firmware delegation of unaligned access exceptions"
956 Saying N here will not worsen emulation support for unaligned accesses
966 This determines the level of support for unaligned accesses. This
972 bool "Probe for hardware unaligned access support"
976 speed of unaligned accesses. This probing will dynamically determine
977 the speed of unaligned accesses on the underlying system. If unaligned
979 system, the kernel will emulate the unaligned accesses to preserve the
983 bool "Emulate unaligned access where system support is missing"
986 If unaligned memory accesses trap into the kernel as they are not
987 supported by the system, the kernel will emulate the unaligned
[all …]
/linux/Documentation/devicetree/bindings/pci/
H A Dti-pci.txt36 - 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/drivers/s390/cio/
H A Dvfio_ccw_cp.c92 struct vfio_device *vdev, int pa_nr, bool unaligned) in page_array_unpin() argument
102 !unaligned) { in page_array_unpin()
131 static int page_array_pin(struct page_array *pa, struct vfio_device *vdev, bool unaligned) in page_array_pin() argument
142 !unaligned) { in page_array_pin()
164 page_array_unpin(pa, vdev, pinned, unaligned); in page_array_pin()
169 static void page_array_unpin_free(struct page_array *pa, struct vfio_device *vdev, bool unaligned) in page_array_unpin_free() argument
171 page_array_unpin(pa, vdev, pa->pa_nr, unaligned); in page_array_unpin_free()
/linux/drivers/spi/
H A Dspi-imx.c379 int unaligned; in spi_imx_buf_rx_swap() local
382 unaligned = spi_imx->remainder % 4; in spi_imx_buf_rx_swap()
384 if (!unaligned) { in spi_imx_buf_rx_swap()
396 while (unaligned--) { in spi_imx_buf_rx_swap()
398 *(u8 *)spi_imx->rx_buf = (val >> (8 * unaligned)) & 0xff; in spi_imx_buf_rx_swap()
431 int unaligned; in spi_imx_buf_tx_swap() local
434 unaligned = spi_imx->count % 4; in spi_imx_buf_tx_swap()
436 if (!unaligned) { in spi_imx_buf_tx_swap()
446 while (unaligned--) { in spi_imx_buf_tx_swap()
448 val |= *(u8 *)spi_imx->tx_buf << (8 * unaligned); in spi_imx_buf_tx_swap()
[all …]
/linux/Documentation/translations/zh_CN/core-api/
H A Dunaligned-memory-access.rst3 :Original: Documentation/core-api/unaligned-memory-access.rst
178 避免非对齐访问的最简单方法是使用<linux/unaligned.h>头文件提供的get_unaligned()和
H A Dindex.rst111 unaligned-memory-access
/linux/Documentation/dev-tools/
H A Dubsan.rst68 Detection of unaligned accesses controlled through the separate option -
70 unaligned accesses (CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y). One could
/linux/arch/parisc/boot/compressed/
H A Dvmlinux.scr7 output_len = . - 4; /* can be at unaligned address */
/linux/arch/arc/lib/
H A Dmemcpy-archs.S94 ;;; CASE 1: The source is unaligned, off by 1
139 ;;; CASE 2: The source is unaligned, off by 2
180 ;;; CASE 3: The source is unaligned, off by 3
H A DMakefile12 lib-$(CONFIG_ISA_ARCV2) +=memcpy-archs-unaligned.o
H A Dstrchr-700.S41 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.
/linux/arch/loongarch/lib/
H A DMakefile6 lib-y += delay.o clear_user.o copy_user.o dump_tlb.o unaligned.o
/linux/arch/riscv/kernel/
H A DMakefile80 obj-$(CONFIG_RISCV_PROBE_UNALIGNED_ACCESS) += copy-unaligned.o
81 obj-$(CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS) += vec-copy-unaligned.o
/linux/arch/loongarch/kernel/
H A Dmodule.c216 goto unaligned; in apply_r_larch_sop_imm_field()
231 goto unaligned; in apply_r_larch_sop_imm_field()
242 goto unaligned; in apply_r_larch_sop_imm_field()
268 unaligned: in apply_r_larch_sop_imm_field()
/linux/arch/powerpc/include/asm/
H A Demulated_ops.h35 struct ppc_emulated_entry unaligned; member
/linux/arch/arc/kernel/
H A DMakefile18 obj-$(CONFIG_ARC_EMUL_UNALIGNED) += unaligned.o
/linux/Documentation/translations/zh_CN/process/
H A Dindex.rst87 ../core-api/unaligned-memory-access
/linux/lib/crypto/arm/
H A Dsha1-armv4-large.S93 ldr r9,[r1],#4 @ handles unaligned
118 ldr r9,[r1],#4 @ handles unaligned
143 ldr r9,[r1],#4 @ handles unaligned
168 ldr r9,[r1],#4 @ handles unaligned
193 ldr r9,[r1],#4 @ handles unaligned
221 ldr r9,[r1],#4 @ handles unaligned
/linux/arch/mips/kernel/
H A Dkprobes.c210 goto unaligned; in evaluate_branch_instruction()
228 unaligned: in evaluate_branch_instruction()
/linux/arch/loongarch/
H A DKconfig607 bool "Enable -mstrict-align to prevent unaligned accesses" if EXPERT
610 Not all LoongArch cores support h/w unaligned access, we can use
611 -mstrict-align build parameter to prevent unaligned accesses.
613 CPUs with h/w unaligned access support:
617 CPUs without h/w unaligned access support:
620 If you want to make sure whether to support unaligned memory access
625 to run kernel only on systems with h/w unaligned access support in

123