/Linux-v6.6/fs/btrfs/tests/ |
D | free-space-tree-tests.c | 154 u32 alignment) in test_empty_block_group() argument 168 u32 alignment) in test_remove_all() argument 189 u32 alignment) in test_remove_beginning() argument 192 {cache->start + alignment, cache->length - alignment}, in test_remove_beginning() 197 cache->start, alignment); in test_remove_beginning() 212 u32 alignment) in test_remove_end() argument 215 {cache->start, cache->length - alignment}, in test_remove_end() 220 cache->start + cache->length - alignment, in test_remove_end() 221 alignment); in test_remove_end() 235 u32 alignment) in test_remove_middle() argument [all …]
|
/Linux-v6.6/tools/testing/selftests/exec/ |
D | load_address.c | 11 unsigned long long alignment; member 25 stats->alignment = 0; in ExtractStatistics() 31 if (info->dlpi_phdr[i].p_align > stats->alignment) in ExtractStatistics() 32 stats->alignment = info->dlpi_phdr[i].p_align; in ExtractStatistics() 50 if (extracted.alignment == 0) { in main() 51 fprintf(stderr, "No alignment found\n"); in main() 53 } else if (extracted.alignment & (extracted.alignment - 1)) { in main() 54 fprintf(stderr, "Alignment is not a power of 2\n"); in main() 58 misalign = extracted.load_address & (extracted.alignment - 1); in main() 60 printf("alignment = %llu, load_address = %llu\n", in main() [all …]
|
/Linux-v6.6/drivers/misc/ |
D | pci_endpoint_test.c | 119 size_t alignment; member 125 size_t alignment; member 330 struct pci_endpoint_test_xfer_param *param, size_t alignment) in pci_endpoint_test_validate_xfer_params() argument 337 if (param->size > SIZE_MAX - alignment) { in pci_endpoint_test_validate_xfer_params() 364 size_t alignment = test->alignment; in pci_endpoint_test_copy() local 376 err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); in pci_endpoint_test_copy() 391 orig_src_addr = kzalloc(size + alignment, GFP_KERNEL); in pci_endpoint_test_copy() 398 get_random_bytes(orig_src_addr, size + alignment); in pci_endpoint_test_copy() 400 size + alignment, DMA_TO_DEVICE); in pci_endpoint_test_copy() 407 if (alignment && !IS_ALIGNED(orig_src_phys_addr, alignment)) { in pci_endpoint_test_copy() [all …]
|
/Linux-v6.6/arch/mips/include/asm/octeon/ |
D | cvmx-bootmem.h | 41 /* minimum alignment of bootmem alloced blocks */ 158 * @alignment: Alignment required - must be power of 2 162 uint64_t alignment); 181 * @alignment: Alignment required - must be power of 2 186 extern void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, 200 * @align: Alignment of memory to be allocated. (must be a power of 2) 221 * @param align Alignment of memory to be allocated. (must be a power of 2) 251 * (optional) requested address and alignment. 261 * @alignment: Requested alignment of the block. If this alignment 263 * power of 2. (Note: Alignment of [all …]
|
/Linux-v6.6/drivers/gpu/drm/i915/ |
D | i915_gem_gtt.c | 162 * @alignment: required alignment of starting offset, may be 0 but 173 * is can insert the node. The hole address is aligned to @alignment and 193 u64 size, u64 alignment, unsigned long color, in i915_gem_gtt_insert() argument 204 GEM_BUG_ON(alignment && !is_power_of_2(alignment)); in i915_gem_gtt_insert() 205 GEM_BUG_ON(alignment && !IS_ALIGNED(alignment, I915_GTT_MIN_ALIGNMENT)); in i915_gem_gtt_insert() 215 if (unlikely(round_up(start, alignment) > round_down(end - size, alignment))) in i915_gem_gtt_insert() 225 * so we know that we always have a minimum alignment of 4096. in i915_gem_gtt_insert() 227 * with zero alignment, so where possible use the optimal in i915_gem_gtt_insert() 231 if (alignment <= I915_GTT_MIN_ALIGNMENT) in i915_gem_gtt_insert() 232 alignment = 0; in i915_gem_gtt_insert() [all …]
|
/Linux-v6.6/Documentation/ABI/testing/ |
D | sysfs-bus-iio-dma-buffer | 5 DMA buffers tend to have a alignment requirement for the 6 buffers. If this alignment requirement is not met samples might 9 This property reports the alignment requirements in bytes. 13 The alignment requirements in number of sample sets will depend 15 that the alignment requirement in samples sets might change 17 the alignment requirement reported in bytes by this property
|
/Linux-v6.6/drivers/gpu/drm/i915/display/ |
D | intel_fb_pin.c | 31 u32 alignment; in intel_pin_fb_obj_dpt() local 43 alignment = 4096 * 512; in intel_pin_fb_obj_dpt() 79 if (i915_vma_misplaced(vma, 0, alignment, 0)) { in intel_pin_fb_obj_dpt() 85 ret = i915_vma_pin_ww(vma, &ww, 0, alignment, PIN_GLOBAL); in intel_pin_fb_obj_dpt() 94 vma->display_alignment = max(vma->display_alignment, alignment); in intel_pin_fb_obj_dpt() 119 u32 alignment; in intel_pin_and_fence_fb_obj() local 126 alignment = intel_cursor_alignment(dev_priv); in intel_pin_and_fence_fb_obj() 128 alignment = intel_surf_alignment(fb, 0); in intel_pin_and_fence_fb_obj() 129 if (drm_WARN_ON(dev, alignment && !is_power_of_2(alignment))) in intel_pin_and_fence_fb_obj() 137 if (intel_scanout_needs_vtd_wa(dev_priv) && alignment < 256 * 1024) in intel_pin_and_fence_fb_obj() [all …]
|
/Linux-v6.6/arch/mips/cavium-octeon/executive/ |
D | cvmx-bootmem.c | 128 * @alignment: Alignment required - must be power of 2 131 static void *cvmx_bootmem_alloc_range(uint64_t size, uint64_t alignment, in cvmx_bootmem_alloc_range() argument 136 cvmx_bootmem_phy_alloc(size, min_addr, max_addr, alignment, 0); in cvmx_bootmem_alloc_range() 145 uint64_t alignment) in cvmx_bootmem_alloc_address() argument 147 return cvmx_bootmem_alloc_range(size, alignment, address, in cvmx_bootmem_alloc_address() 165 void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, char *name) in cvmx_bootmem_alloc_named() argument 167 return cvmx_bootmem_alloc_named_range(size, 0, 0, alignment, name); in cvmx_bootmem_alloc_named() 218 uint64_t address_max, uint64_t alignment, in cvmx_bootmem_phy_alloc() argument 235 (unsigned long long)alignment); in cvmx_bootmem_phy_alloc() 259 /* Round req_size up to mult of minimum alignment bytes */ in cvmx_bootmem_phy_alloc() [all …]
|
/Linux-v6.6/arch/powerpc/lib/ |
D | rheap.c | 253 rh_info_t *rh_create(unsigned int alignment) in rh_create() argument 257 /* Alignment must be a power of two */ in rh_create() 258 if ((alignment & (alignment - 1)) != 0) in rh_create() 265 info->alignment = alignment; in rh_create() 300 void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, in rh_init() argument 306 /* Alignment must be a power of two */ in rh_init() 307 if ((alignment & (alignment - 1)) != 0) in rh_init() 310 info->alignment = alignment; in rh_init() 338 m = info->alignment - 1; in rh_attach_region() 383 m = info->alignment - 1; in rh_detach_region() [all …]
|
/Linux-v6.6/Documentation/arch/arm/ |
D | mem_alignment.rst | 2 Memory alignment 6 kernel code lately. Therefore the alignment fixup is now unconditionally 13 Of course this is a bad idea to rely on the alignment trap to perform 16 alignment trap can fixup misaligned access for the exception cases, but at 19 Now for user space applications, it is possible to configure the alignment 30 To change the alignment trap behavior, simply echo a number into 31 /proc/cpu/alignment. The number is made up from various bits: 56 echo 1 > /proc/cpu/alignment
|
/Linux-v6.6/arch/parisc/include/asm/ |
D | ldcw.h | 5 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data, 6 and GCC only guarantees 8-byte alignment for stack locals, we can't 7 be assured of 16-byte alignment for atomic lock data even if we 16 16-byte alignment requirement for ldcw and ldcd is relaxed, and instead 17 they only require "natural" alignment (4-byte for ldcw, 8-byte for 22 require 16-byte alignment. If the address is unaligned, the operation 25 This hid the problem for years. So, restore the 16-byte alignment dropped
|
/Linux-v6.6/drivers/firmware/efi/libstub/ |
D | relocate.c | 11 * @align: minimum alignment of the allocated memory area. It should 36 * Enforce minimum alignment that EFI or Linux requires when in efi_low_alloc_above() 39 * alignment constraints. in efi_low_alloc_above() 96 * @alignment: minimum alignment of the allocated memory area. It 101 * to @alignment but at least EFI_ALLOC_ALIGN. If the preferred address 114 unsigned long alignment, in efi_relocate_kernel() argument 136 * as possible while respecting the required alignment. in efi_relocate_kernel() 147 status = efi_low_alloc_above(alloc_size, alignment, &new_addr, in efi_relocate_kernel()
|
/Linux-v6.6/Documentation/core-api/ |
D | unaligned-memory-access.rst | 36 Natural alignment 39 The rule mentioned above forms what we refer to as natural alignment: 43 When writing code, assume the target architecture has natural alignment 46 In reality, only a few architectures require natural alignment on all sizes 48 writing code that satisfies natural alignment requirements is the easiest way 100 Fortunately, the compiler understands the alignment constraints, so in the 126 For a natural alignment scheme, the compiler would only have to add a single 128 to satisfy alignment constraints for arrays of these structures. 137 architectural alignment requirements. However, again, the compiler is aware 138 of the alignment constraints and will generate extra instructions to perform [all …]
|
/Linux-v6.6/mm/ |
D | cma.c | 190 /* alignment should be aligned with order_per_bit */ in cma_init_reserved_mem() 194 /* ensure minimal alignment required by mm core */ in cma_init_reserved_mem() 224 * @alignment: Alignment for the CMA area, should be power of 2 or zero 241 phys_addr_t alignment, unsigned int order_per_bit, in cma_declare_contiguous_nid() argument 256 pr_debug("%s(size %pa, base %pa, limit %pa alignment %pa)\n", in cma_declare_contiguous_nid() 257 __func__, &size, &base, &limit, &alignment); in cma_declare_contiguous_nid() 267 if (alignment && !is_power_of_2(alignment)) in cma_declare_contiguous_nid() 274 alignment = max_t(phys_addr_t, alignment, CMA_MIN_ALIGNMENT_BYTES); in cma_declare_contiguous_nid() 275 if (fixed && base & (alignment - 1)) { in cma_declare_contiguous_nid() 278 &base, &alignment); in cma_declare_contiguous_nid() [all …]
|
/Linux-v6.6/block/ |
D | blk-settings.c | 373 * blk_queue_alignment_offset - set physical block alignment offset 375 * @offset: alignment offset in bytes 494 unsigned int alignment = sector_div(sector, granularity >> SECTOR_SHIFT) in queue_limit_alignment_offset() local 497 return (granularity + lim->alignment_offset - alignment) % granularity; in queue_limit_alignment_offset() 503 unsigned int alignment, granularity, offset; in queue_limit_discard_alignment() local 509 alignment = lim->discard_alignment >> SECTOR_SHIFT; in queue_limit_discard_alignment() 518 offset = (granularity + alignment - offset) % granularity; in queue_limit_discard_alignment() 544 * attempt to combine the values and ensure proper alignment. 547 * top device's block sizes and alignment offsets may be adjusted to 548 * ensure alignment with the bottom device. If no compatible sizes [all …]
|
/Linux-v6.6/arch/x86/ |
D | Makefile | 34 # For gcc stack alignment is specified with -mpreferred-stack-boundary, 35 # clang has the option -mstack-alignment for that purpose. 39 else ifneq ($(call cc-option, -mstack-alignment=16),) 40 cc_stack_align4 := -mstack-alignment=4 41 cc_stack_align8 := -mstack-alignment=8 103 # alignment of 16 bytes. This reduces stack usage and the number of 104 # alignment instructions. 139 # By default gcc and clang use a stack alignment of 16 bytes for x86. 142 # alignment it will generate extra alignment instructions for the 143 # default alignment which keep the stack *mis*aligned. [all …]
|
/Linux-v6.6/arch/um/drivers/ |
D | cow_user.c | 58 * Add alignment field so that different alignments can be used for the 65 * by the bitmap alignment. 67 * by the alignment field. This is to allow COW files to be 69 * /dev/raw, with a 512 byte alignment restriction. This also 79 * align size to 8-byte alignment. This shifted all fields above (no padding 92 __u32 alignment; member 104 __u32 alignment; member 198 int sectorsize, int alignment, unsigned long long *size) in write_cow_header() argument 252 header->alignment = htobe32(alignment); in write_cow_header() 347 *align_out = be32toh(header->v3.alignment); in read_cow_header() [all …]
|
/Linux-v6.6/arch/sh/lib/ |
D | checksum.S | 45 * Fortunately, it is easy to convert 2-byte alignment to 4-byte 46 * alignment for the unrolled loop. 49 tst #3, r0 ! Check alignment. 50 bt/s 2f ! Jump if alignment is ok. 51 mov r4, r7 ! Keep a copy to check for alignment 53 tst #1, r0 ! Check alignment. 54 bt 21f ! Jump if alignment is boundary of 2bytes. 73 add #-2, r5 ! Alignment uses up two bytes. 207 tst r0,r5 ! Check dest alignment. 208 bt 2f ! Jump if alignment is ok. [all …]
|
/Linux-v6.6/arch/xtensa/lib/ |
D | memset.S | 30 * the alignment labels). 45 movi a6, 3 # for alignment tests 57 .align 4 # 1 mod 4 alignment for LOOPNEZ 58 .byte 0 # (0 mod 4 alignment for LBEG) 106 bbci.l a5, 0, .L20 # branch if dst alignment half-aligned 126 .byte 0 # 1 mod 4 alignment for LOOPNEZ 127 # (0 mod 4 alignment for LBEG)
|
/Linux-v6.6/drivers/bluetooth/ |
D | hci_h4.c | 159 u8 alignment = hu->alignment ? hu->alignment : 1; in h4_recv_buf() local 255 hu->padding = (skb->len + 1) % alignment; in h4_recv_buf() 256 hu->padding = (alignment - hu->padding) % alignment; in h4_recv_buf() 263 hu->padding = (skb->len + 1) % alignment; in h4_recv_buf() 264 hu->padding = (alignment - hu->padding) % alignment; in h4_recv_buf()
|
/Linux-v6.6/drivers/mtd/ubi/ |
D | vmt.c | 34 __ATTR(alignment, S_IRUGO, vol_attribute_show, NULL); 85 ret = sprintf(buf, "%d\n", vol->alignment); in vol_attribute_show() 201 vol->usable_leb_size = ubi->leb_size - ubi->leb_size % req->alignment; in ubi_create_volume() 220 vol->alignment = req->alignment; in ubi_create_volume() 221 vol->data_pad = ubi->leb_size % vol->alignment; in ubi_create_volume() 279 vtbl_rec.alignment = cpu_to_be32(vol->alignment); in ubi_create_volume() 633 int reserved_pebs, alignment, data_pad, vol_type, name_len, upd_marker; in self_check_volume() local 651 if (vol->reserved_pebs < 0 || vol->alignment < 0 || vol->data_pad < 0 || in self_check_volume() 656 if (vol->alignment > ubi->leb_size || vol->alignment == 0) { in self_check_volume() 657 ubi_err(ubi, "bad alignment"); in self_check_volume() [all …]
|
/Linux-v6.6/lib/ |
D | ubsan.c | 73 * SanitizerKind::Alignment emits SanitizerHandler::TypeMismatch in report_ubsan_failure() 77 return "UBSAN: alignment assumption"; in report_ubsan_failure() 273 pr_err("which requires %ld byte alignment\n", data->alignment); in handle_misaligned_access() 299 else if (data->alignment && !IS_ALIGNED(ptr, data->alignment)) in ubsan_type_mismatch_common() 313 .alignment = data->alignment, in __ubsan_handle_type_mismatch() 327 .alignment = 1UL << data->log_alignment, in __ubsan_handle_type_mismatch_v1() 436 ubsan_prologue(&data->location, "alignment-assumption"); in __ubsan_handle_alignment_assumption() 439 pr_err("assumption of %lu byte alignment (with offset of %lu byte) for pointer of type %s failed", in __ubsan_handle_alignment_assumption() 442 pr_err("assumption of %lu byte alignment for pointer of type %s failed", in __ubsan_handle_alignment_assumption()
|
/Linux-v6.6/arch/powerpc/include/asm/ |
D | rheap.h | 27 unsigned int alignment; member 50 extern rh_info_t *rh_create(unsigned int alignment); 56 extern void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, 65 /* Allocate the given size from the remote heap (with alignment) */ 66 extern unsigned long rh_alloc_align(rh_info_t * info, int size, int alignment,
|
/Linux-v6.6/include/linux/mtd/ |
D | ubi.h | 52 * @alignment: volume alignment 88 * because of the volume alignment (@alignment), the usable size of logical 90 * @usable_leb_size = LEB size - (LEB size mod @alignment), 93 * The alignment is multiple to the minimal flash input/output unit size or %1 96 * To put this differently, alignment may be considered is a way to change 108 int alignment; member 159 * alignment is not equivalent to %1.
|
/Linux-v6.6/drivers/gpu/drm/ |
D | drm_mm.c | 81 * drm_mm supports a few features: Alignment and range restrictions can be 503 * @alignment: alignment of the allocation 516 u64 size, u64 alignment, in drm_mm_insert_node_in_range() argument 533 if (alignment <= 1) in drm_mm_insert_node_in_range() 534 alignment = 0; in drm_mm_insert_node_in_range() 539 remainder_mask = is_power_of_2(alignment) ? alignment - 1 : 0; in drm_mm_insert_node_in_range() 568 if (alignment) { in drm_mm_insert_node_in_range() 574 div64_u64_rem(adj_start, alignment, &rem); in drm_mm_insert_node_in_range() 578 adj_start += alignment; in drm_mm_insert_node_in_range() 723 * @alignment: alignment of the allocation [all …]
|