memblock.c (87c55870f01266fe22f345a0767162f85f1cf8f1) | memblock.c (c9118e6c37bff9ade90b638207a6e0db676ee6a9) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Procedures for maintaining information about logical memory blocks. 4 * 5 * Peter Bergner, IBM Corp. June 2001. 6 * Copyright (C) 2001 Peter Bergner. 7 */ 8 --- 1649 unchanged lines hidden (view full) --- 1658phys_addr_t __init_memblock memblock_reserved_size(void) 1659{ 1660 return memblock.reserved.total_size; 1661} 1662 1663phys_addr_t __init memblock_mem_size(unsigned long limit_pfn) 1664{ 1665 unsigned long pages = 0; | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Procedures for maintaining information about logical memory blocks. 4 * 5 * Peter Bergner, IBM Corp. June 2001. 6 * Copyright (C) 2001 Peter Bergner. 7 */ 8 --- 1649 unchanged lines hidden (view full) --- 1658phys_addr_t __init_memblock memblock_reserved_size(void) 1659{ 1660 return memblock.reserved.total_size; 1661} 1662 1663phys_addr_t __init memblock_mem_size(unsigned long limit_pfn) 1664{ 1665 unsigned long pages = 0; |
1666 struct memblock_region *r; | |
1667 unsigned long start_pfn, end_pfn; | 1666 unsigned long start_pfn, end_pfn; |
1667 int i; |
|
1668 | 1668 |
1669 for_each_memblock(memory, r) { 1670 start_pfn = memblock_region_memory_base_pfn(r); 1671 end_pfn = memblock_region_memory_end_pfn(r); | 1669 for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) { |
1672 start_pfn = min_t(unsigned long, start_pfn, limit_pfn); 1673 end_pfn = min_t(unsigned long, end_pfn, limit_pfn); 1674 pages += end_pfn - start_pfn; 1675 } 1676 1677 return PFN_PHYS(pages); 1678} 1679 --- 414 unchanged lines hidden --- | 1670 start_pfn = min_t(unsigned long, start_pfn, limit_pfn); 1671 end_pfn = min_t(unsigned long, end_pfn, limit_pfn); 1672 pages += end_pfn - start_pfn; 1673 } 1674 1675 return PFN_PHYS(pages); 1676} 1677 --- 414 unchanged lines hidden --- |