- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#e2faba39]
#backlinks
*説明 [#m22686fa]
-パス: [[linux-4.4.1/lib/ioremap.c]]
-FIXME: これは何?
--説明
**引数 [#c95b51a5]
-
--
**返り値 [#u3192ecd]
-
--
**参考 [#da72efdf]
*実装 [#k3402924]
static inline int ioremap_pmd_range(pud_t *pud, unsigned long addr,
unsigned long end, phys_addr_t phys_addr, pgprot_t prot)
{
pmd_t *pmd;
unsigned long next;
phys_addr -= addr;
pmd = pmd_alloc(&init_mm, pud, addr);
if (!pmd)
return -ENOMEM;
do {
next = pmd_addr_end(addr, end);
if (ioremap_pmd_enabled() &&
((next - addr) == PMD_SIZE) &&
IS_ALIGNED(phys_addr + addr, PMD_SIZE)) {
if (pmd_set_huge(pmd, phys_addr + addr, prot))
continue;
}
if (ioremap_pte_range(pmd, addr, next, phys_addr + addr, prot))
return -ENOMEM;
} while (pmd++, addr = next, addr != end);
return 0;
}
*コメント [#gaacbf7c]