Lines Matching +full:dma +full:- +full:safe +full:- +full:map
1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 1995-2005 Russell King
21 #include <linux/dma-map-ops.h>
27 #include <asm/mach-types.h>
40 #include <asm/mach/map.h>
57 phys_initrd_start = __virt_to_phys(tag->u.initrd.start); in parse_tag_initrd()
58 phys_initrd_size = tag->u.initrd.size; in parse_tag_initrd()
66 phys_initrd_start = tag->u.initrd.start; in parse_tag_initrd2()
67 phys_initrd_size = tag->u.initrd.size; in parse_tag_initrd2()
88 * The DMA mask corresponding to the maximum bus address allocatable
89 * using GFP_DMA. The default here places no restriction on DMA
90 * allocations. This must be the smallest DMA mask in the system,
100 if (mdesc->dma_zone_size) { in setup_dma_zone()
101 arm_dma_zone_size = mdesc->dma_zone_size; in setup_dma_zone()
102 arm_dma_limit = PHYS_OFFSET + arm_dma_zone_size - 1; in setup_dma_zone()
135 * memory chunk there still will be a memory map entry for it in pfn_valid()
136 * because we round freed memory map to the pageblock boundaries. in pfn_valid()
185 size = phys_initrd_size + (phys_initrd_start - start); in arm_initrd_init()
189 pr_err("INITRD: 0x%08llx+0x%08lx is not a memory region - disabling initrd\n", in arm_initrd_init()
195 pr_err("INITRD: 0x%08llx+0x%08lx overlaps in-use memory region - disabling initrd\n", in arm_initrd_init()
217 pr_info("CPU%u: detected I-Cache line size mismatch, workaround enabled\n", in check_cpu_icache_size()
227 memblock_reserve(__pa(KERNEL_START), KERNEL_END - KERNEL_START); in arm_memblock_init()
234 if (mdesc->reserve) in arm_memblock_init()
235 mdesc->reserve(); in arm_memblock_init()
239 /* reserve memory for DMA contiguous allocations */ in arm_memblock_init()
262 * Now free the memory - free_area_init needs in bootmem_init()
276 for (; count != 0; count -= 4) in poison_init_mem()
322 set_max_mapnr(pfn_to_page(max_pfn) - mem_map); in mem_init()
328 /* now that our DMA memory is actually so designated, we can free it */ in mem_init()
329 free_reserved_area(__va(PHYS_OFFSET), swapper_pg_dir, -1, NULL); in mem_init()
359 /* First section-aligned location at or after __start_rodata. */
365 .name = "pre-text NX",
409 * safe to be called with preemption disabled, as under stop_machine().
451 pr_err("BUG: %s section %lx-%lx not aligned to %lx\n", in set_section_perms()
476 if (t->flags & PF_KTHREAD) in update_sections_early()
479 if (s->mm) in update_sections_early()
480 set_section_perms(perms, n, true, s->mm); in update_sections_early()
482 set_section_perms(perms, n, true, current->active_mm); in update_sections_early()
517 poison_init_mem(__init_begin, __init_end - __init_begin); in free_initmem()
519 free_initmem_default(-1); in free_initmem()
530 poison_init_mem((void *)start, PAGE_ALIGN(end) - start); in free_initrd_mem()
531 free_reserved_area((void *)start, (void *)end, -1, "initrd"); in free_initrd_mem()