Some architectures (like s390, microblaze and etc...) require size of the first memory region. This patch provides new memblock_first_region_size() helper for this case. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> --- include/linux/memblock.h | 1 + mm/memblock.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/linux/memblock.h b/include/linux/memblock.h index cc4b019..8a481e5 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h @@ -319,6 +319,7 @@ phys_addr_t memblock_phys_mem_size(void); phys_addr_t memblock_mem_size(unsigned long limit_pfn); phys_addr_t memblock_start_of_DRAM(void); phys_addr_t memblock_end_of_DRAM(void); +phys_addr_t memblock_first_region_size(void); void memblock_enforce_memory_limit(phys_addr_t memory_limit); int memblock_is_memory(phys_addr_t addr); int memblock_is_region_memory(phys_addr_t base, phys_addr_t size); diff --git a/mm/memblock.c b/mm/memblock.c index 87108e7..fb4b7ca 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1463,6 +1463,11 @@ phys_addr_t __init_memblock memblock_end_of_DRAM(void) return (memblock.memory.regions[idx].base + memblock.memory.regions[idx].size); } +phys_addr_t __init_memblock memblock_first_region_size(void) +{ + return memblock.memory.regions[0].size; +} + void __init memblock_enforce_memory_limit(phys_addr_t limit) { phys_addr_t max_addr = (phys_addr_t)ULLONG_MAX; -- 2.5.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>