Loading arch/arm64/mm/mmu.c +8 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,10 @@ int __init arch_ioremap_pmd_supported(void) int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot) { /* ioremap_page_range doesn't honour BBM */ if (pud_present(READ_ONCE(*pud))) return 0; BUG_ON(phys & ~PUD_MASK); set_pud(pud, __pud(phys | PUD_TYPE_SECT | pgprot_val(mk_sect_prot(prot)))); return 1; Loading @@ -830,6 +834,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot) int pmd_set_huge(pmd_t *pmd, phys_addr_t phys, pgprot_t prot) { /* ioremap_page_range doesn't honour BBM */ if (pmd_present(READ_ONCE(*pmd))) return 0; BUG_ON(phys & ~PMD_MASK); set_pmd(pmd, __pmd(phys | PMD_TYPE_SECT | pgprot_val(mk_sect_prot(prot)))); return 1; Loading Loading
arch/arm64/mm/mmu.c +8 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,10 @@ int __init arch_ioremap_pmd_supported(void) int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot) { /* ioremap_page_range doesn't honour BBM */ if (pud_present(READ_ONCE(*pud))) return 0; BUG_ON(phys & ~PUD_MASK); set_pud(pud, __pud(phys | PUD_TYPE_SECT | pgprot_val(mk_sect_prot(prot)))); return 1; Loading @@ -830,6 +834,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot) int pmd_set_huge(pmd_t *pmd, phys_addr_t phys, pgprot_t prot) { /* ioremap_page_range doesn't honour BBM */ if (pmd_present(READ_ONCE(*pmd))) return 0; BUG_ON(phys & ~PMD_MASK); set_pmd(pmd, __pmd(phys | PMD_TYPE_SECT | pgprot_val(mk_sect_prot(prot)))); return 1; Loading