Lines Matching defs:pvec
1803 static int mmu_pages_add(struct kvm_mmu_pages *pvec, struct kvm_mmu_page *sp,
1809 for (i=0; i < pvec->nr; i++)
1810 if (pvec->page[i].sp == sp)
1813 pvec->page[pvec->nr].sp = sp;
1814 pvec->page[pvec->nr].idx = idx;
1815 pvec->nr++;
1816 return (pvec->nr == KVM_PAGE_ARRAY_NR);
1827 struct kvm_mmu_pages *pvec)
1843 if (mmu_pages_add(pvec, child, i))
1846 ret = __mmu_unsync_walk(child, pvec);
1856 if (mmu_pages_add(pvec, child, i))
1868 struct kvm_mmu_pages *pvec)
1870 pvec->nr = 0;
1874 mmu_pages_add(pvec, sp, INVALID_INDEX);
1875 return __mmu_unsync_walk(sp, pvec);
2020 #define for_each_sp(pvec, sp, parents, i) \
2021 for (i = mmu_pages_first(&pvec, &parents); \
2022 i < pvec.nr && ({ sp = pvec.page[i].sp; 1;}); \
2023 i = mmu_pages_next(&pvec, &parents, i))
2025 static int mmu_pages_next(struct kvm_mmu_pages *pvec,
2031 for (n = i+1; n < pvec->nr; n++) {
2032 struct kvm_mmu_page *sp = pvec->page[n].sp;
2033 unsigned idx = pvec->page[n].idx;
2046 static int mmu_pages_first(struct kvm_mmu_pages *pvec,
2052 if (pvec->nr == 0)
2055 WARN_ON_ONCE(pvec->page[0].idx != INVALID_INDEX);
2057 sp = pvec->page[0].sp;
2063 /* Also set up a sentinel. Further entries in pvec are all
2067 return mmu_pages_next(pvec, parents, 0);