/kernel/linux/linux-5.10/mm/ |
H A D | page_isolation.c | 74 unsigned long pfn, buddy_pfn; in unset_migratetype_isolate() local 93 pfn = page_to_pfn(page); in unset_migratetype_isolate() 94 buddy_pfn = __find_buddy_pfn(pfn, order); in unset_migratetype_isolate() 95 buddy = page + (buddy_pfn - pfn); in unset_migratetype_isolate() 128 __first_valid_page(unsigned long pfn, unsigned long nr_pages) in __first_valid_page() argument 135 page = pfn_to_online_page(pfn + i); in __first_valid_page() 186 unsigned long pfn; in start_isolate_page_range() local 193 for (pfn = start_pfn; in start_isolate_page_range() 194 pfn < end_pfn; in start_isolate_page_range() 195 pfn in start_isolate_page_range() 224 unsigned long pfn; undo_isolate_page_range() local 247 __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, int flags) __test_page_isolated_in_pageblock() argument 287 unsigned long pfn, flags; test_pages_isolated() local [all...] |
H A D | memory_hotplug.c | 30 #include <linux/pfn.h> 234 unsigned long i, pfn, end_pfn, nr_pages; in register_page_bootmem_info_node() local 244 pfn = pgdat->node_start_pfn; in register_page_bootmem_info_node() 248 for (; pfn < end_pfn; pfn += PAGES_PER_SECTION) { in register_page_bootmem_info_node() 250 * Some platforms can assign the same pfn to multiple nodes - on in register_page_bootmem_info_node() 251 * node0 as well as nodeN. To avoid registering a pfn against in register_page_bootmem_info_node() 252 * multiple nodes we check that this pfn does not already in register_page_bootmem_info_node() 255 if (pfn_valid(pfn) && (early_pfn_to_nid(pfn) in register_page_bootmem_info_node() 261 check_pfn_span(unsigned long pfn, unsigned long nr_pages, const char *reason) check_pfn_span() argument 288 check_hotplug_memory_addressable(unsigned long pfn, unsigned long nr_pages) check_hotplug_memory_addressable() argument 310 __add_pages(int nid, unsigned long pfn, unsigned long nr_pages, struct mhp_params *params) __add_pages() argument 380 unsigned long pfn; find_biggest_section_pfn() local 403 unsigned long pfn; shrink_zone_span() local 477 unsigned long pfn, cur_nr_pages, flags; remove_pfn_range_from_zone() local 510 __remove_section(unsigned long pfn, unsigned long nr_pages, unsigned long map_offset, struct vmem_altmap *altmap) __remove_section() argument 533 __remove_pages(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) __remove_pages() argument 614 unsigned long pfn; online_pages_range() local 781 online_pages(unsigned long pfn, unsigned long nr_pages, int online_type, int nid) online_pages() argument 1196 unsigned long pfn, sec_end_pfn; test_pages_in_a_zone() local 1242 unsigned long pfn; scan_movable_pages() local 1282 unsigned long pfn; do_migrate_range() local 1465 unsigned long pfn, system_ram_pages = 0; offline_pages() local [all...] |
H A D | sparse.c | 211 static void subsection_mask_set(unsigned long *map, unsigned long pfn, in subsection_mask_set() argument 214 int idx = subsection_map_index(pfn); in subsection_mask_set() 215 int end = subsection_map_index(pfn + nr_pages - 1); in subsection_mask_set() 220 void __init subsection_map_init(unsigned long pfn, unsigned long nr_pages) in subsection_map_init() argument 222 int end_sec = pfn_to_section_nr(pfn + nr_pages - 1); in subsection_map_init() 223 unsigned long nr, start_sec = pfn_to_section_nr(pfn); in subsection_map_init() 233 - (pfn & ~PAGE_SECTION_MASK)); in subsection_map_init() 235 subsection_mask_set(ms->usage->subsection_map, pfn, pfns); in subsection_map_init() 238 pfns, subsection_map_index(pfn), in subsection_map_init() 239 subsection_map_index(pfn in subsection_map_init() 246 subsection_map_init(unsigned long pfn, unsigned long nr_pages) subsection_map_init() argument 254 unsigned long pfn; memory_present() local 445 __populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap) __populate_section_memmap() argument 539 unsigned long pfn = section_nr_to_pfn(pnum); sparse_init_nid() local 612 unsigned long pfn; online_mem_sections() local 631 unsigned long pfn; offline_mem_sections() local 651 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap) populate_section_memmap() argument 657 depopulate_section_memmap(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) depopulate_section_memmap() argument 673 clear_subsection_map(unsigned long pfn, unsigned long nr_pages) clear_subsection_map() argument 700 fill_subsection_map(unsigned long pfn, unsigned long nr_pages) fill_subsection_map() argument 722 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap) populate_section_memmap() argument 729 depopulate_section_memmap(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) depopulate_section_memmap() argument 765 clear_subsection_map(unsigned long pfn, unsigned long nr_pages) clear_subsection_map() argument 775 fill_subsection_map(unsigned long pfn, unsigned long nr_pages) fill_subsection_map() argument 797 section_deactivate(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) section_deactivate() argument 846 section_activate(int nid, unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) section_activate() argument 967 sparse_remove_section(struct mem_section *ms, unsigned long pfn, unsigned long nr_pages, unsigned long map_offset, struct vmem_altmap *altmap) sparse_remove_section() argument [all...] |
H A D | page_ext.c | 124 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local 137 index = pfn - round_down(node_start_pfn(page_to_nid(page)), in lookup_page_ext() 198 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local 199 struct mem_section *section = __pfn_to_section(pfn); in lookup_page_ext() 208 return get_entry(section->page_ext, pfn); in lookup_page_ext() 227 static int __meminit init_section_page_ext(unsigned long pfn, int nid) in init_section_page_ext() argument 233 section = __pfn_to_section(pfn); in init_section_page_ext() 242 * The value stored in section->page_ext is (base - pfn) in init_section_page_ext() 254 * The passed "pfn" may not be aligned to SECTION. For the calculation in init_section_page_ext() 257 pfn in init_section_page_ext() 279 __free_page_ext(unsigned long pfn) __free_page_ext() argument 296 unsigned long start, end, pfn; online_page_ext() local 327 unsigned long start, end, pfn; offline_page_ext() local 371 unsigned long pfn; page_ext_init() local [all...] |
H A D | memory-failure.c | 236 static int kill_proc(struct to_kill *tk, unsigned long pfn, int flags) in kill_proc() argument 243 pfn, t->comm, t->pid); in kill_proc() 385 unsigned long pfn, int flags) in kill_procs() 398 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs() 409 else if (kill_proc(tk, pfn, flags) < 0) in kill_procs() 411 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs() 620 static int truncate_error_page(struct page *p, unsigned long pfn, in truncate_error_page() argument 630 pfn, err); in truncate_error_page() 634 pfn); in truncate_error_page() 647 pfn); in truncate_error_page() 384 kill_procs(struct list_head *to_kill, int forcekill, bool fail, unsigned long pfn, int flags) kill_procs() argument 658 me_kernel(struct page *p, unsigned long pfn) me_kernel() argument 666 me_unknown(struct page *p, unsigned long pfn) me_unknown() argument 675 me_pagecache_clean(struct page *p, unsigned long pfn) me_pagecache_clean() argument 716 me_pagecache_dirty(struct page *p, unsigned long pfn) me_pagecache_dirty() argument 782 me_swapcache_dirty(struct page *p, unsigned long pfn) me_swapcache_dirty() argument 794 me_swapcache_clean(struct page *p, unsigned long pfn) me_swapcache_clean() argument 810 me_huge_page(struct page *p, unsigned long pfn) me_huge_page() argument 913 action_result(unsigned long pfn, enum mf_action_page_type type, enum mf_result result) action_result() argument 922 page_action(struct page_state *ps, struct page *p, unsigned long pfn) page_action() argument 989 hwpoison_user_mappings(struct page *p, unsigned long pfn, int flags, struct page **hpagep) hwpoison_user_mappings() argument 1108 identify_page_state(unsigned long pfn, struct page *p, unsigned long page_flags) identify_page_state() argument 1135 unsigned long pfn = page_to_pfn(page); try_to_split_thp_page() local 1150 memory_failure_hugetlb(unsigned long pfn, int flags) memory_failure_hugetlb() argument 1222 memory_failure_dev_pagemap(unsigned long pfn, int flags, struct dev_pagemap *pgmap) memory_failure_dev_pagemap() argument 1326 memory_failure(unsigned long pfn, int flags) memory_failure() argument 1503 unsigned long pfn; global() member 1532 memory_failure_queue(unsigned long pfn, int flags) memory_failure_queue() argument 1621 unpoison_memory(unsigned long pfn) unpoison_memory() argument 1791 unsigned long pfn = page_to_pfn(page); __soft_offline_page() local 1898 soft_offline_page(unsigned long pfn, int flags) soft_offline_page() argument [all...] |
H A D | page_owner.c | 270 unsigned long pfn = zone->zone_start_pfn, block_end_pfn; in pagetypeinfo_showmixedcount_print() local 271 unsigned long end_pfn = pfn + zone->spanned_pages; in pagetypeinfo_showmixedcount_print() 277 pfn = zone->zone_start_pfn; in pagetypeinfo_showmixedcount_print() 284 for (; pfn < end_pfn; ) { in pagetypeinfo_showmixedcount_print() 285 page = pfn_to_online_page(pfn); in pagetypeinfo_showmixedcount_print() 287 pfn = ALIGN(pfn + 1, MAX_ORDER_NR_PAGES); in pagetypeinfo_showmixedcount_print() 291 block_end_pfn = ALIGN(pfn + 1, pageblock_nr_pages); in pagetypeinfo_showmixedcount_print() 296 for (; pfn < block_end_pfn; pfn in pagetypeinfo_showmixedcount_print() 348 print_page_owner(char __user *buf, size_t count, unsigned long pfn, struct page *page, struct page_owner *page_owner, depot_stack_handle_t handle) print_page_owner() argument 471 unsigned long pfn; read_page_owner() local 560 unsigned long pfn = zone->zone_start_pfn; init_pages_in_zone() local [all...] |
H A D | debug_vm_pgtable.c | 61 static void __init pte_basic_tests(unsigned long pfn, int idx) in pte_basic_tests() argument 64 pte_t pte = pfn_pte(pfn, prot); in pte_basic_tests() 91 unsigned long pfn, unsigned long vaddr, in pte_advanced_tests() 94 pte_t pte = pfn_pte(pfn, prot); in pte_advanced_tests() 103 pte = pfn_pte(pfn, prot); in pte_advanced_tests() 112 pte = pfn_pte(pfn, prot); in pte_advanced_tests() 125 pte = pfn_pte(pfn, prot); in pte_advanced_tests() 135 static void __init pte_savedwrite_tests(unsigned long pfn, pgprot_t prot) in pte_savedwrite_tests() argument 137 pte_t pte = pfn_pte(pfn, prot); in pte_savedwrite_tests() 148 static void __init pmd_basic_tests(unsigned long pfn, in argument 89 pte_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pte_t *ptep, unsigned long pfn, unsigned long vaddr, pgprot_t prot) pte_advanced_tests() argument 186 pmd_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pmd_t *pmdp, unsigned long pfn, unsigned long vaddr, pgprot_t prot, pgtable_t pgtable) pmd_advanced_tests() argument 236 pmd_leaf_tests(unsigned long pfn, pgprot_t prot) pmd_leaf_tests() argument 254 pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot) pmd_huge_tests() argument 273 pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot) pmd_huge_tests() argument 276 pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot) pmd_savedwrite_tests() argument 293 pud_basic_tests(struct mm_struct *mm, unsigned long pfn, int idx) pud_basic_tests() argument 334 pud_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pud_t *pudp, unsigned long pfn, unsigned long vaddr, pgprot_t prot) pud_advanced_tests() argument 385 pud_leaf_tests(unsigned long pfn, pgprot_t prot) pud_leaf_tests() argument 402 pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) pud_huge_tests() argument 421 pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) pud_huge_tests() argument 425 pud_basic_tests(struct mm_struct *mm, unsigned long pfn, int idx) pud_basic_tests() argument 426 pud_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pud_t *pudp, unsigned long pfn, unsigned long vaddr, pgprot_t prot) pud_advanced_tests() argument 432 pud_leaf_tests(unsigned long pfn, pgprot_t prot) pud_leaf_tests() argument 433 pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) pud_huge_tests() argument 438 pmd_basic_tests(unsigned long pfn, int idx) pmd_basic_tests() argument 439 pud_basic_tests(struct mm_struct *mm, unsigned long pfn, int idx) pud_basic_tests() argument 440 pmd_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pmd_t *pmdp, unsigned long pfn, unsigned long vaddr, pgprot_t prot, pgtable_t pgtable) pmd_advanced_tests() argument 446 pud_advanced_tests(struct mm_struct *mm, struct vm_area_struct *vma, pud_t *pudp, unsigned long pfn, unsigned long vaddr, pgprot_t prot) pud_advanced_tests() argument 452 pmd_leaf_tests(unsigned long pfn, pgprot_t prot) pmd_leaf_tests() argument 453 pud_leaf_tests(unsigned long pfn, pgprot_t prot) pud_leaf_tests() argument 454 pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot) pmd_huge_tests() argument 457 pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) pud_huge_tests() argument 460 pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot) pmd_savedwrite_tests() argument 463 p4d_basic_tests(unsigned long pfn, pgprot_t prot) p4d_basic_tests() argument 472 pgd_basic_tests(unsigned long pfn, pgprot_t prot) pgd_basic_tests() argument 605 pte_clear_tests(struct mm_struct *mm, pte_t *ptep, unsigned long pfn, unsigned long vaddr, pgprot_t prot) pte_clear_tests() argument 649 pte_special_tests(unsigned long pfn, pgprot_t prot) pte_special_tests() argument 660 pte_protnone_tests(unsigned long pfn, pgprot_t prot) pte_protnone_tests() argument 673 pmd_protnone_tests(unsigned long pfn, pgprot_t prot) pmd_protnone_tests() argument 689 pmd_protnone_tests(unsigned long pfn, pgprot_t prot) pmd_protnone_tests() argument 693 pte_devmap_tests(unsigned long pfn, pgprot_t prot) pte_devmap_tests() argument 702 pmd_devmap_tests(unsigned long pfn, pgprot_t prot) pmd_devmap_tests() argument 715 pud_devmap_tests(unsigned long pfn, pgprot_t prot) pud_devmap_tests() argument 727 pud_devmap_tests(unsigned long pfn, pgprot_t prot) pud_devmap_tests() argument 730 pmd_devmap_tests(unsigned long pfn, pgprot_t prot) pmd_devmap_tests() argument 731 pud_devmap_tests(unsigned long pfn, pgprot_t prot) pud_devmap_tests() argument 734 pte_devmap_tests(unsigned long pfn, pgprot_t prot) pte_devmap_tests() argument 735 pmd_devmap_tests(unsigned long pfn, pgprot_t prot) pmd_devmap_tests() argument 736 pud_devmap_tests(unsigned long pfn, pgprot_t prot) pud_devmap_tests() argument 739 pte_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pte_soft_dirty_tests() argument 751 pte_swap_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pte_swap_soft_dirty_tests() argument 764 pmd_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pmd_soft_dirty_tests() argument 780 pmd_swap_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pmd_swap_soft_dirty_tests() argument 797 pmd_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pmd_soft_dirty_tests() argument 798 pmd_swap_soft_dirty_tests(unsigned long pfn, pgprot_t prot) pmd_swap_soft_dirty_tests() argument 803 pte_swap_tests(unsigned long pfn, pgprot_t prot) pte_swap_tests() argument 816 pmd_swap_tests(unsigned long pfn, pgprot_t prot) pmd_swap_tests() argument 831 pmd_swap_tests(unsigned long pfn, pgprot_t prot) pmd_swap_tests() argument 877 hugetlb_basic_tests(unsigned long pfn, pgprot_t prot) hugetlb_basic_tests() argument 901 hugetlb_basic_tests(unsigned long pfn, pgprot_t prot) hugetlb_basic_tests() argument 905 pmd_thp_tests(unsigned long pfn, pgprot_t prot) pmd_thp_tests() argument 934 pud_thp_tests(unsigned long pfn, pgprot_t prot) pud_thp_tests() argument 954 pud_thp_tests(unsigned long pfn, pgprot_t prot) pud_thp_tests() argument 957 pmd_thp_tests(unsigned long pfn, pgprot_t prot) pmd_thp_tests() argument 958 pud_thp_tests(unsigned long pfn, pgprot_t prot) pud_thp_tests() argument [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | pfn_t.h | 8 * PFN_SG_CHAIN - pfn is a pointer to the next scatterlist entry 9 * PFN_SG_LAST - pfn references a page and is the last scatterlist entry 10 * PFN_DEV - pfn is not covered by system memmap by default 11 * PFN_MAP - pfn has a dynamic page mapping established by a device driver 29 static inline pfn_t __pfn_to_pfn_t(unsigned long pfn, u64 flags) in __pfn_to_pfn_t() argument 31 pfn_t pfn_t = { .val = pfn | (flags & PFN_FLAGS_MASK), }; in __pfn_to_pfn_t() 36 /* a default pfn to pfn_t conversion assumes that @pfn is pfn_valid() */ 37 static inline pfn_t pfn_to_pfn_t(unsigned long pfn) in pfn_to_pfn_t() argument 39 return __pfn_to_pfn_t(pfn, in pfn_to_pfn_t() 47 pfn_t_has_page(pfn_t pfn) pfn_t_has_page() argument 52 pfn_t_to_pfn(pfn_t pfn) pfn_t_to_pfn() argument 57 pfn_t_to_page(pfn_t pfn) pfn_t_to_page() argument 64 pfn_t_to_phys(pfn_t pfn) pfn_t_to_phys() argument 74 pfn_t_valid(pfn_t pfn) pfn_t_valid() argument 80 pfn_t_pte(pfn_t pfn, pgprot_t pgprot) pfn_t_pte() argument 87 pfn_t_pmd(pfn_t pfn, pgprot_t pgprot) pfn_t_pmd() argument 93 pfn_t_pud(pfn_t pfn, pgprot_t pgprot) pfn_t_pud() argument 101 pfn_t_devmap(pfn_t pfn) pfn_t_devmap() argument 108 pfn_t_devmap(pfn_t pfn) pfn_t_devmap() argument 121 pfn_t_special(pfn_t pfn) pfn_t_special() argument 126 pfn_t_special(pfn_t pfn) pfn_t_special() argument [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | pfn_t.h | 8 * PFN_SG_CHAIN - pfn is a pointer to the next scatterlist entry 9 * PFN_SG_LAST - pfn references a page and is the last scatterlist entry 10 * PFN_DEV - pfn is not covered by system memmap by default 11 * PFN_MAP - pfn has a dynamic page mapping established by a device driver 29 static inline pfn_t __pfn_to_pfn_t(unsigned long pfn, u64 flags) in __pfn_to_pfn_t() argument 31 pfn_t pfn_t = { .val = pfn | (flags & PFN_FLAGS_MASK), }; in __pfn_to_pfn_t() 36 /* a default pfn to pfn_t conversion assumes that @pfn is pfn_valid() */ 37 static inline pfn_t pfn_to_pfn_t(unsigned long pfn) in pfn_to_pfn_t() argument 39 return __pfn_to_pfn_t(pfn, in pfn_to_pfn_t() 47 pfn_t_has_page(pfn_t pfn) pfn_t_has_page() argument 52 pfn_t_to_pfn(pfn_t pfn) pfn_t_to_pfn() argument 57 pfn_t_to_page(pfn_t pfn) pfn_t_to_page() argument 64 pfn_t_to_phys(pfn_t pfn) pfn_t_to_phys() argument 74 pfn_t_valid(pfn_t pfn) pfn_t_valid() argument 80 pfn_t_pte(pfn_t pfn, pgprot_t pgprot) pfn_t_pte() argument 87 pfn_t_pmd(pfn_t pfn, pgprot_t pgprot) pfn_t_pmd() argument 93 pfn_t_pud(pfn_t pfn, pgprot_t pgprot) pfn_t_pud() argument 101 pfn_t_devmap(pfn_t pfn) pfn_t_devmap() argument 108 pfn_t_devmap(pfn_t pfn) pfn_t_devmap() argument 121 pfn_t_special(pfn_t pfn) pfn_t_special() argument 126 pfn_t_special(pfn_t pfn) pfn_t_special() argument [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/xen/ |
H A D | page.h | 8 #include <linux/pfn.h> 56 extern int xen_alloc_p2m_entry(unsigned long pfn); 58 extern unsigned long get_phys_to_machine(unsigned long pfn); 59 extern bool set_phys_to_machine(unsigned long pfn, unsigned long mfn); 60 extern bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn); 141 static inline unsigned long __pfn_to_mfn(unsigned long pfn) in __pfn_to_mfn() argument 145 if (pfn < xen_p2m_size) in __pfn_to_mfn() 146 mfn = xen_p2m_addr[pfn]; in __pfn_to_mfn() 147 else if (unlikely(pfn < xen_max_p2m_pfn)) in __pfn_to_mfn() 148 return get_phys_to_machine(pfn); in __pfn_to_mfn() 158 __pfn_to_mfn(unsigned long pfn) __pfn_to_mfn() argument 164 pfn_to_mfn(unsigned long pfn) pfn_to_mfn() argument 184 phys_to_machine_mapping_valid(unsigned long pfn) phys_to_machine_mapping_valid() argument 194 unsigned long pfn; mfn_to_pfn_no_overrides() local 214 unsigned long pfn; mfn_to_pfn() local 251 pfn_to_gfn(unsigned long pfn) pfn_to_gfn() argument 293 unsigned long pfn; bfn_to_local_pfn() local [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/xen/ |
H A D | page.h | 8 #include <linux/pfn.h> 56 extern int xen_alloc_p2m_entry(unsigned long pfn); 58 extern unsigned long get_phys_to_machine(unsigned long pfn); 59 extern bool set_phys_to_machine(unsigned long pfn, unsigned long mfn); 60 extern bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn); 133 static inline unsigned long __pfn_to_mfn(unsigned long pfn) in __pfn_to_mfn() argument 137 if (pfn < xen_p2m_size) in __pfn_to_mfn() 138 mfn = xen_p2m_addr[pfn]; in __pfn_to_mfn() 139 else if (unlikely(pfn < xen_max_p2m_pfn)) in __pfn_to_mfn() 140 return get_phys_to_machine(pfn); in __pfn_to_mfn() 150 __pfn_to_mfn(unsigned long pfn) __pfn_to_mfn() argument 156 pfn_to_mfn(unsigned long pfn) pfn_to_mfn() argument 176 phys_to_machine_mapping_valid(unsigned long pfn) phys_to_machine_mapping_valid() argument 186 unsigned long pfn; mfn_to_pfn_no_overrides() local 206 unsigned long pfn; mfn_to_pfn() local 243 pfn_to_gfn(unsigned long pfn) pfn_to_gfn() argument 285 unsigned long pfn; bfn_to_local_pfn() local [all...] |
/kernel/linux/linux-5.10/arch/x86/xen/ |
H A D | p2m.c | 59 * PFN is that we could find ourselves where pfn_to_mfn(pfn)==pfn for a 60 * non-identity pfn. To protect ourselves against we elect to set (and get) the 126 static inline unsigned p2m_top_index(unsigned long pfn) in p2m_top_index() argument 128 BUG_ON(pfn >= MAX_P2M_PFN); in p2m_top_index() 129 return pfn / (P2M_MID_PER_PAGE * P2M_PER_PAGE); in p2m_top_index() 132 static inline unsigned p2m_mid_index(unsigned long pfn) in p2m_mid_index() argument 134 return (pfn / P2M_PER_PAGE) % P2M_MID_PER_PAGE; in p2m_mid_index() 137 static inline unsigned p2m_index(unsigned long pfn) in p2m_index() argument 139 return pfn in p2m_index() 174 p2m_init_identity(unsigned long *p2m, unsigned long pfn) p2m_init_identity() argument 219 unsigned long pfn, mfn; xen_build_mfn_list_list() local 297 unsigned long pfn; xen_build_dynamic_phys_to_machine() local 313 xen_p2m_elem_type(unsigned long pfn) xen_p2m_elem_type() argument 334 unsigned long pfn; xen_rebuild_p2m_list() local 435 get_phys_to_machine(unsigned long pfn) get_phys_to_machine() argument 531 xen_alloc_p2m_entry(unsigned long pfn) xen_alloc_p2m_entry() argument 633 unsigned long pfn; set_phys_range_identity() local 650 __set_phys_to_machine(unsigned long pfn, unsigned long mfn) __set_phys_to_machine() argument 678 set_phys_to_machine(unsigned long pfn, unsigned long mfn) set_phys_to_machine() argument 711 unsigned long mfn, pfn; set_foreign_p2m_mapping() local 789 unsigned long pfn = page_to_pfn(pages[i]); clear_foreign_p2m_mapping() local 814 unsigned long pfn, first_pfn; p2m_dump_show() local [all...] |
/kernel/linux/linux-6.6/arch/x86/xen/ |
H A D | p2m.c | 59 * PFN is that we could find ourselves where pfn_to_mfn(pfn)==pfn for a 60 * non-identity pfn. To protect ourselves against we elect to set (and get) the 126 static inline unsigned p2m_top_index(unsigned long pfn) in p2m_top_index() argument 128 BUG_ON(pfn >= MAX_P2M_PFN); in p2m_top_index() 129 return pfn / (P2M_MID_PER_PAGE * P2M_PER_PAGE); in p2m_top_index() 132 static inline unsigned p2m_mid_index(unsigned long pfn) in p2m_mid_index() argument 134 return (pfn / P2M_PER_PAGE) % P2M_MID_PER_PAGE; in p2m_mid_index() 169 static void p2m_init_identity(unsigned long *p2m, unsigned long pfn) in p2m_init_identity() argument 174 p2m[i] = IDENTITY_FRAME(pfn in p2m_init_identity() 214 unsigned long pfn, mfn; xen_build_mfn_list_list() local 292 unsigned long pfn; xen_build_dynamic_phys_to_machine() local 308 xen_p2m_elem_type(unsigned long pfn) xen_p2m_elem_type() argument 329 unsigned long pfn; xen_rebuild_p2m_list() local 430 get_phys_to_machine(unsigned long pfn) get_phys_to_machine() argument 526 xen_alloc_p2m_entry(unsigned long pfn) xen_alloc_p2m_entry() argument 628 unsigned long pfn; set_phys_range_identity() local 645 __set_phys_to_machine(unsigned long pfn, unsigned long mfn) __set_phys_to_machine() argument 673 set_phys_to_machine(unsigned long pfn, unsigned long mfn) set_phys_to_machine() argument 706 unsigned long mfn, pfn; set_foreign_p2m_mapping() local 783 unsigned long pfn = page_to_pfn(pages[i]); clear_foreign_p2m_mapping() local 807 unsigned long pfn, first_pfn; p2m_dump_show() local [all...] |
/kernel/linux/linux-6.6/tools/testing/scatterlist/ |
H A D | main.c | 11 unsigned *pfn; member 28 #define pfn(...) (unsigned []){ __VA_ARGS__ } macro 42 printf(" %x", test->pfn[i]); in fail() 56 { -EINVAL, 1, pfn(0), NULL, PAGE_SIZE, 0, 1 }, in main() 57 { 0, 1, pfn(0), NULL, PAGE_SIZE, PAGE_SIZE + 1, 1 }, in main() 58 { 0, 1, pfn(0), NULL, PAGE_SIZE, sgmax, 1 }, in main() 59 { 0, 1, pfn(0), NULL, 1, sgmax, 1 }, in main() 60 { 0, 2, pfn(0, 1), NULL, 2 * PAGE_SIZE, sgmax, 1 }, in main() 61 { 0, 2, pfn(1, 0), NULL, 2 * PAGE_SIZE, sgmax, 2 }, in main() 62 { 0, 3, pfn( in main() [all...] |
/kernel/linux/linux-5.10/tools/testing/scatterlist/ |
H A D | main.c | 11 unsigned *pfn; member 27 #define pfn(...) (unsigned []){ __VA_ARGS__ } macro 41 printf(" %x", test->pfn[i]); in fail() 55 { -EINVAL, 1, pfn(0), PAGE_SIZE, 0, 1 }, in main() 56 { 0, 1, pfn(0), PAGE_SIZE, PAGE_SIZE + 1, 1 }, in main() 57 { 0, 1, pfn(0), PAGE_SIZE, sgmax + 1, 1 }, in main() 58 { 0, 1, pfn(0), PAGE_SIZE, sgmax, 1 }, in main() 59 { 0, 1, pfn(0), 1, sgmax, 1 }, in main() 60 { 0, 2, pfn(0, 1), 2 * PAGE_SIZE, sgmax, 1 }, in main() 61 { 0, 2, pfn( in main() [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | ksm.h | 123 * @pfn: page frame number of ksm page 132 TP_PROTO(unsigned long pfn, void *rmap_item, void *mm, int err), 134 TP_ARGS(pfn, rmap_item, mm, err), 137 __field(unsigned long, pfn) 144 __entry->pfn = pfn; 150 TP_printk("ksm pfn %lu rmap_item %p mm %p error %d", 151 __entry->pfn, __entry->rmap_item, __entry->mm, __entry->err) 158 * @pfn: page frame number of ksm page 167 TP_PROTO(void *ksm_page, unsigned long pfn, voi [all...] |
H A D | cma.h | 13 TP_PROTO(const char *name, unsigned long pfn, const struct page *page, 16 TP_ARGS(name, pfn, page, count), 20 __field(unsigned long, pfn) 27 __entry->pfn = pfn; 32 TP_printk("name=%s pfn=0x%lx page=%p count=%lu", 34 __entry->pfn, 65 TP_PROTO(const char *name, unsigned long pfn, const struct page *page, 68 TP_ARGS(name, pfn, page, count, align, errorno), 72 __field(unsigned long, pfn) [all...] |
/kernel/linux/linux-6.6/mm/ |
H A D | page_ext.c | 157 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local 171 index = pfn - round_down(node_start_pfn(page_to_nid(page)), in lookup_page_ext() 236 unsigned long pfn = page_to_pfn(page); in lookup_page_ext() local 237 struct mem_section *section = __pfn_to_section(pfn); in lookup_page_ext() 249 return get_entry(page_ext, pfn); in lookup_page_ext() 268 static int __meminit init_section_page_ext(unsigned long pfn, int nid) in init_section_page_ext() argument 274 section = __pfn_to_section(pfn); in init_section_page_ext() 283 * The value stored in section->page_ext is (base - pfn) in init_section_page_ext() 295 * The passed "pfn" may not be aligned to SECTION. For the calculation in init_section_page_ext() 298 pfn in init_section_page_ext() 320 __free_page_ext(unsigned long pfn) __free_page_ext() argument 342 __invalidate_page_ext(unsigned long pfn) __invalidate_page_ext() argument 358 unsigned long start, end, pfn; online_page_ext() local 390 unsigned long start, end, pfn; offline_page_ext() local 444 unsigned long pfn; page_ext_init() local [all...] |
H A D | page_isolation.c | 38 unsigned long pfn; in has_unmovable_pages() local 55 for (pfn = start_pfn; pfn < end_pfn; pfn++) { in has_unmovable_pages() 56 page = pfn_to_page(pfn); in has_unmovable_pages() 93 pfn += skip_pages - 1; in has_unmovable_pages() 105 pfn += (1 << buddy_order(page)) - 1; in has_unmovable_pages() 267 __first_valid_page(unsigned long pfn, unsigned long nr_pages) in __first_valid_page() argument 274 page = pfn_to_online_page(pfn + i); in __first_valid_page() 285 * @boundary_pfn: pageblock-aligned pfn tha 311 unsigned long pfn; isolate_single_pageblock() local 531 unsigned long pfn; start_isolate_page_range() local 585 unsigned long pfn; undo_isolate_page_range() local 607 __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, int flags) __test_page_isolated_in_pageblock() argument 657 unsigned long pfn, flags; test_pages_isolated() local [all...] |
H A D | sparse.c | 184 static void subsection_mask_set(unsigned long *map, unsigned long pfn, in subsection_mask_set() argument 187 int idx = subsection_map_index(pfn); in subsection_mask_set() 188 int end = subsection_map_index(pfn + nr_pages - 1); in subsection_mask_set() 193 void __init subsection_map_init(unsigned long pfn, unsigned long nr_pages) in subsection_map_init() argument 195 int end_sec = pfn_to_section_nr(pfn + nr_pages - 1); in subsection_map_init() 196 unsigned long nr, start_sec = pfn_to_section_nr(pfn); in subsection_map_init() 206 - (pfn & ~PAGE_SECTION_MASK)); in subsection_map_init() 208 subsection_mask_set(ms->usage->subsection_map, pfn, pfns); in subsection_map_init() 211 pfns, subsection_map_index(pfn), in subsection_map_init() 212 subsection_map_index(pfn in subsection_map_init() 219 subsection_map_init(unsigned long pfn, unsigned long nr_pages) subsection_map_init() argument 227 unsigned long pfn; memory_present() local 428 __populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) __populate_section_memmap() argument 521 unsigned long pfn = section_nr_to_pfn(pnum); sparse_init_nid() local 594 unsigned long pfn; online_mem_sections() local 612 unsigned long pfn; offline_mem_sections() local 631 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) populate_section_memmap() argument 638 depopulate_section_memmap(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) depopulate_section_memmap() argument 654 clear_subsection_map(unsigned long pfn, unsigned long nr_pages) clear_subsection_map() argument 681 fill_subsection_map(unsigned long pfn, unsigned long nr_pages) fill_subsection_map() argument 703 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) populate_section_memmap() argument 711 depopulate_section_memmap(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) depopulate_section_memmap() argument 747 clear_subsection_map(unsigned long pfn, unsigned long nr_pages) clear_subsection_map() argument 757 fill_subsection_map(unsigned long pfn, unsigned long nr_pages) fill_subsection_map() argument 779 section_deactivate(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) section_deactivate() argument 828 section_activate(int nid, unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) section_activate() argument 925 sparse_remove_section(unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap) sparse_remove_section() argument [all...] |
/kernel/linux/linux-5.10/include/asm-generic/ |
H A D | memory_model.h | 5 #include <linux/pfn.h> 18 #define arch_pfn_to_nid(pfn) pfn_to_nid(pfn) 22 #define arch_local_page_offset(pfn, nid) \ 23 ((pfn) - NODE_DATA(nid)->node_start_pfn) 33 #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET)) 38 #define __pfn_to_page(pfn) \ 39 ({ unsigned long __pfn = (pfn); \ 54 #define __pfn_to_page(pfn) (vmemma [all...] |
/kernel/linux/linux-5.10/arch/arm/xen/ |
H A D | p2m.c | 22 unsigned long pfn; member 43 if (new->pfn == entry->pfn) in xen_add_phys_to_mach_entry() 46 if (new->pfn < entry->pfn) in xen_add_phys_to_mach_entry() 57 pr_warn("%s: cannot add pfn=%pa -> mfn=%pa: pfn=%pa -> mfn=%pa already exists\n", in xen_add_phys_to_mach_entry() 58 __func__, &new->pfn, &new->mfn, &entry->pfn, &entry->mfn); in xen_add_phys_to_mach_entry() 63 unsigned long __pfn_to_mfn(unsigned long pfn) in __pfn_to_mfn() argument 151 __set_phys_to_machine_multi(unsigned long pfn, unsigned long mfn, unsigned long nr_pages) __set_phys_to_machine_multi() argument 200 __set_phys_to_machine(unsigned long pfn, unsigned long mfn) __set_phys_to_machine() argument [all...] |
/kernel/linux/linux-6.6/arch/arm/xen/ |
H A D | p2m.c | 23 unsigned long pfn; member 44 if (new->pfn == entry->pfn) in xen_add_phys_to_mach_entry() 47 if (new->pfn < entry->pfn) in xen_add_phys_to_mach_entry() 58 pr_warn("%s: cannot add pfn=%pa -> mfn=%pa: pfn=%pa -> mfn=%pa already exists\n", in xen_add_phys_to_mach_entry() 59 __func__, &new->pfn, &new->mfn, &entry->pfn, &entry->mfn); in xen_add_phys_to_mach_entry() 64 unsigned long __pfn_to_mfn(unsigned long pfn) in __pfn_to_mfn() argument 150 __set_phys_to_machine_multi(unsigned long pfn, unsigned long mfn, unsigned long nr_pages) __set_phys_to_machine_multi() argument 199 __set_phys_to_machine(unsigned long pfn, unsigned long mfn) __set_phys_to_machine() argument [all...] |
/kernel/linux/linux-6.6/scripts/gdb/linux/ |
H A D | page_owner.py | 24 --pfn [Decimal pfn] 26 lx-dump-page-owner --pfn 655360\n""" 55 if argv[0] == "--pfn": 56 pfn = int(argv[1]) 57 self.read_page_owner_by_addr(self.p_ops.pfn_to_page(pfn)) 80 pfn = self.p_ops.page_to_pfn(page) 81 section = self.p_ops.pfn_to_section(pfn) 85 return self.get_entry(page_ext, pfn) 100 pfn [all...] |
/kernel/linux/linux-6.6/include/asm-generic/ |
H A D | memory_model.h | 5 #include <linux/pfn.h> 18 #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET)) 23 static inline int pfn_valid(unsigned long pfn) in pfn_valid() argument 29 return pfn >= pfn_offset && (pfn - pfn_offset) < max_mapnr; in pfn_valid() 37 #define __pfn_to_page(pfn) (vmemmap + (pfn)) 51 #define __pfn_to_page(pfn) \ 52 ({ unsigned long __pfn = (pfn); \ [all...] |