pvr_page_flags_raw_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ pvr_page_flags_raw_create πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” today's main character is pvr_page_flags_raw_create, and honestly? she's a lil baby function with a big job: she initializes the flag bits of a raw level 0 page table entry. tiny, iconic, essential πŸŽ€


🌸 NAME 🌸

pvr_page_flags_raw_create β€” initialize the flag bits of a raw level 0 page table entry πŸ¦‹


✨ SYNOPSIS ✨

struct pvr_page_flags_raw pvr_page_flags_raw_create (bool read_only,
    bool cache_coherent, bool slc_bypass, bool pm_fw_protect);

bestie she takes four bools and hands you back a whole struct pvr_page_flags_raw. no cap, that's the whole vibe πŸ’–


🫢 ARGUMENTS 🫢

  • read_only β€” this page is read-only, periodt. (see: Read Only) πŸ”’
  • cache_coherent β€” this page does not require cache flushes, so you can chill. (see: Cache Coherency) 🧊
  • slc_bypass β€” this page bypasses the device cache. she's skipping the line, main character energy. (see: SLC Bypass Control) πŸ’¨
  • pm_fw_protect β€” this page is only for use by the firmware or the Parameter Manager. vip access only, iykyk. (see PM/FW Protect) 🎟️

πŸ’œ DESCRIPTION πŸ’œ

so like, for more details on how these four options actually work, go look at their respective entries in the table under struct pvr_page_table_l0_entry_raw. she's not gonna re-explain her whole lore in this function, the table has the receipts πŸ“–βœ¨


🌈 RETURN 🌈

you get a brand-new struct pvr_page_flags_raw instance 🎁 β€” and the slay part is you can pass it directly to pvr_page_table_l0_entry_raw_set or pvr_page_table_l0_insert. no middleman, no conversions, just vibes πŸ¦‹


πŸ‘‘ SEE ALSO πŸ‘‘

the whole group chat, in order 🫢:

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), 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_sgl(9), pvr_mmu_map(9)

like, that's a lot of links but honestly? every single one of them ate πŸ’…πŸ”₯

and that's the whole page!! sourced fresh from ./drivers/gpu/drm/imagination, dated October 2026 β€” so she's from the future, which is very main character of her πŸ’–βœ¨ bye bestie, go init some flags πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from