Lines Matching full:level

8  * Recalculates the pointer to the SPTE for the current GFN and level and
13 iter->sptep = iter->pt_path[iter->level - 1] + in tdp_iter_refresh_sptep()
14 SHADOW_PT_INDEX(iter->gfn << PAGE_SHIFT, iter->level); in tdp_iter_refresh_sptep()
18 static gfn_t round_gfn_for_level(gfn_t gfn, int level) in round_gfn_for_level() argument
20 return gfn & -KVM_PAGES_PER_HPAGE(level); in round_gfn_for_level()
36 iter->level = root_level; in tdp_iter_start()
37 iter->pt_path[iter->level - 1] = root_pt; in tdp_iter_start()
39 iter->gfn = round_gfn_for_level(iter->goal_gfn, iter->level); in tdp_iter_start()
46 * Given an SPTE and its level, returns a pointer containing the host virtual
50 u64 *spte_to_child_pt(u64 spte, int level) in spte_to_child_pt() argument
54 * last-level entry. in spte_to_child_pt()
56 if (!is_shadow_present_pte(spte) || is_last_spte(spte, level)) in spte_to_child_pt()
63 * Steps down one level in the paging structure towards the goal GFN. Returns
64 * true if the iterator was able to step down a level, false otherwise.
70 if (iter->level == iter->min_level) in try_step_down()
79 child_pt = spte_to_child_pt(iter->old_spte, iter->level); in try_step_down()
83 iter->level--; in try_step_down()
84 iter->pt_path[iter->level - 1] = child_pt; in try_step_down()
85 iter->gfn = round_gfn_for_level(iter->goal_gfn, iter->level); in try_step_down()
93 * level. The next entry could point to a page backing guest memory or another
104 if (SHADOW_PT_INDEX(iter->gfn << PAGE_SHIFT, iter->level) == in try_step_side()
108 iter->gfn += KVM_PAGES_PER_HPAGE(iter->level); in try_step_side()
117 * Tries to traverse back up a level in the paging structure so that the walk
123 if (iter->level == iter->root_level) in try_step_up()
126 iter->level++; in try_step_up()
127 iter->gfn = round_gfn_for_level(iter->gfn, iter->level); in try_step_up()
136 * GFN, if at a present, non-last-level SPTE, or over to a SPTE mapping a
140 * 1. If the current SPTE is a non-last-level SPTE, step down into the page