diff options
| author | Dmitry Torokhov <[email protected]> | 2017-09-04 09:22:54 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2017-09-04 09:22:54 -0700 | 
| commit | a6cbfa1e6d38c4b3ab0ce7e3aea4bb4e744f24b8 (patch) | |
| tree | 8960e571a398b5d32e72bdb9c89ce965daa870ab /mm/memblock.c | |
| parent | f5308d1b83eba20e69df5e0926ba7257c8dd9074 (diff) | |
| parent | 08d6ac9ee5fedd82040bc878705981b67a116a3f (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 4.14 merge window.
Diffstat (limited to 'mm/memblock.c')
| -rw-r--r-- | mm/memblock.c | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/mm/memblock.c b/mm/memblock.c index b049c9b2dba8..7b8a5db76a2f 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1739,6 +1739,29 @@ static void __init_memblock memblock_dump(struct memblock_type *type)  	}  } +extern unsigned long __init_memblock +memblock_reserved_memory_within(phys_addr_t start_addr, phys_addr_t end_addr) +{ +	struct memblock_region *rgn; +	unsigned long size = 0; +	int idx; + +	for_each_memblock_type((&memblock.reserved), rgn) { +		phys_addr_t start, end; + +		if (rgn->base + rgn->size < start_addr) +			continue; +		if (rgn->base > end_addr) +			continue; + +		start = rgn->base; +		end = start + rgn->size; +		size += end - start; +	} + +	return size; +} +  void __init_memblock __memblock_dump_all(void)  {  	pr_info("MEMBLOCK configuration:\n");  |