Lines Matching refs:flush
17 /* Each gva in gva_list encodes up to 4096 pages to flush */
38 * pages to flush (in addition to the 'cur' page).
60 struct hv_tlb_flush *flush;
83 flush = *flush_pcpu;
85 if (unlikely(!flush)) {
95 flush->address_space = virt_to_phys(info->mm->pgd);
96 flush->address_space &= CR3_ADDR_MASK;
97 flush->flags = 0;
99 flush->address_space = 0;
100 flush->flags = HV_FLUSH_ALL_VIRTUAL_ADDRESS_SPACES;
103 flush->processor_mask = 0;
105 flush->flags |= HV_FLUSH_ALL_PROCESSORS;
132 &flush->processor_mask);
137 * We can flush not more than max_gvas with one hypercall. Flush the
140 max_gvas = (PAGE_SIZE - sizeof(*flush)) / sizeof(flush->gva_list[0]);
143 flush->flags |= HV_FLUSH_NON_GLOBAL_MAPPINGS_ONLY;
145 flush, NULL);
149 flush, NULL);
151 gva_n = fill_gva_list(flush->gva_list, 0,
154 gva_n, 0, flush, NULL);
175 struct hv_tlb_flush_ex *flush;
184 flush = *flush_pcpu;
191 flush->address_space = virt_to_phys(info->mm->pgd);
192 flush->address_space &= CR3_ADDR_MASK;
193 flush->flags = 0;
195 flush->address_space = 0;
196 flush->flags = HV_FLUSH_ALL_VIRTUAL_ADDRESS_SPACES;
199 flush->hv_vp_set.valid_bank_mask = 0;
201 flush->hv_vp_set.format = HV_GENERIC_SET_SPARSE_4K;
202 nr_bank = cpumask_to_vpset(&(flush->hv_vp_set), cpus);
207 * We can flush not more than max_gvas with one hypercall. Flush the
211 (PAGE_SIZE - sizeof(*flush) - nr_bank *
212 sizeof(flush->hv_vp_set.bank_contents[0])) /
213 sizeof(flush->gva_list[0]);
216 flush->flags |= HV_FLUSH_NON_GLOBAL_MAPPINGS_ONLY;
219 0, nr_bank, flush, NULL);
224 0, nr_bank, flush, NULL);
226 gva_n = fill_gva_list(flush->gva_list, nr_bank,
230 gva_n, nr_bank, flush, NULL);
241 pr_info("Using hypercall for remote TLB flush\n");