2016-07-13 アドレッシング - pgd_page_vaddr() address 概要 ページグローバルディレクトリの仮想アドレスを取得する 詳細 CONFIG_PGTABLE_LEVELSの値によって以下のように処理が異なる CONFIG_PGTABLE_LEVELSが3を超える場合 pgd_val()でページグローバルディレクトリの値を取得し、その値とPTE_PFN_MASKの論理積を求めることでページグローバルディレクトリの物理アドレスを算出する 算出した物理アドレスを__va()で仮想アドレスに変換する それ以外 pud_page_vaddr()でページアッパーディレクトリの仮想アドレスを取得する ページグローバルディレクトリが存在しないためページアッパーディレクトリと同じ値になる