*参照元 [#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]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS