アドレッシング - __pud()
概要
pudval_t型の値をpud_t型に変換する
詳細
pudval_t型の値を引数として受け取り、CONFIG_PARAVIRTとCONFIG_PGTABLE_LEVELS、__PAGETABLE_PUD_FOLDEDの値によって以下のように処理が異なる
- CONFIG_PARAVIRTが定義されていてCONFIG_PGTABLE_LEVELSの値が4の場合
- PVOP_CALLEEx()にvalが32bitの場合は引数を1つ、64bitモードの場合は第1引数valの下位32bitを、第2引数に上位32bitの2つの値を渡してpv_mmu_ops.make_pud*1を実行しpudval_t型の値を取得する
- 取得した値をpud_t型に変換して返す
- CONFIG_PARAVIRTと__PAGETABLE_PUD_FOLDEDが未定義の場合
- native_make_pud()でpudval_t型の値をpud_t型に変換して返す
- 上記以外の場合
- __pgd()でvalをpgd_t型に変換した値をpud_t型に変換して返す
アドレッシング - native_make_pud()
概要
pmdval_t型の値をpud_t_型に変換する
詳細
pmdval_t型の値valを引数として受け取り、valを値とするpud_t_型の値を返す
アドレッシング - __pgd()
概要
pgdval_t型の値をpgd_t型に変換する
詳細
pgdval_t型の値を引数として受け取り、CONFIG_PARAVIRTの値によって以下のように処理が異なる
- 有効
- PVOP_CALLEEx()にvalが32bitの場合は引数を1つ、64bitモードの場合は第1引数valの下位32bitを、第2引数に上位32bitの2つの値を渡してpv_mmu_ops.make_pgd*1を実行しpgdval_t型の値を取得する
- 取得した値をpgd_t型の値に変換して返す
- 無効
- native_make_pgd()でpgdval_t型の値をpgd_t型の値に変換して返す
アドレッシング - native_make_pgd()
概要
pgdval_t型の値をpgd_t型に変換する
詳細
pgdval_t型の値valを引数として受け取り、valを値とするpgd_t型の値を返す
アドレッシング - pgd_val()
概要
ページグローバルディレクトリの値を返す
詳細
pgd_t型の値valを引数として受け取り、CONFIG_PARAVIRTの値によって以下のように処理が異なる
- 有効
- PVOP_CALLEEx()にvalが32bitの場合は引数を1つ、64bitモードの場合は第1引数valの下位32bitを、第2引数に上位32bitの2つの値を渡してpv_mmu_ops.pgd_val*1を実行しpgdval_t型の値を返す
- 無効
- native_pgd_val()を実行しpgdval_t型の値を返す
準仮想化 - PTE_IDENT
概要
受け取った値をそのまま帰す
詳細
__PV_IS_CALLEE_SAVE()に関数名を渡すが、CONFIG_X86_32とCONFIG_X86_PAEの値によって引数として渡す関数が変わる