On Thu, Sep 14, 2017 at 08:59:05PM +0200, Mathieu Malaterre wrote: >On Thu, Sep 14, 2017 at 5:51 PM, Levin, Alexander (Sasha Levin) ><alexander.levin@xxxxxxxxxxx> wrote: >> From: Marcin Nowakowski <marcin.nowakowski@xxxxxxxxxx> >> >> [ Upstream commit 73fbc1eba7ffa3bf0ad12486232a8a1edb4e4411 ] >> >> When a memory offset is specified through the commandline, add the >> memory in range PHYS_OFFSET:Y as reserved memory area. >> Otherwise the bootmem allocator is initialised with low page equal to >> min_low_pfn = PHYS_OFFSET, and in free_all_bootmem will process pages >> starting from min_low_pfn instead of PFN(Y). >> >> Signed-off-by: Marcin Nowakowski <marcin.nowakowski@xxxxxxxxxx> >> Cc: linux-mips@xxxxxxxxxxxxxx >> Patchwork: https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.linux-2Dmips.org_patch_14613_&d=DwIBaQ&c=udBTRvFvXC5Dhqg7UHpJlPps3mZ3LRxpb6__0PomBTQ&r=bUtaaC9mlBij4OjEG_D-KPul_335azYzfC4Rjgomobo&m=6siOw0e29CYMhuJcboVwEeX-LcC1yJjtnGPVl_1tClQ&s=rP-QGn8HHjuow4b4qd6sfl_EEPoAKkxAffkh1zEq-kc&e= >> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> >> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx> >> --- >> arch/mips/kernel/setup.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c >> index f66e5ce505b2..38697f25d168 100644 >> --- a/arch/mips/kernel/setup.c >> +++ b/arch/mips/kernel/setup.c >> @@ -589,6 +589,10 @@ static int __init early_parse_mem(char *p) >> start = memparse(p + 1, &p); >> >> add_memory_region(start, size, BOOT_MEM_RAM); >> + >> + if (start && start > PHYS_OFFSET) >> + add_memory_region(PHYS_OFFSET, start - PHYS_OFFSET, >> + BOOT_MEM_RESERVED); >> return 0; >> } >> early_param("mem", early_parse_mem); > >Does not work on MIPS Creator CI20. See: Hm, so upstream is actually broken right now? -- Thanks, Sasha