Lines Matching refs:range
84 in the other direction: the CPU can only access a limited range of the device
145 Address space mirroring's main objective is to allow duplication of a range of
156 update action to the range (mark range read only, or fully unmap, etc.). The
159 When the device driver wants to populate a range of virtual addresses, it can
162 int hmm_range_fault(struct hmm_range *range);
170 struct hmm_range range;
173 range.notifier = &interval_sub;
174 range.start = ...;
175 range.end = ...;
176 range.hmm_pfns = ...;
182 range.notifier_seq = mmu_interval_read_begin(&interval_sub);
184 ret = hmm_range_fault(&range);
194 if (mmu_interval_read_retry(&ni, range.notifier_seq) {
215 fault or snapshot policy for the whole range instead of having to set them
218 For instance if the device driver wants pages for a range with at least read
221 range->default_flags = HMM_PFN_REQ_FAULT;
222 range->pfn_flags_mask = 0;
225 in the range with at least read permission.
227 Now let's say the driver wants to do the same except for one page in the range for
230 range->default_flags = HMM_PFN_REQ_FAULT;
231 range->pfn_flags_mask = HMM_PFN_REQ_WRITE;
232 range->pfns[index_of_write] = HMM_PFN_REQ_WRITE;
235 address == range->start + (index_of_write << PAGE_SHIFT) it will fault with
282 pagemap.range.start = res->start;
283 pagemap.range.end = res->end;
289 release_mem_region(pagemap.range.start, range_len(&pagemap.range));
404 can be used to make a memory range inaccessible from userspace.
406 This replaces all mappings for pages in the given range with special swap