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


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