pvr_vm_create_context(9)
π NAME π
pvr_vm_create_context β create a new VM context. This is the pvr_vm_create_context(9) page from the Kernel API Manual, and yes bestie, we're getting into the VM-context lore π
β¨ SYNOPSIS β¨
okay so the signature is literally:
struct pvr_vm_context * pvr_vm_create_context (struct pvr_device
*pvr_dev , bool is_userspace_context );
π ARGUMENTS π
pvr_devβ the target PowerVR device, i.e. the device you're creating this context for π«Άis_userspace_contextβtrueif this context is for userspace. This will create a firmware memory context for the VM context and disable warnings when tearing down mappings. slay.
π«Ά RETURN π«Ά
Here's the vibe check on what comes back:
- A handle to the newly-minted VM context on success,
-EINVALif the feature "virtual address space bits" onpvr_devis missing or has an unsupported value,-ENOMEMif allocation of the structure behind the opaque handle fails, or- Any error encountered while setting up internal structures.
π¦ SEE ALSO π¦
the whole friend group, no cap:
- Kernel file
./drivers/gpu/drm/imagination/pvr_vm.c Memory context(9)struct pvr_vm_context(9)pvr_vm_get_page_table_root_addr(9)pvr_vm_get_dma_resv(9)Memory mappings(9)struct pvr_vm_gpuva(9)struct pvr_vm_bind_op(9)pvr_vm_bind_op_exec(9)pvr_vm_gpuva_map(9)pvr_vm_gpuva_unmap(9)pvr_vm_gpuva_remap(9)pvr_device_addr_is_valid(9)pvr_device_addr_and_size_are_valid(9)pvr_vm_context_release(9)pvr_vm_context_lookup(9)pvr_vm_context_put(9)pvr_destroy_vm_contexts_for_file(9)pvr_vm_map(9)pvr_vm_unmap_obj_locked(9)pvr_vm_unmap_obj(9)pvr_vm_unmap(9)pvr_vm_unmap_all(9)pvr_heap_contains_range(9)pvr_find_heap_containing(9)pvr_vm_find_gem_object(9)pvr_vm_get_fw_mem_context(9)
mwah π source/version: ./drivers/gpu/drm/imagination; date: October 2026. byeee bestie, go create that VM context π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms