Lines Matching refs:va
349 static inline phys_addr_t __init alloc_pte_early(uintptr_t va)
358 static inline phys_addr_t __init alloc_pte_fixmap(uintptr_t va)
363 static phys_addr_t __init alloc_pte_late(uintptr_t va)
372 uintptr_t va, phys_addr_t pa,
375 uintptr_t pte_idx = pte_index(va);
432 static phys_addr_t __init alloc_pmd_early(uintptr_t va)
434 BUG_ON((va - kernel_map.virt_addr) >> PUD_SHIFT);
439 static phys_addr_t __init alloc_pmd_fixmap(uintptr_t va)
444 static phys_addr_t __init alloc_pmd_late(uintptr_t va)
453 uintptr_t va, phys_addr_t pa,
458 uintptr_t pmd_idx = pmd_index(va);
467 pte_phys = pt_ops.alloc_pte(va);
476 create_pte_mapping(ptep, va, pa, sz, prot);
495 static phys_addr_t __init alloc_pud_early(uintptr_t va)
498 BUG_ON((va - kernel_map.virt_addr) >> PGDIR_SHIFT);
503 static phys_addr_t __init alloc_pud_fixmap(uintptr_t va)
508 static phys_addr_t alloc_pud_late(uintptr_t va)
533 static phys_addr_t __init alloc_p4d_early(uintptr_t va)
536 BUG_ON((va - kernel_map.virt_addr) >> PGDIR_SHIFT);
541 static phys_addr_t __init alloc_p4d_fixmap(uintptr_t va)
546 static phys_addr_t alloc_p4d_late(uintptr_t va)
556 uintptr_t va, phys_addr_t pa,
561 uintptr_t pud_index = pud_index(va);
570 next_phys = pt_ops.alloc_pmd(va);
579 create_pmd_mapping(nextp, va, pa, sz, prot);
583 uintptr_t va, phys_addr_t pa,
588 uintptr_t p4d_index = p4d_index(va);
597 next_phys = pt_ops.alloc_pud(va);
606 create_pud_mapping(nextp, va, pa, sz, prot);
641 uintptr_t va, phys_addr_t pa,
646 uintptr_t pgd_idx = pgd_index(va);
655 next_phys = alloc_pgd_next(va);
664 create_pgd_next_mapping(nextp, va, pa, sz, prot);
667 static uintptr_t __init best_map_size(phys_addr_t pa, uintptr_t va,
670 if (!(pa & (PGDIR_SIZE - 1)) && !(va & (PGDIR_SIZE - 1)) && size >= PGDIR_SIZE)
673 if (!(pa & (P4D_SIZE - 1)) && !(va & (P4D_SIZE - 1)) && size >= P4D_SIZE)
676 if (!(pa & (PUD_SIZE - 1)) && !(va & (PUD_SIZE - 1)) && size >= PUD_SIZE)
679 if (!(pa & (PMD_SIZE - 1)) && !(va & (PMD_SIZE - 1)) && size >= PMD_SIZE)
701 static __init pgprot_t pgprot_from_va(uintptr_t va)
703 if (is_va_kernel_text(va))
712 if (IS_ENABLED(CONFIG_64BIT) && is_va_kernel_lm_alias_text(va))
728 static __init pgprot_t pgprot_from_va(uintptr_t va)
730 if (IS_ENABLED(CONFIG_64BIT) && !is_kernel_mapping(va))
892 uintptr_t va, end_va;
896 for (va = kernel_map.virt_addr; va < end_va; va += PMD_SIZE)
897 create_pgd_mapping(pgdir, va,
898 kernel_map.xiprom + (va - kernel_map.virt_addr),
903 for (va = kernel_map.virt_addr + XIP_OFFSET; va < end_va; va += PMD_SIZE)
904 create_pgd_mapping(pgdir, va,
905 kernel_map.phys_addr + (va - (kernel_map.virt_addr + XIP_OFFSET)),
911 uintptr_t va, end_va;
914 for (va = kernel_map.virt_addr; va < end_va; va += PMD_SIZE)
915 create_pgd_mapping(pgdir, va,
916 kernel_map.phys_addr + (va - kernel_map.virt_addr),
919 PAGE_KERNEL_EXEC : pgprot_from_va(va));
1219 uintptr_t va, map_size;
1222 va = (uintptr_t)__va(pa);
1224 best_map_size(pa, va, end - pa);
1226 create_pgd_mapping(swapper_pg_dir, va, pa, map_size,
1227 pgprot_from_va(va));