linux-2.6.33/make_pages_present()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#gd28b136]
#backlinks
*説明 [#hfc01913]
-パス: [[linux-2.6.33/mm/memory.c]]
-FIXME: これは何?
--説明
**引数 [#s97f4e9e]
-unsigned long addr
--
-unsigned long end
--
**返り値 [#y5c8041f]
-int
--成功したときは 0、エラーが起きたときは負のエラー値。
**参考 [#j16d3387]
*実装 [#nad19021]
int make_pages_present(unsigned long addr, unsigned long...
{
int ret, len, write;
struct vm_area_struct * vma;
-
--[[linux-2.6.33/vm_area_struct]]
vma = find_vma(current->mm, addr);
if (!vma)
return -ENOMEM;
-
--[[linux-2.6.33/find_vma()]]
-
--[[linux-2.6.33/current(global)]]
write = (vma->vm_flags & VM_WRITE) != 0;
BUG_ON(addr >= end);
BUG_ON(end > vma->vm_end);
-
--[[linux-2.6.33/VM_WRITE]]
-
--[[linux-2.6.33/BUG_ON()]]
len = DIV_ROUND_UP(end, PAGE_SIZE) - addr/PAGE_SIZE;
ret = get_user_pages(current, current->mm, addr,
len, write, 0, NULL, NULL);
if (ret < 0)
return ret;
-
--[[linux-2.6.33/DIV_ROUND_UP()]]
-
--[[linux-2.6.33/PAGE_SIZE]]
-
--[[linux-2.6.33/get_user_pages()]]
return ret == len ? 0 : -EFAULT;
}
*コメント [#d4b4a5cd]
終了行:
*参照元 [#gd28b136]
#backlinks
*説明 [#hfc01913]
-パス: [[linux-2.6.33/mm/memory.c]]
-FIXME: これは何?
--説明
**引数 [#s97f4e9e]
-unsigned long addr
--
-unsigned long end
--
**返り値 [#y5c8041f]
-int
--成功したときは 0、エラーが起きたときは負のエラー値。
**参考 [#j16d3387]
*実装 [#nad19021]
int make_pages_present(unsigned long addr, unsigned long...
{
int ret, len, write;
struct vm_area_struct * vma;
-
--[[linux-2.6.33/vm_area_struct]]
vma = find_vma(current->mm, addr);
if (!vma)
return -ENOMEM;
-
--[[linux-2.6.33/find_vma()]]
-
--[[linux-2.6.33/current(global)]]
write = (vma->vm_flags & VM_WRITE) != 0;
BUG_ON(addr >= end);
BUG_ON(end > vma->vm_end);
-
--[[linux-2.6.33/VM_WRITE]]
-
--[[linux-2.6.33/BUG_ON()]]
len = DIV_ROUND_UP(end, PAGE_SIZE) - addr/PAGE_SIZE;
ret = get_user_pages(current, current->mm, addr,
len, write, 0, NULL, NULL);
if (ret < 0)
return ret;
-
--[[linux-2.6.33/DIV_ROUND_UP()]]
-
--[[linux-2.6.33/PAGE_SIZE]]
-
--[[linux-2.6.33/get_user_pages()]]
return ret == len ? 0 : -EFAULT;
}
*コメント [#d4b4a5cd]
ページ名: