| /linux/Documentation/core-api/ |
| H A D | unaligned-memory-access.rst | 15 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 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/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 D | xsk_buff_pool.c | 55 bool unaligned = umem->flags & XDP_UMEM_UNALIGNED_CHUNK_FLAG; in xp_create_and_assign_umem() local 60 entries = unaligned ? umem->chunks : 0; in xp_create_and_assign_umem() 80 pool->unaligned = unaligned; in xp_create_and_assign_umem() 104 if (pool->unaligned) in xp_create_and_assign_umem() 410 if (!pool->unaligned) { in xp_init_dma_info() 467 if (pool->unaligned) in xp_dma_map() 506 if (pool->unaligned) { in xp_get_xskb() 533 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in __xp_alloc() 593 ok = pool->unaligned ? xp_check_unaligned(pool, &addr) : in xp_alloc_new_from_fq() 701 return pool->unaligned ? xp_unaligned_add_offset_to_addr(addr) : addr; in __xp_raw_get_addr()
|
| /linux/arch/alpha/kernel/ |
| H A D | traps.c | 369 } 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 D | setup.c | 1048 } 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/Documentation/devicetree/bindings/pci/ |
| H A 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/drivers/s390/cio/ |
| H A D | vfio_ccw_cp.c | 92 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/arch/riscv/ |
| H A D | Kconfig | 948 This determines the level of support for unaligned accesses. This 954 bool "Probe for hardware unaligned access support" 958 speed of unaligned accesses. This probing will dynamically determine 959 the speed of unaligned accesses on the underlying system. If unaligned 961 system, the kernel will emulate the unaligned accesses to preserve the 965 bool "Emulate unaligned access where system support is missing" 968 If unaligned memory accesses trap into the kernel as they are not 969 supported by the system, the kernel will emulate the unaligned 971 unaligned accesses, the unaligned accesses are assumed to be slow. 974 bool "Assume the system supports slow unaligned memory accesses" [all …]
|
| /linux/include/net/ |
| H A D | xsk_buff_pool.h | 85 bool unaligned; member 229 if (xskb->pool->unaligned) in xp_release() 239 if (!pool->unaligned) in xp_get_handle()
|
| /linux/drivers/spi/ |
| H A D | spi-imx.c | 379 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 D | unaligned-memory-access.rst | 3 :Original: Documentation/core-api/unaligned-memory-access.rst 178 避免非对齐访问的最简单方法是使用<linux/unaligned.h>头文件提供的get_unaligned()和
|
| /linux/Documentation/dev-tools/ |
| H A D | ubsan.rst | 68 Detection of unaligned accesses controlled through the separate option - 70 unaligned accesses (CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y). One could
|
| /linux/arch/arc/lib/ |
| H A D | memcpy-archs.S | 94 ;;; 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 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.
|
| H A D | Makefile | 12 lib-$(CONFIG_ISA_ARCV2) +=memcpy-archs-unaligned.o
|
| /linux/arch/parisc/boot/compressed/ |
| H A D | vmlinux.scr | 7 output_len = . - 4; /* can be at unaligned address */
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/ |
| H A D | pool.c | 74 xsk->unaligned = pool->unaligned; in mlx5e_build_xsk_param()
|
| /linux/arch/loongarch/lib/ |
| H A D | Makefile | 7 clear_user.o copy_user.o csum.o dump_tlb.o unaligned.o
|
| /linux/arch/riscv/kernel/ |
| H A D | Makefile | 80 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 D | module.c | 216 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/drivers/gpu/drm/ci/xfails/ |
| H A D | i915-whl-flakes.txt | 13 gen9_exec_parse@unaligned-access
|
| /linux/drivers/net/ethernet/broadcom/ |
| H A D | bgmac.c | 646 ring->unaligned = bgmac_dma_unaligned(bgmac, ring, in bgmac_dma_alloc() 648 if (ring->unaligned) in bgmac_dma_alloc() 671 ring->unaligned = bgmac_dma_unaligned(bgmac, ring, in bgmac_dma_alloc() 673 if (ring->unaligned) in bgmac_dma_alloc() 694 if (!ring->unaligned) in bgmac_dma_init() 700 if (ring->unaligned) in bgmac_dma_init() 712 if (!ring->unaligned) in bgmac_dma_init() 718 if (ring->unaligned) in bgmac_dma_init()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | emulated_ops.h | 35 struct ppc_emulated_entry unaligned; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | params.c | 49 bool unaligned = xsk ? xsk->unaligned : false; in mlx5e_mpwrq_umr_mode() local 80 if (unaligned) in mlx5e_mpwrq_umr_mode() 559 mlx5e_mpwrq_max_log_rq_pkts(mdev, page_shift, xsk->unaligned)); in mlx5e_mpwrq_validate_xsk() 1130 .unaligned = false, in mlx5e_build_icosq_log_wq_sz() 1138 xsk.unaligned = true; in mlx5e_build_icosq_log_wq_sz()
|
| /linux/lib/crypto/arm/ |
| H A D | sha1-armv4-large.S | 93 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
|