*参照元 [#o0897292]
#backlinks

*説明 [#r00877f2]
-パス: [[linux-4.4.1/lib/ioremap.c]]

-FIXME: これは何?
--説明


**引数 [#mc3dff01]
-unsigned long addr
--
-unsigned long end
--
-phys_addr_t phys_addr
--
--[[linux-4.4.1/phys_addr_t]]
-pgprot_t prot
--
--[[linux-4.4.1/pgprot_t]]


**返り値 [#y53f257e]
-int
--


**参考 [#t229ffae]


*実装 [#fe20ac50]
 int ioremap_page_range(unsigned long addr,
                        unsigned long end, phys_addr_t phys_addr, pgprot_t prot)
 {
         pgd_t *pgd;
         unsigned long start;
         unsigned long next;
         int err;
 
-
--[[linux-4.4.1/pgd_t]]

         BUG_ON(addr >= end);
 
-
--[[linux-4.4.1/BUG_ON()]]

         start = addr;
         phys_addr -= addr;
         pgd = pgd_offset_k(addr);
-
--[[linux-4.4.1/pgd_offset_k()]]

         do {
                 next = pgd_addr_end(addr, end);
                 err = ioremap_pud_range(pgd, addr, next, phys_addr+addr, prot);
                 if (err)
                         break;
-
--[[linux-4.4.1/pgd_addr_end()]]
--[[linux-4.4.1/ioremap_pud_range()]]

         } while (pgd++, addr = next, addr != end);
 
         flush_cache_vmap(start, end);
 
-
--[[linux-4.4.1/flush_cache_vmap()]]

         return err;
 }
 EXPORT_SYMBOL_GPL(ioremap_page_range);
-
--[[linux-4.4.1/EXPORT_SYMBOL_GPL()]]


*コメント [#y682e064]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS