*参照元 [#a2abd770]
#backlinks

*説明 [#da4339ed]
-パス: [[linux-4.4.1/mm/page_alloc.c]]

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


**引数 [#a6088bb8]
-gfp_t gfp_mask
--カーネルリニアアドレスで指せない領域(HIGHMEM)からはページを取れない。
--[[linux-4.4.1/gfp_t]]
-unsigned int order
--


**返り値 [#me8b92a5]
-unsinged long
--確保したページのカーネル内リニアアドレス


**参考 [#q3c2baf4]


*実装 [#u9758176]
 /*
  * Common helper functions.
  */
 unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order)
 {
         struct page *page;
 
-
--[[linux-4.4.1/page]]

         /*
          * __get_free_pages() returns a 32-bit address, which cannot represent
          * a highmem page
          */
         VM_BUG_ON((gfp_mask & __GFP_HIGHMEM) != 0);
 
-
--[[linux-4.4.1/VM_BUG_ON()]]
--[[linux-4.4.1/__GFP_HIGHMEM]]

         page = alloc_pages(gfp_mask, order);
         if (!page)
                 return 0;
-
--[[linux-4.4.1/alloc_pages()]]

         return (unsigned long) page_address(page);
-
--[[linux-4.4.1/page_address()]]

 }
 EXPORT_SYMBOL(__get_free_pages);
-
--[[linux-4.4.1/]]


*コメント [#x181a725]


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