Lines Matching defs:pfn
714 * Walk the radix tree to find the page containing the bit that represents @pfn
717 static int memory_bm_find_bit(struct memory_bitmap *bm, unsigned long pfn, void **addr, unsigned int *bit_nr)
725 if (pfn >= zone->start_pfn && pfn < zone->end_pfn) {
734 if (pfn >= curr->start_pfn && pfn < curr->end_pfn) {
752 * pfn falls into the current node then we do not need to walk
756 if (zone == bm->cur.zone && ((pfn - zone->start_pfn) & ~BM_BLOCK_MASK) == bm->cur.node_pfn) {
761 block_nr = (pfn - zone->start_pfn) >> BM_BLOCK_SHIFT;
776 bm->cur.node_pfn = (pfn - zone->start_pfn) & ~BM_BLOCK_MASK;
780 *bit_nr = (pfn - zone->start_pfn) & BM_BLOCK_MASK;
785 static void memory_bm_set_bit(struct memory_bitmap *bm, unsigned long pfn)
791 error = memory_bm_find_bit(bm, pfn, &addr, &bit);
796 static int mem_bm_set_bit_check(struct memory_bitmap *bm, unsigned long pfn)
802 error = memory_bm_find_bit(bm, pfn, &addr, &bit);
810 static void memory_bm_clear_bit(struct memory_bitmap *bm, unsigned long pfn)
816 error = memory_bm_find_bit(bm, pfn, &addr, &bit);
829 static int memory_bm_test_bit(struct memory_bitmap *bm, unsigned long pfn)
835 error = memory_bm_find_bit(bm, pfn, &addr, &bit);
840 static bool memory_bm_pfn_present(struct memory_bitmap *bm, unsigned long pfn)
845 return !memory_bm_find_bit(bm, pfn, &addr, &bit);
894 unsigned long bits, pfn, pages;
902 pfn = bm->cur.zone->start_pfn + bm->cur.node_pfn + bit;
904 return pfn;
1055 unsigned long pfn;
1060 for (pfn = region->start_pfn; pfn < region->end_pfn; pfn++) {
1061 if (pfn_valid(pfn)) {
1068 mem_bm_set_bit_check(bm, pfn);
1169 unsigned long pfn;
1177 pfn = memory_bm_next_pfn(bm);
1178 while (pfn != BM_END_OF_MAP) {
1179 if (pfn_valid(pfn)) {
1180 clear_or_poison_free_page(pfn_to_page(pfn));
1183 pfn = memory_bm_next_pfn(bm);
1236 static struct page *saveable_highmem_page(struct zone *zone, unsigned long pfn)
1240 if (!pfn_valid(pfn)) {
1244 page = pfn_to_online_page(pfn);
1276 unsigned long pfn, max_zone_pfn;
1284 for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++) {
1285 if (saveable_highmem_page(zone, pfn)) {
1309 static struct page *saveable_page(struct zone *zone, unsigned long pfn)
1313 if (!pfn_valid(pfn)) {
1317 page = pfn_to_online_page(pfn);
1332 if (PageReserved(page) && (!kernel_page_present(page) || pfn_is_nosave(pfn))) {
1349 unsigned long pfn, max_zone_pfn;
1360 for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++) {
1361 if (saveable_page(zone, pfn)) {
1402 static inline struct page *page_is_saveable(struct zone *zone, unsigned long pfn)
1404 return is_highmem(zone) ? saveable_highmem_page(zone, pfn) : saveable_page(zone, pfn);
1436 #define page_is_saveable(zone, pfn) saveable_page(zone, pfn)
1447 unsigned long pfn;
1455 for (pfn = zone->zone_start_pfn; pfn < max_zone_pfn; pfn++) {
1456 if (page_is_saveable(zone, pfn)) {
1457 memory_bm_set_bit(orig_bm, pfn);
1464 pfn = memory_bm_next_pfn(orig_bm);
1465 if (unlikely(pfn == BM_END_OF_MAP)) {
1468 copy_data_page(memory_bm_next_pfn(copy_bm), pfn);
1668 unsigned long pfn = memory_bm_next_pfn(©_bm);
1669 struct page *page = pfn_to_page(pfn);
1684 memory_bm_clear_bit(©_bm, pfn);
2204 unsigned long pfn;
2207 pfn = memory_bm_next_pfn(src);
2208 while (pfn != BM_END_OF_MAP) {
2209 memory_bm_set_bit(dst, pfn);
2210 pfn = memory_bm_next_pfn(src);
2222 unsigned long pfn;
2226 pfn = memory_bm_next_pfn(free_pages_map);
2227 while (pfn != BM_END_OF_MAP) {
2229 pfn = memory_bm_next_pfn(free_pages_map);
2324 unsigned long pfn;
2328 pfn = memory_bm_next_pfn(bm);
2329 while (pfn != BM_END_OF_MAP) {
2330 if (PageHighMem(pfn_to_page(pfn))) {
2334 pfn = memory_bm_next_pfn(bm);
2618 unsigned long pfn = memory_bm_next_pfn(bm);
2619 if (pfn == BM_END_OF_MAP) {
2623 page = pfn_to_page(pfn);