Message ID | 1646461289-31992-2-git-send-email-yangtiezhu@loongson.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | MIPS: Modify mem= and memmap= parameter | expand |
On Sat, Mar 05, 2022 at 02:21:26PM +0800, Tiezhu Yang wrote: > This is preparation for supporting mem=limit@base and memmap=limit@base > parameters, no functionality change. > > Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> NAK. We already have enough memory capping interfaces in memblock, we don't need yet another one. > --- > include/linux/memblock.h | 1 + > mm/memblock.c | 9 +++++++-- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/include/linux/memblock.h b/include/linux/memblock.h > index 50ad196..e558d2c 100644 > --- a/include/linux/memblock.h > +++ b/include/linux/memblock.h > @@ -482,6 +482,7 @@ phys_addr_t memblock_end_of_DRAM(void); > void memblock_enforce_memory_limit(phys_addr_t memory_limit); > void memblock_cap_memory_range(phys_addr_t base, phys_addr_t size); > void memblock_mem_limit_remove_map(phys_addr_t limit); > +void memblock_mem_range_remove_map(phys_addr_t base, phys_addr_t limit); > bool memblock_is_memory(phys_addr_t addr); > bool memblock_is_map_memory(phys_addr_t addr); > bool memblock_is_region_memory(phys_addr_t base, phys_addr_t size); > diff --git a/mm/memblock.c b/mm/memblock.c > index 1018e50..2476d15d 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -1723,7 +1723,7 @@ void __init memblock_cap_memory_range(phys_addr_t base, phys_addr_t size) > base + size, PHYS_ADDR_MAX); > } > > -void __init memblock_mem_limit_remove_map(phys_addr_t limit) > +void __init memblock_mem_range_remove_map(phys_addr_t base, phys_addr_t limit) > { > phys_addr_t max_addr; > > @@ -1736,7 +1736,12 @@ void __init memblock_mem_limit_remove_map(phys_addr_t limit) > if (max_addr == PHYS_ADDR_MAX) > return; > > - memblock_cap_memory_range(0, max_addr); > + memblock_cap_memory_range(base, max_addr); > +} > + > +void __init memblock_mem_limit_remove_map(phys_addr_t limit) > +{ > + memblock_mem_range_remove_map(0, limit); > } > > static int __init_memblock memblock_search(struct memblock_type *type, phys_addr_t addr) > -- > 2.1.0 >
diff --git a/include/linux/memblock.h b/include/linux/memblock.h index 50ad196..e558d2c 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h @@ -482,6 +482,7 @@ phys_addr_t memblock_end_of_DRAM(void); void memblock_enforce_memory_limit(phys_addr_t memory_limit); void memblock_cap_memory_range(phys_addr_t base, phys_addr_t size); void memblock_mem_limit_remove_map(phys_addr_t limit); +void memblock_mem_range_remove_map(phys_addr_t base, phys_addr_t limit); bool memblock_is_memory(phys_addr_t addr); bool memblock_is_map_memory(phys_addr_t addr); bool memblock_is_region_memory(phys_addr_t base, phys_addr_t size); diff --git a/mm/memblock.c b/mm/memblock.c index 1018e50..2476d15d 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1723,7 +1723,7 @@ void __init memblock_cap_memory_range(phys_addr_t base, phys_addr_t size) base + size, PHYS_ADDR_MAX); } -void __init memblock_mem_limit_remove_map(phys_addr_t limit) +void __init memblock_mem_range_remove_map(phys_addr_t base, phys_addr_t limit) { phys_addr_t max_addr; @@ -1736,7 +1736,12 @@ void __init memblock_mem_limit_remove_map(phys_addr_t limit) if (max_addr == PHYS_ADDR_MAX) return; - memblock_cap_memory_range(0, max_addr); + memblock_cap_memory_range(base, max_addr); +} + +void __init memblock_mem_limit_remove_map(phys_addr_t limit) +{ + memblock_mem_range_remove_map(0, limit); } static int __init_memblock memblock_search(struct memblock_type *type, phys_addr_t addr)
This is preparation for supporting mem=limit@base and memmap=limit@base parameters, no functionality change. Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> --- include/linux/memblock.h | 1 + mm/memblock.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-)