Loading arch/arm64/mm/mmu.c +8 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,14 @@ static phys_addr_t pgd_pgtable_alloc(int shift) return pa; } void create_pgtable_mapping(phys_addr_t start, phys_addr_t end) { unsigned long virt = (unsigned long)phys_to_virt(start); __create_pgd_mapping(init_mm.pgd, start, virt, end - start, PAGE_KERNEL, NULL, 0); } /* * This function can only be used to modify existing table entries, * without allocating new levels of table. Note that this permits the Loading include/linux/memblock.h +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ void __next_reserved_mem_region(u64 *idx, phys_addr_t *out_start, phys_addr_t *out_end); void __memblock_free_late(phys_addr_t base, phys_addr_t size); void create_pgtable_mapping(phys_addr_t start, phys_addr_t end); /** * for_each_mem_range - iterate through memblock areas from type_a and not * included in type_b. Or just type_a if type_b is NULL. Loading Loading
arch/arm64/mm/mmu.c +8 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,14 @@ static phys_addr_t pgd_pgtable_alloc(int shift) return pa; } void create_pgtable_mapping(phys_addr_t start, phys_addr_t end) { unsigned long virt = (unsigned long)phys_to_virt(start); __create_pgd_mapping(init_mm.pgd, start, virt, end - start, PAGE_KERNEL, NULL, 0); } /* * This function can only be used to modify existing table entries, * without allocating new levels of table. Note that this permits the Loading
include/linux/memblock.h +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ void __next_reserved_mem_region(u64 *idx, phys_addr_t *out_start, phys_addr_t *out_end); void __memblock_free_late(phys_addr_t base, phys_addr_t size); void create_pgtable_mapping(phys_addr_t start, phys_addr_t end); /** * for_each_mem_range - iterate through memblock areas from type_a and not * included in type_b. Or just type_a if type_b is NULL. Loading