mmap_action_ioremap(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual ✨ we're looking at mmap_action_ioremap(9) and honestly? ngl it's a tiny little helper with a whole lot of SEE ALSO energy. the way that this page is four arguments and then a massive reference list? iconic. let's get into it.


🌸 NAME 🌸

mmap_action_ioremap β€” a helper for the mmap_prepare hook to specify that a pure PFN I/O remap is required. periodt. πŸ’…


🌈 SYNOPSIS 🌈

void mmap_action_ioremap (struct vm_area_desc *desc , unsigned long start , unsigned long start_pfn , unsigned long size );

πŸ’… ARGUMENTS πŸ’…

  • desc β€” the VMA descriptor for the VMA that needs the remap. main character struct fr fr.
  • start β€” the virtual address where the remap starts. warning bestie: it must be within the VMA. no exceptions, no cap.
  • start_pfn β€” the first PFN in the range you're remapping. the literal starting point of the PFN era.
  • size β€” how big the range is, in bytes. it can at most span to the end of the VMA β€” highkey don't get greedy πŸ’€.
lowkey important: start has to be inside the VMA, and size can't run past the end of it. those are the rules, and the rules are iconic.

πŸŽ€ SEE ALSO πŸŽ€

Kernel file ./include/linux/mm.h: folio_page_idx(9), vma_flag_t(9), fault_flag_allow_retry_first(9), vma_kernel_pagesize(9), folio_order(9), folio_reset_order(9), folio_mapcount(9), folio_mapped(9), thp_order(9), thp_size(9), folio_get(9), folio_put(9), folio_put_refs(9), folios_put(9), vma_flags_is_cow_mapping(9), vma_is_cow_mapping(9), vma_desc_is_cow_mapping(9), folio_pfn(9), folio_mk_pte(9), folio_mk_pmd(9), folio_mk_pud(9), folio_maybe_dma_pinned(9), is_zero_page(9), is_zero_folio(9), folio_nr_pages(9), folio_next(9), folio_shift(9), folio_size(9), folio_maybe_mapped_shared(9), folio_expected_ref_count(9), zap_vma(9), ptdesc_address(9), ptdesc_set_kernel(9), ptdesc_clear_kernel(9), ptdesc_test_kernel(9), pagetable_alloc(9), pagetable_free(9), vma_lookup(9), vma_start_pgoff(9), vma_end_pgoff(9), vma_last_pgoff(9), vma_start_anon_pgoff(9), vma_end_anon_pgoff(9), vma_last_anon_pgoff(9), mmap_action_remap(9), mmap_action_remap_full(9), mmap_action_ioremap_full(9), mmap_action_simple_ioremap(9), mmap_action_map_kernel_pages(9), mmap_action_map_kernel_pages_full(9), range_is_subset(9), range_in_vma(9), range_in_vma_desc(9), clear_pages(9)


that's the whole vibe, bestie 🫢 source is ./include/linux, date is October 2026 β€” drop by and say hi to mmap_action_ioremap(9) for me πŸ’–βœ¨

πŸ“¦ where this page comes from