pvr_device_addr_is_valid(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ pvr_device_addr_is_valid(9) ✨

okay so bestie, we're deep in the Kernel API Manual today and this one is a little function with main character energy β€” it's the vibe check for device-virtual addresses πŸ’…


πŸŽ€ NAME πŸŽ€

pvr_device_addr_is_valid β€” literally just tests whether a device-virtual address is valid. that's it, that's the whole job 🫢


🌸 SYNOPSIS 🌸

bool pvr_device_addr_is_valid (u64 device_addr );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • device_addr β€” the virtual device address you wanna test πŸ‘€ like, hand it over and it'll tell you if it's good

πŸ’– RETURN πŸ’–

  • true if device_addr is within the valid range for a device page table and is aligned to the device page size, or
  • false otherwise 😭
no cap, it's an and situation β€” in range AND aligned. miss one and it's giving false, bestie πŸ™ˆ

⭐ SEE ALSO ⭐

Kernel file ./drivers/gpu/drm/imagination/pvr_vm.c β€” plus the whole friend group, no gatekeeping here:

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_and_size_are_valid(9), pvr_vm_create_context(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)


🌈 and that's the page, periodt. this one lives in ./drivers/gpu/drm/imagination, dated October 2026 β€” iconic of it honestly πŸ‘‘ bye bestie, go check those addresses πŸ’œ

πŸ“¦ where this page comes from