pvr_mmu_map_sgl(9)
pvr_mmu_map_sgl(9) π β¨
okay so bestie, this is the Kernel API Manual entry for pvr_mmu_map_sgl, and it's giving βmap part of a scatter-gather table entry to device-virtual memoryβ energy. no cap, it's a whole little memory-mapping moment. π«Ά
β¨ NAME β¨
pvr_mmu_map_sgl β Map part of a scatter-gather table entry to device-virtual memory.
πΈ SYNOPSIS πΈ
int pvr_mmu_map_sgl (struct pvr_mmu_op_context *op_ctx , struct
scatterlist *sgl , u64 offset , u64 size , struct pvr_page_flags_raw
page_flags );
π¦ ARGUMENTS π¦
op_ctxβ the target MMU op context, and it points to the first page that should be mapped. literally the starting point of the whole vibe.sglβ the target scatter-gather table entry. that's the thing we're working with.offsetβ offset intosglto map from. it must result in a starting address fromsglwhich is CPU page-aligned. not optional, bestie.sizeβ size of the memory to be mapped in bytes. it must be a non-zero multiple of the device page size. periodt.page_flagsβ page options to be applied to every device-virtual memory page in the created mapping. every single one gets the same treatment. π
π RETURN π
0on success,-EINVALif the range specified byoffsetandsizeis not completely withinsgl, or- any error encountered while creating a page with
pvr_page_create, or - any error encountered while advancing
op_ctx.curr_pagewithpvr_mmu_op_context_next_page.
π SEE ALSO π
bestie, the extended fam is long, but every single reference is here. no skips, no summaries, we keep the whole guest list. π«Ά
- Kernel file:
./drivers/gpu/drm/imagination/pvr_mmu.c pvr_mmu_set_flush_flags(9)pvr_mmu_flush_request_all(9)pvr_mmu_flush_exec(9)PowerVR Virtual Memory Handling(9)PowerVR Virtual Memory Handling (constants)(9)MMU backing pages(9)MMU backing pages (constants)(9)struct pvr_mmu_backing_page(9)pvr_mmu_backing_page_init(9)pvr_mmu_backing_page_fini(9)pvr_mmu_backing_page_sync(9)Raw page tables(9)struct pvr_page_table_l2_entry_raw(9)pvr_page_table_l2_entry_raw_set(9)struct pvr_page_table_l1_entry_raw(9)pvr_page_table_l1_entry_raw_set(9)struct pvr_page_table_l0_entry_raw(9)struct pvr_page_flags_raw(9)pvr_page_table_l0_entry_raw_set(9)pvr_page_flags_raw_create(9)struct pvr_page_table_l2_raw(9)struct pvr_page_table_l1_raw(9)struct pvr_page_table_l0_raw(9)Mirror page tables(9)struct pvr_page_table_l2(9)pvr_page_table_l2_init(9)pvr_page_table_l2_fini(9)pvr_page_table_l2_sync(9)pvr_page_table_l2_get_raw(9)pvr_page_table_l2_get_entry_raw(9)pvr_page_table_l2_entry_is_valid(9)struct pvr_page_table_l1(9)pvr_page_table_l1_init(9)pvr_page_table_l1_free(9)pvr_page_table_l1_sync(9)pvr_page_table_l1_get_raw(9)pvr_page_table_l1_get_entry_raw(9)pvr_page_table_l1_entry_is_valid(9)struct pvr_page_table_l0(9)pvr_page_table_l0_init(9)pvr_page_table_l0_free(9)pvr_page_table_l0_sync(9)pvr_page_table_l0_get_raw(9)pvr_page_table_l0_get_entry_raw(9)pvr_page_table_l0_entry_is_valid(9)struct pvr_mmu_context(9)struct pvr_page_table_ptr(9)struct pvr_mmu_op_context(9)pvr_page_table_l2_insert(9)pvr_page_table_l2_remove(9)pvr_page_table_l1_insert(9)pvr_page_table_l1_remove(9)pvr_page_table_l0_insert(9)pvr_page_table_l0_remove(9)Page table index utilities(9)pvr_page_table_l2_idx(9)pvr_page_table_l1_idx(9)pvr_page_table_l0_idx(9)High-level page table operations(9)pvr_page_table_l1_get_or_insert(9)pvr_page_table_l0_get_or_insert(9)pvr_mmu_context_create(9)pvr_mmu_context_destroy(9)pvr_mmu_get_root_table_dma_addr(9)pvr_page_table_l1_alloc(9)pvr_page_table_l0_alloc(9)pvr_mmu_op_context_require_sync(9)pvr_mmu_op_context_sync_manual(9)pvr_mmu_op_context_sync_partial(9)pvr_mmu_op_context_sync(9)pvr_mmu_op_context_load_tables(9)pvr_mmu_op_context_set_curr_page(9)pvr_mmu_op_context_next_page(9)Single page operations(9)pvr_page_create(9)pvr_page_destroy(9)pvr_mmu_op_context_destroy(9)pvr_mmu_op_context_create(9)pvr_mmu_op_context_unmap_curr_page(9)pvr_mmu_unmap(9)pvr_mmu_map(9)
okay thatβs the whole page, bestie π source/version:./drivers/gpu/drm/imaginationΒ· date:October 2026Β· page:pvr_mmu_map_sgl(9)β mwah, go map that memory responsibly π«Άβ¨
π¦ 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