gen8_ppgtt_alloc_page_dirpointers — Allocate pdps for VA range.
int gen8_ppgtt_alloc_page_dirpointers ( | struct i915_address_space * vm, |
| struct i915_pml4 * pml4, | |
| uint64_t start, | |
| uint64_t length, | |
unsigned long * new_pdps); |
vmMaster vm structure.
pml4Page map level 4 for this address range.
startStarting virtual address to begin allocations.
lengthSize of the allocations.
new_pdpsBitmap set by function with new allocations. Likely used by the caller to free on error.
Allocate the required number of page directory pointers. Extremely similar to
gen8_ppgtt_alloc_page_directories and gen8_ppgtt_alloc_pagetabs.
The main difference is here we are limited by the pml4 boundary (instead of
the page directory pointer).