From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754634AbeAQWZ3 (ORCPT ); Wed, 17 Jan 2018 17:25:29 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:38681 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753812AbeAQWX3 (ORCPT ); Wed, 17 Jan 2018 17:23:29 -0500 X-Google-Smtp-Source: ACJfBosVJpGKDInLMbwiecma/1U7lBnLe2uJvD7gpDKfHvHfUfzuaebo8VQUdwgYoQGAdYrDBVeNsA== From: Serge Semin To: ralf@linux-mips.org, miodrag.dinic@mips.com, jhogan@kernel.org, goran.ferenc@mips.com, david.daney@cavium.com, paul.gortmaker@windriver.com, paul.burton@mips.com, alex.belits@cavium.com, Steven.Hill@cavium.com Cc: alexander.sverdlin@nokia.com, matt.redfearn@mips.com, kumba@gentoo.org, marcin.nowakowski@mips.com, James.hogan@mips.com, Peter.Wotton@mips.com, Sergey.Semin@t-platforms.ru, linux-mips@linux-mips.org, linux-kernel@vger.kernel.org, Serge Semin Subject: [PATCH 07/14] MIPS: memblock: Mark present sparsemem sections Date: Thu, 18 Jan 2018 01:23:05 +0300 Message-Id: <20180117222312.14763-8-fancer.lancer@gmail.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180117222312.14763-1-fancer.lancer@gmail.com> References: <20180117222312.14763-1-fancer.lancer@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If sparsemem is activated all sections with present pages must be accordingly marked after memblock is fully initialized. Signed-off-by: Serge Semin --- arch/mips/kernel/setup.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index b121fa702..6df1eaf38 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -778,7 +778,7 @@ static void __init request_crashkernel(struct resource *res) static void __init arch_mem_init(char **cmdline_p) { - struct memblock_region *reg; + struct memblock_region *reg __maybe_unused; extern void plat_mem_setup(void); /* call board setup routine */ @@ -860,6 +860,11 @@ static void __init arch_mem_init(char **cmdline_p) crashk_res.end - crashk_res.start + 1); #endif device_tree_init(); +#ifdef CONFIG_SPARSEMEM + for_each_memblock(memory, reg) + memory_present(0, memblock_region_memory_base_pfn(reg), + memblock_region_memory_end_pfn(reg)); +#endif /* CONFIG_SPARSEMEM */ sparse_init(); plat_swiotlb_setup(); -- 2.12.0