linux-4.4.1/ioremap_pte_range()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#hb2e42c0]
#backlinks
*説明 [#n6397bee]
-パス: [[linux-4.4.1/lib/ioremap.c]]
-FIXME: これは何?
--説明
**引数 [#x2c8d29a]
-pmd_t *pmd
--
--[[linux-4.4.1/pmd_t]]
-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]]
**返り値 [#da4be3f3]
-int
--
**参考 [#x2d307c1]
*実装 [#r3937e9f]
static int ioremap_pte_range(pmd_t *pmd, unsigned long a...
unsigned long end, phys_addr_t phys_addr...
{
pte_t *pte;
u64 pfn;
-
--[[linux-4.4.1/pte_t]]
pfn = phys_addr >> PAGE_SHIFT;
pte = pte_alloc_kernel(pmd, addr);
if (!pte)
return -ENOMEM;
-
--[[linux-4.4.1/pte_alloc_kernel()]]
do {
BUG_ON(!pte_none(*pte));
-
--[[linux-4.4.1/BUG_ON()]]
--[[linux-4.4.1/pte_none()]]
set_pte_at(&init_mm, addr, pte, pfn_pte(...
pfn++;
-
--[[linux-4.4.1/set_pte_at()]]
--[[linux-4.4.1/init_mm(global)]]
--[[linux-4.4.1/pfn_pte()]]
} while (pte++, addr += PAGE_SIZE, addr != end);
return 0;
}
*コメント [#c9f9a160]
終了行:
*参照元 [#hb2e42c0]
#backlinks
*説明 [#n6397bee]
-パス: [[linux-4.4.1/lib/ioremap.c]]
-FIXME: これは何?
--説明
**引数 [#x2c8d29a]
-pmd_t *pmd
--
--[[linux-4.4.1/pmd_t]]
-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]]
**返り値 [#da4be3f3]
-int
--
**参考 [#x2d307c1]
*実装 [#r3937e9f]
static int ioremap_pte_range(pmd_t *pmd, unsigned long a...
unsigned long end, phys_addr_t phys_addr...
{
pte_t *pte;
u64 pfn;
-
--[[linux-4.4.1/pte_t]]
pfn = phys_addr >> PAGE_SHIFT;
pte = pte_alloc_kernel(pmd, addr);
if (!pte)
return -ENOMEM;
-
--[[linux-4.4.1/pte_alloc_kernel()]]
do {
BUG_ON(!pte_none(*pte));
-
--[[linux-4.4.1/BUG_ON()]]
--[[linux-4.4.1/pte_none()]]
set_pte_at(&init_mm, addr, pte, pfn_pte(...
pfn++;
-
--[[linux-4.4.1/set_pte_at()]]
--[[linux-4.4.1/init_mm(global)]]
--[[linux-4.4.1/pfn_pte()]]
} while (pte++, addr += PAGE_SIZE, addr != end);
return 0;
}
*コメント [#c9f9a160]
ページ名: