Message ID | 20210209010151.85751-1-wangkefeng.wang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] riscv: Cleanup setup_bootmem() | expand |
On Mon, 08 Feb 2021 17:01:51 PST (-0800), wangkefeng.wang@huawei.com wrote: > After the following patches, > > commit de043da0b9e7 ("RISC-V: Fix usage of memblock_enforce_memory_limit") > commit 1bd14a66ee52 ("RISC-V: Remove any memblock representing unusable memory area") > commit b10d6bca8720 ("arch, drivers: replace for_each_membock() with for_each_mem_range()") > > some logic is useless, kill the mem_start/start/end and unneeded code. > > Reviewed-by: Atish Patra <atish.patra@wdc.com> > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> > --- > v2: > - Update changelog and add RB. > > arch/riscv/mm/init.c | 21 ++------------------- > 1 file changed, 2 insertions(+), 19 deletions(-) > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 0b86a1a12da2..241f22348403 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -108,34 +108,17 @@ void __init mem_init(void) > > void __init setup_bootmem(void) > { > - phys_addr_t mem_start = 0; > - phys_addr_t start, dram_end, end = 0; > phys_addr_t vmlinux_end = __pa_symbol(&_end); > phys_addr_t vmlinux_start = __pa_symbol(&_start); > + phys_addr_t dram_end = memblock_end_of_DRAM(); > phys_addr_t max_mapped_addr = __pa(~(ulong)0); > - u64 i; > - > - /* Find the memory region containing the kernel */ > - for_each_mem_range(i, &start, &end) { > - phys_addr_t size = end - start; > - if (!mem_start) > - mem_start = start; > - if (start <= vmlinux_start && vmlinux_end <= end) > - BUG_ON(size == 0); > - } > > - /* > - * The maximal physical memory size is -PAGE_OFFSET. > - * Make sure that any memory beyond mem_start + (-PAGE_OFFSET) is removed > - * as it is unusable by kernel. > - */ > + /* The maximal physical memory size is -PAGE_OFFSET. */ > memblock_enforce_memory_limit(-PAGE_OFFSET); > > /* Reserve from the start of the kernel to the end of the kernel */ > memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start); > > - dram_end = memblock_end_of_DRAM(); > - > /* > * memblock allocator is not aware of the fact that last 4K bytes of > * the addressable memory can not be mapped because of IS_ERR_VALUE Thanks, this is on for-next.
On 2021/2/19 15:15, Palmer Dabbelt wrote: > On Mon, 08 Feb 2021 17:01:51 PST (-0800), wangkefeng.wang@huawei.com > wrote: >> After the following patches, >> >> commit de043da0b9e7 ("RISC-V: Fix usage of >> memblock_enforce_memory_limit") >> commit 1bd14a66ee52 ("RISC-V: Remove any memblock representing >> unusable memory area") >> commit b10d6bca8720 ("arch, drivers: replace for_each_membock() >> with for_each_mem_range()") >> >> some logic is useless, kill the mem_start/start/end and unneeded code. >> >> Reviewed-by: Atish Patra <atish.patra@wdc.com> >> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> >> ... > > Thanks, this is on for-next. Hi Palmer, maybe this one is missed? > . >
On Fri, 26 Feb 2021 17:21:00 PST (-0800), wangkefeng.wang@huawei.com wrote: > > On 2021/2/19 15:15, Palmer Dabbelt wrote: >> On Mon, 08 Feb 2021 17:01:51 PST (-0800), wangkefeng.wang@huawei.com >> wrote: >>> After the following patches, >>> >>> commit de043da0b9e7 ("RISC-V: Fix usage of >>> memblock_enforce_memory_limit") >>> commit 1bd14a66ee52 ("RISC-V: Remove any memblock representing >>> unusable memory area") >>> commit b10d6bca8720 ("arch, drivers: replace for_each_membock() >>> with for_each_mem_range()") >>> >>> some logic is useless, kill the mem_start/start/end and unneeded code. >>> >>> Reviewed-by: Atish Patra <atish.patra@wdc.com> >>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> >>> > ... >> >> Thanks, this is on for-next. > Hi Palmer, maybe this one is missed? Sorry about that, I'll sent it up tomorrow.
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 0b86a1a12da2..241f22348403 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -108,34 +108,17 @@ void __init mem_init(void) void __init setup_bootmem(void) { - phys_addr_t mem_start = 0; - phys_addr_t start, dram_end, end = 0; phys_addr_t vmlinux_end = __pa_symbol(&_end); phys_addr_t vmlinux_start = __pa_symbol(&_start); + phys_addr_t dram_end = memblock_end_of_DRAM(); phys_addr_t max_mapped_addr = __pa(~(ulong)0); - u64 i; - - /* Find the memory region containing the kernel */ - for_each_mem_range(i, &start, &end) { - phys_addr_t size = end - start; - if (!mem_start) - mem_start = start; - if (start <= vmlinux_start && vmlinux_end <= end) - BUG_ON(size == 0); - } - /* - * The maximal physical memory size is -PAGE_OFFSET. - * Make sure that any memory beyond mem_start + (-PAGE_OFFSET) is removed - * as it is unusable by kernel. - */ + /* The maximal physical memory size is -PAGE_OFFSET. */ memblock_enforce_memory_limit(-PAGE_OFFSET); /* Reserve from the start of the kernel to the end of the kernel */ memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start); - dram_end = memblock_end_of_DRAM(); - /* * memblock allocator is not aware of the fact that last 4K bytes of * the addressable memory can not be mapped because of IS_ERR_VALUE