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) ; |
vm
Master vm structure.
pml4
Page map level 4 for this address range.
start
Starting virtual address to begin allocations.
length
Size of the allocations.
new_pdps
Bitmap 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).