Lines Matching full:range
86 in the other direction: the CPU can only access a limited range of the device
147 Address space mirroring's main objective is to allow duplication of a range of
158 update action to the range (mark range read only, or fully unmap, etc.). The
161 When the device driver wants to populate a range of virtual addresses, it can
164 int hmm_range_fault(struct hmm_range *range);
171 entry in that array corresponds to an address in the virtual range. HMM
181 struct hmm_range range;
184 range.notifier = &interval_sub;
185 range.start = ...;
186 range.end = ...;
187 range.hmm_pfns = ...;
193 range.notifier_seq = mmu_interval_read_begin(&interval_sub);
195 ret = hmm_range_fault(&range);
205 if (mmu_interval_read_retry(&ni, range.notifier_seq) {
226 fault or snapshot policy for the whole range instead of having to set them
229 For instance if the device driver wants pages for a range with at least read
232 range->default_flags = HMM_PFN_REQ_FAULT;
233 range->pfn_flags_mask = 0;
236 in the range with at least read permission.
238 Now let's say the driver wants to do the same except for one page in the range for
241 range->default_flags = HMM_PFN_REQ_FAULT;
242 range->pfn_flags_mask = HMM_PFN_REQ_WRITE;
243 range->pfns[index_of_write] = HMM_PFN_REQ_WRITE;
246 address == range->start + (index_of_write << PAGE_SHIFT) it will fault with
293 pagemap.range.start = res->start;
294 pagemap.range.end = res->end;
300 release_mem_region(pagemap.range.start, range_len(&pagemap.range));