Lines Matching full:va
394 static inline phys_addr_t __init alloc_pte_early(uintptr_t va) in alloc_pte_early() argument
403 static inline phys_addr_t __init alloc_pte_fixmap(uintptr_t va) in alloc_pte_fixmap() argument
408 static phys_addr_t __meminit alloc_pte_late(uintptr_t va) in alloc_pte_late() argument
416 static void __meminit create_pte_mapping(pte_t *ptep, uintptr_t va, phys_addr_t pa, phys_addr_t sz, in create_pte_mapping() argument
419 uintptr_t pte_idx = pte_index(va); in create_pte_mapping()
476 static phys_addr_t __init alloc_pmd_early(uintptr_t va) in alloc_pmd_early() argument
478 BUG_ON((va - kernel_map.virt_addr) >> PUD_SHIFT); in alloc_pmd_early()
483 static phys_addr_t __init alloc_pmd_fixmap(uintptr_t va) in alloc_pmd_fixmap() argument
488 static phys_addr_t __meminit alloc_pmd_late(uintptr_t va) in alloc_pmd_late() argument
497 uintptr_t va, phys_addr_t pa, in create_pmd_mapping() argument
502 uintptr_t pmd_idx = pmd_index(va); in create_pmd_mapping()
511 pte_phys = pt_ops.alloc_pte(va); in create_pmd_mapping()
520 create_pte_mapping(ptep, va, pa, sz, prot); in create_pmd_mapping()
539 static phys_addr_t __init alloc_pud_early(uintptr_t va) in alloc_pud_early() argument
542 BUG_ON((va - kernel_map.virt_addr) >> PGDIR_SHIFT); in alloc_pud_early()
547 static phys_addr_t __init alloc_pud_fixmap(uintptr_t va) in alloc_pud_fixmap() argument
552 static phys_addr_t __meminit alloc_pud_late(uintptr_t va) in alloc_pud_late() argument
577 static phys_addr_t __init alloc_p4d_early(uintptr_t va) in alloc_p4d_early() argument
580 BUG_ON((va - kernel_map.virt_addr) >> PGDIR_SHIFT); in alloc_p4d_early()
585 static phys_addr_t __init alloc_p4d_fixmap(uintptr_t va) in alloc_p4d_fixmap() argument
590 static phys_addr_t __meminit alloc_p4d_late(uintptr_t va) in alloc_p4d_late() argument
599 static void __meminit create_pud_mapping(pud_t *pudp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, in create_pud_mapping() argument
604 uintptr_t pud_index = pud_index(va); in create_pud_mapping()
613 next_phys = pt_ops.alloc_pmd(va); in create_pud_mapping()
622 create_pmd_mapping(nextp, va, pa, sz, prot); in create_pud_mapping()
625 static void __meminit create_p4d_mapping(p4d_t *p4dp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, in create_p4d_mapping() argument
630 uintptr_t p4d_index = p4d_index(va); in create_p4d_mapping()
639 next_phys = pt_ops.alloc_pud(va); in create_p4d_mapping()
648 create_pud_mapping(nextp, va, pa, sz, prot); in create_p4d_mapping()
682 void __meminit create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, in create_pgd_mapping() argument
687 uintptr_t pgd_idx = pgd_index(va); in create_pgd_mapping()
696 next_phys = alloc_pgd_next(va); in create_pgd_mapping()
705 create_pgd_next_mapping(nextp, va, pa, sz, prot); in create_pgd_mapping()
708 static uintptr_t __meminit best_map_size(phys_addr_t pa, uintptr_t va, phys_addr_t size) in best_map_size() argument
714 !(pa & (P4D_SIZE - 1)) && !(va & (P4D_SIZE - 1)) && size >= P4D_SIZE) in best_map_size()
718 !(pa & (PUD_SIZE - 1)) && !(va & (PUD_SIZE - 1)) && size >= PUD_SIZE) in best_map_size()
722 !(pa & (PMD_SIZE - 1)) && !(va & (PMD_SIZE - 1)) && size >= PMD_SIZE) in best_map_size()
744 static __meminit pgprot_t pgprot_from_va(uintptr_t va) in pgprot_from_va() argument
746 if (is_va_kernel_text(va)) in pgprot_from_va()
755 if (IS_ENABLED(CONFIG_64BIT) && is_va_kernel_lm_alias_text(va)) in pgprot_from_va()
769 static __meminit pgprot_t pgprot_from_va(uintptr_t va) in pgprot_from_va() argument
771 if (IS_ENABLED(CONFIG_64BIT) && !is_kernel_mapping(va)) in pgprot_from_va()
938 uintptr_t va, start_va, end_va; in create_kernel_page_table() local
942 for (va = kernel_map.virt_addr; va < end_va; va += PMD_SIZE) in create_kernel_page_table()
943 create_pgd_mapping(pgdir, va, in create_kernel_page_table()
944 kernel_map.xiprom + (va - kernel_map.virt_addr), in create_kernel_page_table()
950 for (va = start_va; va < end_va; va += PMD_SIZE) in create_kernel_page_table()
951 create_pgd_mapping(pgdir, va, in create_kernel_page_table()
952 kernel_map.phys_addr + (va - start_va), in create_kernel_page_table()
958 uintptr_t va, end_va; in create_kernel_page_table() local
961 for (va = kernel_map.virt_addr; va < end_va; va += PMD_SIZE) in create_kernel_page_table()
962 create_pgd_mapping(pgdir, va, in create_kernel_page_table()
963 kernel_map.phys_addr + (va - kernel_map.virt_addr), in create_kernel_page_table()
966 PAGE_KERNEL_EXEC : pgprot_from_va(va)); in create_kernel_page_table()
1268 uintptr_t va, map_size; in create_linear_mapping_range() local
1271 va = (uintptr_t)__va(pa); in create_linear_mapping_range()
1273 best_map_size(pa, va, end - pa); in create_linear_mapping_range()
1275 create_pgd_mapping(swapper_pg_dir, va, pa, map_size, in create_linear_mapping_range()
1276 pgprot ? *pgprot : pgprot_from_va(va)); in create_linear_mapping_range()
1761 static void __meminit remove_pgd_mapping(unsigned long va, unsigned long end, bool is_vmemmap, in remove_pgd_mapping() argument
1768 for (addr = va; addr < end; addr = next) { in remove_pgd_mapping()
1787 unsigned long va = (unsigned long)__va(start); in remove_linear_mapping() local
1790 remove_pgd_mapping(va, end, false, NULL); in remove_linear_mapping()