struct kvm_rmap_desc *more;
};
-struct kvm_shadow_walk {
- int (*entry)(struct kvm_shadow_walk *walk, struct kvm_vcpu *vcpu,
- u64 addr, u64 *spte, int level);
-};
-
struct kvm_shadow_walk_iterator {
u64 addr;
hpa_t shadow_addr;
--iterator->level;
}
-static int walk_shadow(struct kvm_shadow_walk *walker,
- struct kvm_vcpu *vcpu, u64 addr)
-{
- struct kvm_shadow_walk_iterator iterator;
- int r;
-
- for_each_shadow_entry(vcpu, addr, iterator) {
- r = walker->entry(walker, vcpu, addr,
- iterator.sptep, iterator.level);
- if (r)
- return r;
- }
- return 0;
-}
-
static void kvm_mmu_page_unlink_children(struct kvm *kvm,
struct kvm_mmu_page *sp)
{