#include "mmu_internal.h"
#include "tdp_iter.h"
#include "spte.h"
Go to the source code of this file.
|
#define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
|
◆ pr_fmt
#define pr_fmt |
( |
|
fmt | ) |
KBUILD_MODNAME ": " fmt |
◆ spte_to_child_pt()
tdp_ptep_t spte_to_child_pt |
( |
u64 |
spte, |
|
|
int |
level |
|
) |
| |
Definition at line 62 of file tdp_iter.c.
static bool is_last_spte(u64 pte, int level)
static bool is_shadow_present_pte(u64 pte)
static kvm_pfn_t spte_to_pfn(u64 pte)
◆ tdp_iter_next()
void tdp_iter_next |
( |
struct tdp_iter * |
iter | ) |
|
Definition at line 161 of file tdp_iter.c.
static bool try_step_up(struct tdp_iter *iter)
static bool try_step_side(struct tdp_iter *iter)
static bool try_step_down(struct tdp_iter *iter)
void tdp_iter_restart(struct tdp_iter *iter)
◆ tdp_iter_refresh_sptep()
static void tdp_iter_refresh_sptep |
( |
struct tdp_iter * |
iter | ) |
|
|
static |
Definition at line 12 of file tdp_iter.c.
#define SPTE_INDEX(address, level)
tdp_ptep_t pt_path[PT64_ROOT_MAX_LEVEL]
static u64 kvm_tdp_mmu_read_spte(tdp_ptep_t sptep)
◆ tdp_iter_restart()
void tdp_iter_restart |
( |
struct tdp_iter * |
iter | ) |
|
Definition at line 23 of file tdp_iter.c.
static gfn_t gfn_round_for_level(gfn_t gfn, int level)
gfn_t next_last_level_gfn
static void tdp_iter_refresh_sptep(struct tdp_iter *iter)
◆ tdp_iter_start()
void tdp_iter_start |
( |
struct tdp_iter * |
iter, |
|
|
struct kvm_mmu_page * |
root, |
|
|
int |
min_level, |
|
|
gfn_t |
next_last_level_gfn |
|
) |
| |
Definition at line 39 of file tdp_iter.c.
42 if (WARN_ON_ONCE(!root || (root->
role.level < 1) ||
43 (root->
role.level > PT64_ROOT_MAX_LEVEL))) {
static int kvm_mmu_page_as_id(struct kvm_mmu_page *sp)
union kvm_mmu_page_role role
◆ try_step_down()
static bool try_step_down |
( |
struct tdp_iter * |
iter | ) |
|
|
static |
Definition at line 78 of file tdp_iter.c.
tdp_ptep_t spte_to_child_pt(u64 spte, int level)
◆ try_step_side()
static bool try_step_side |
( |
struct tdp_iter * |
iter | ) |
|
|
static |
Definition at line 110 of file tdp_iter.c.
120 iter->
gfn += KVM_PAGES_PER_HPAGE(iter->
level);
#define SPTE_ENT_PER_PAGE
◆ try_step_up()
static bool try_step_up |
( |
struct tdp_iter * |
iter | ) |
|
|
static |