PGD、PMD、PTE操作関数群

  • pgd_offset(mm, addr)
    • mm_struc(後述)とアドレスから、アドレスに対応するPGDを求める
  • pmd_offset(pgd, addr)
    • PGDとアドレスから、アドレスに対応するPMDを求める
  • pte_offset(pmd, addr)
    • PMDとアドレスから、アドレスに対応するPTEを求める
  • pgd_val(),pmd_val(),pte_val()
    • それぞれ、PGD,PMD,PTE の値を取り出す
  • pte_page(pte)
    • pteが管理するページの物理アドレスを取り出す。
  • pte_present(pte)
    • 有効なpteか(pteに物理ページが割り当てられているか)を調べる。
  • pte_none(pte)
    • pteが空か?
  • pte_clear(pte)
    • PTEをクリアする
  • pte_dirty(pte)
    • pteの指すページに書きこみがあったか?
  • pte_young(pte)
    • pteの指すページにアクセスがあったか?
  • pte_write(pte)
    • pteの指すページは書きこみ可能か?
  • pte_mkclean(pte)
    • pteの指すページへの書きこみがあったことを示すフラグを消す。 (dirtyビットを落とす)
  • pte_mkdirty(pte)
    • pteの指すページへの書きこみがあったことを示すフラグを立てる。 (dirtyビットをセットする)
  • pte_mkold(pte)
    • pteの指すページへのアクセスがあったことを示すフラグを消す。
  • pte_mkyoung(pte)
    • pteの指すページへのアクセスがあったことを示すフラグを立てる。
  • pte_wrprotect(pte)
    • pteの指すページを書きこみ禁止にする。
  • pte_mkwrite(pte)
    • pteの指すページの書きこみを許可する。
  • set_pte(pte, entry)
    • 値entryをpteに設定する
  • mk_pte(page, prot)
    • 物理ページpageを指す、プロテクションprotのpteを作る
  • put_page(pte, entry)
    • set_page()と同じだが、pteが空であることのチェックを行う
  • pgd_present(pgd)、pmd_present(pmd)
    • それぞれpgd, pmdが有効か否かをチェックする。
  • pgd_none(pgd)、pmd_none(pmd)
    • それぞれpgd, pmdが空か否かをチェックする。
  • pgd_bad(pgd)、pmd_bad(pmd)
    • pgd,pmdとして正しい値が設定されているか?
  • pgd_clear(pgd)、pmd_clear(pmd)
    • それぞれ、pgd,pmdの値をクリアする。

(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST
1