From patchwork Thu Mar 6 18:51:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Rapoport X-Patchwork-Id: 14005191 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0825C282D1 for ; Thu, 6 Mar 2025 18:52:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3D0A280006; Thu, 6 Mar 2025 13:52:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CEB37280004; Thu, 6 Mar 2025 13:52:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B8C69280006; Thu, 6 Mar 2025 13:52:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9A479280004 for ; Thu, 6 Mar 2025 13:52:14 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A300B1425F3 for ; Thu, 6 Mar 2025 18:52:14 +0000 (UTC) X-FDA: 83192021388.02.852285A Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf09.hostedemail.com (Postfix) with ESMTP id 004B314000E for ; Thu, 6 Mar 2025 18:52:12 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jV0L4MxA; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf09.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741287133; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+ade8eAKcDIFtXQJgshQWuspJvzYLQoG9wyU5NjeFQQ=; b=kxsMZIF6zj825E2PUvNmgRHCr17brO5q4cfw50qI+IhmILN8jIp7LO703rcFDTGRmJn3im jBQ90QHB1afhzao6F3+7yOAu1MB9ncGpSbPDyw6XBU5zmtqzxUVuzwxZ8sFkADCGw8E4FW b9otV9OA/XuGAEETHLqmndyf3Qe9HNo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741287133; a=rsa-sha256; cv=none; b=rNi12u7pYn5DdssK4NJqs6BB9Gmkf9GOx/G5rUg9Lba461wnJ4gNO9UUt3S5Dfd2RYrb78 qDlBhnIpdw9xBSHPtB+psr3lnLpySsMQSxtfg1XP63MSz8mZA5zStPOGdKKDSGcfgst0SN ks9wrB4mAUwpFdxV/ehYa193LoqIRLY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jV0L4MxA; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf09.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id ECBF95C58B7; Thu, 6 Mar 2025 18:49:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5485C4CEEC; Thu, 6 Mar 2025 18:51:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741287131; bh=8AVATLG9lzmcQcx5E69jKjTsUN+LZvQn92lo4/jx/sQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jV0L4MxA7ZLOPXJ7CzvIBhifnvQ3cLfWLbGX9Kpq+TJV+I4pYEortTLjsgEQ+JgOz MJeD/6kqeK3kbbbLebIrILdKUS+MINmZ+/B/sNOxLIGg7XbVwZV42EgAZnZAp6YA9n 29WDsIsPmNqboWrzBZPQWiBq4xZoUqUHc5X/w6ZGtfzGGa8bFcwxmZypQhUi8SVeUt 4+S4ZR8z1jIcZBlvxst+95F7MqZZIvNp+reY2KbX5iWIXdOVrbfew191sYutRBEayR 2jUlJelZWwvqGeLBlQ86aq/GxBuU3JetL31MovldgywY/67riRZKdTJu068ZWyNYvD NqjbY0mINjozA== From: Mike Rapoport To: Andrew Morton Cc: Alexander Gordeev , Andreas Larsson , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Brian Cain , Catalin Marinas , Dave Hansen , "David S. Miller" , Dinh Nguyen , Geert Uytterhoeven , Gerald Schaefer , Guo Ren , Heiko Carstens , Helge Deller , Huacai Chen , Ingo Molnar , Jiaxun Yang , Johannes Berg , John Paul Adrian Glaubitz , Madhavan Srinivasan , Matt Turner , Max Filippov , Michael Ellerman , Michal Simek , Mike Rapoport , Palmer Dabbelt , Peter Zijlstra , Richard Weinberger , Russell King , Stafford Horne , Thomas Bogendoerfer , Thomas Gleixner , Vasily Gorbik , Vineet Gupta , Will Deacon , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Subject: [PATCH 02/13] csky: move setup_initrd() to setup.c Date: Thu, 6 Mar 2025 20:51:12 +0200 Message-ID: <20250306185124.3147510-3-rppt@kernel.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250306185124.3147510-1-rppt@kernel.org> References: <20250306185124.3147510-1-rppt@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 004B314000E X-Stat-Signature: wihrggpebhou8xc5dpsk41r64rk8i75p X-HE-Tag: 1741287132-828555 X-HE-Meta: U2FsdGVkX1/J3M56rsGbZA+FScP83IFiVzKmAwUQuEVV/LFS8JNOZY7FAwhqDtwc8rM4S9pILGwSYTzhqt61GxXll73OP4bnRNgd5bA48uYoFfdgZjTftf1H4EQQV07SV6Wm0INcSL88djsTTY1eOhXnirqiYTtoAvoCCNWCUBh4uF2xYN7K/zMsV4jdbh5WVRYsfDCwwEKIdaqYSniQRK1Mp2Qi7iCSvVn79vkvFRACpalDyvyMtBujCtxoVDlqZdr5I3bgSsbwVoOSP6AhB45fmJIJ8UnrrTrkM0HQ0NvfC/3wqAK13WfEM8YZSh0XXOwN3CwEnTuooTVeUfnEcvrEdYsI9aXpzCPOOTbM4C+fozkwyP9t88E+NmEcFas9QMNGDFUwiCW6Bf68kymCw91b63tx/KPloQnEWGkJ7CUTMeAErC+ulmBkRAiV9ihaOq5lFyCSEBZwrBGSO1KGeDes29CHCeJjJ9xyP49BOkscXROjiQ+jhU0L7pQB62Yu18T2SU03FcO2XV0zFg5zY1+ZqA5b0iRV4tX7KhEGn15sQlXelwAtLxzjCtms0GAGbKRvES5QghjBzpvoiRGcqwahridkEg9YawFasJCpozcJasxtj+uw9oMkO0DSfOEjancgDGkgBMLGTaUXwbjpm+D+gt0ECmJGcBFjZa7WVAW9sQcTaqYU6hoXsrHRRSrrHVOjdLfsFfjM9he7yKcWhhKjUcqsVXbHpQ+jy5uHfTMX9bz93WMZouL3FPI7I1zcBv8mvePl/muhSuzzSY3lmpwq1TiJGeizgi6Pll6J0ltHdpuIp5DS2Kk+bjlsEdxWVtdFt6nXa38pnQgcSV96EQbBSk1C2Er/Rs823tnc1oCw4n2YCTkWYUN6rm9OLIAAgrVVPIjWMMsx0bJZxDJZngZrvxqxe3EexfumaAh/vbM5W4efPj6fj/dSm7qx04jcRig3CBqGknQgVn5KK4g ZZBXRzEb euxoRnDjbpy9jIXwad5m7dv+HVQMC1KYidEc5C2VFAbXZjZZxgJwRiBGyOIETyS/sg+zcMfLWhayC6+vrToHMYZyMvg3uxPhjbKx3dDGs4rNzg/fLANI+o3xgCBuEo76X7lfDZ91Wu+utVB0oW9QNjuavCdvcu6kjz4KZ13LT1rAvfi/R8k9huytpUb5+KrCX7Udn2/bMe6PByE2U3OzV4GJPYPm/MHWk37oAa7pwdWv0hZ4iq6dgn7DiH0tL3K0K/Fior8vGVgAHaVdq87v3YvN3oQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: "Mike Rapoport (Microsoft)" Memory used by initrd should be reserved as soon as possible before there any memblock allocations that might overwrite that memory. This will also help with pulling out memblock_free_all() to the generic code and reducing code duplication in arch::mem_init(). Signed-off-by: Mike Rapoport (Microsoft) --- arch/csky/kernel/setup.c | 43 ++++++++++++++++++++++++++++++++++++++++ arch/csky/mm/init.c | 43 ---------------------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/arch/csky/kernel/setup.c b/arch/csky/kernel/setup.c index fe715b707fd0..e0d6ca86ea8c 100644 --- a/arch/csky/kernel/setup.c +++ b/arch/csky/kernel/setup.c @@ -12,6 +12,45 @@ #include #include +#ifdef CONFIG_BLK_DEV_INITRD +static void __init setup_initrd(void) +{ + unsigned long size; + + if (initrd_start >= initrd_end) { + pr_err("initrd not found or empty"); + goto disable; + } + + if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { + pr_err("initrd extends beyond end of memory"); + goto disable; + } + + size = initrd_end - initrd_start; + + if (memblock_is_region_reserved(__pa(initrd_start), size)) { + pr_err("INITRD: 0x%08lx+0x%08lx overlaps in-use memory region", + __pa(initrd_start), size); + goto disable; + } + + memblock_reserve(__pa(initrd_start), size); + + pr_info("Initial ramdisk at: 0x%p (%lu bytes)\n", + (void *)(initrd_start), size); + + initrd_below_start_ok = 1; + + return; + +disable: + initrd_start = initrd_end = 0; + + pr_err(" - disabling initrd\n"); +} +#endif + static void __init csky_memblock_init(void) { unsigned long lowmem_size = PFN_DOWN(LOWMEM_LIMIT - PHYS_OFFSET_OFFSET); @@ -40,6 +79,10 @@ static void __init csky_memblock_init(void) max_low_pfn = min_low_pfn + sseg_size; } +#ifdef CONFIG_BLK_DEV_INITRD + setup_initrd(); +#endif + max_zone_pfn[ZONE_NORMAL] = max_low_pfn; mmu_init(min_low_pfn, max_low_pfn); diff --git a/arch/csky/mm/init.c b/arch/csky/mm/init.c index bde7cabd23df..ab51acbc19b2 100644 --- a/arch/csky/mm/init.c +++ b/arch/csky/mm/init.c @@ -42,45 +42,6 @@ unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)] __page_aligned_bss; EXPORT_SYMBOL(empty_zero_page); -#ifdef CONFIG_BLK_DEV_INITRD -static void __init setup_initrd(void) -{ - unsigned long size; - - if (initrd_start >= initrd_end) { - pr_err("initrd not found or empty"); - goto disable; - } - - if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { - pr_err("initrd extends beyond end of memory"); - goto disable; - } - - size = initrd_end - initrd_start; - - if (memblock_is_region_reserved(__pa(initrd_start), size)) { - pr_err("INITRD: 0x%08lx+0x%08lx overlaps in-use memory region", - __pa(initrd_start), size); - goto disable; - } - - memblock_reserve(__pa(initrd_start), size); - - pr_info("Initial ramdisk at: 0x%p (%lu bytes)\n", - (void *)(initrd_start), size); - - initrd_below_start_ok = 1; - - return; - -disable: - initrd_start = initrd_end = 0; - - pr_err(" - disabling initrd\n"); -} -#endif - void __init mem_init(void) { #ifdef CONFIG_HIGHMEM @@ -92,10 +53,6 @@ void __init mem_init(void) #endif high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); -#ifdef CONFIG_BLK_DEV_INITRD - setup_initrd(); -#endif - memblock_free_all(); #ifdef CONFIG_HIGHMEM