From mboxrd@z Thu Jan 1 00:00:00 1970 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 09C0DC28B2E for ; Thu, 13 Mar 2025 13:50:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C29C280007; Thu, 13 Mar 2025 09:50:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 174C8280005; Thu, 13 Mar 2025 09:50:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 014C4280007; Thu, 13 Mar 2025 09:50:53 -0400 (EDT) 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 B4537280005 for ; Thu, 13 Mar 2025 09:50:53 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5FA05BAAD1 for ; Thu, 13 Mar 2025 13:50:55 +0000 (UTC) X-FDA: 83216663670.04.16B5BA2 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id 8DA8318000A for ; Thu, 13 Mar 2025 13:50:51 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=RGAoZ9Bv; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf24.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741873851; a=rsa-sha256; cv=none; b=w52Ufw7C/RpPaSSlzBTzMuVS1WJjiyv6/aEKdp6bA48HJTSE4iLBj0v10uoTCv3Y6aGN7p PwdulLfISdy8IlTHnVqinAOGWf0eSa7++qmIGG4UPHXBmheGC3lOloCjYeWqEjNYsIZ+H9 dDB+WCZNbS5FMJU5IacwSZRBAXiEJHA= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=RGAoZ9Bv; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf24.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=1741873851; 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=Cq4f5zIkzoZMRhgg3XQBKnwghvUC7tk3DaEqfNShCbM=; b=QY+GMSut7aTmHW8P0+LWTODN3tycsi0p4kGis24zYH9mqCkj2o0aU2vbE3H59GM6aF1jji PvWss92qzo3nxmFiAlSgro0GGr4BVcpzDIuHMaQ+lRjT4Lht/r8zdT/MeeUsmZNZKGNJ/k lTxwYBeqBL/G8FBCfz710cNQjam3efE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 22FA95C55F4; Thu, 13 Mar 2025 13:48:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AF707C4AF0C; Thu, 13 Mar 2025 13:50:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741873849; bh=XIr08FortiFXYgvy+0ilxZfO/dI5xt5VoYYHY8PPi6U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RGAoZ9Bv6t2SSbQIAmvfk2jcoGAYo67odXJQH4I/ojEZbm/bm80r5mMCH3HqOTqxP iEZpCsT3i67pyvVHb2yzKWbGZdZItWV2Ob4FFoey9K3/aEHHq8giXuNiumJO7DmCve 4eHUz/CEruq5Di7XV6/wke3HQWVq7E0atmm7IkJdrFuZ4qYFw3TQ9EOIhb1g+we9g4 9Hqp5mqUVK6+lA5SzALUuWJtjGkTzvZsWBVyO01BMp72OTgxynma6l2j5xAvRQ/lS9 IVRmBa6Xj3JWKUq1hEOzK9uv2OFR3tfR/4HK06dHKYPgIsu9Am8T7kbNr4q9/Gwpoe NNdSNeFMp0c7w== From: Mike Rapoport To: Andrew Morton Cc: Alexander Gordeev , Andreas Larsson , Andy Lutomirski , Ard Biesheuvel , 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 , Mark Brown , 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 v2 02/13] csky: move setup_initrd() to setup.c Date: Thu, 13 Mar 2025 15:49:52 +0200 Message-ID: <20250313135003.836600-3-rppt@kernel.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250313135003.836600-1-rppt@kernel.org> References: <20250313135003.836600-1-rppt@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 8DA8318000A X-Stat-Signature: aja3iyman9ps6mecj85wnyhhywnddikd X-Rspamd-Server: rspam06 X-HE-Tag: 1741873851-98521 X-HE-Meta: U2FsdGVkX1+81GRObG1QIPxovqb24onKp8b69whlMYyeY3CgGHQc4AQU8Htu6eKMtwDWCPtetYuxXTmIQXBERzLorfhdXjZeLktuYH3dw/J/MpyvLFnCIfL0LIp9YnOkZ/JGswXRaQp37httSXoGP7+5ejmPbO4iaCN7m0ONacOELQYIgMagTdNgrxAfnvqTEROyKOhdCN2l5uSbXZb3ysu0V97bdh2ELKwittKmR1tdqsx6BXNKKphdFHTim1JQYEcjDxzDQaUSrzOSA9DhCf3LI2Kye+fF+D2D0JuxTGt5Z3z7hmOt+Y71dRo/90AY59UKQtjvzrUMpkAnCCNxBBvr33BIuiPHL4qOfjm5LagUYHS/VxCyphO82JnIQMq7vb97DURd1KkId6vkULPEmtdlssH4zZY8/gkAOdOD6kxclMclTkqBJWrSJmS3LwUlj3Pbzv+aoNTdMnQXrPWfKOrtnLuA+6dpw58sbN+zpw1rPqthfY1ijeRJOu8sW678TrYEMKXD2e42F3xfdExiWEtYsEKi2y/iN5eZM3XpbRalaEHihjw/ZYbi7dlZg9rFo1gtDflBMsM1qFUVI+s6lJQYr+ZUeAMcv+AQi+FqeAICFRBcqBA/v5KKjLJKjc9ihaK39ZKRhIFVjvISYXs6l5lMOrjfT0211bs4FLN4tbZtMOqtTTKGRkyvgtScNNfYogFDDcc+k1KmTgXJ658P8Fp8/C4rrAqwf+vSqSskhKPU+qWmvZa+tO8Td2vqfTnsHqcXkreYH/bUi2x5XINqQvBEikMGUgc8F4gploOKusMoAgwRWxNYTf9/CVIz4McxONuK8mK1BvUwS5G/vq81rtoBj6JcjXIxU51BXDqFUpdg3ZgW+YZ0GthppnjRhyXnPRPKUFuYVg7bPsOVDH0ZHI6yiqOxgTc++TFKFZqYniNy5yw7aHeLpfmVEPOHr13uZ8XORKeLkr2wX8Pt8mr V6S6T3Lh cmma6+tvz4Pqg9WwHo9tUrSRMG8J/ffez5+SamooW+u6W21y6GO2qpUcfSipR7F/OYMSY7j+8m5K3KHSwQ20QQs64B5h6SQ8aVziqCAycbE4CVxCq4wL4RfDUQh4jPGf5/9ZkWFtKUImNvoAy3TqWJNEMSuscloMYEZyYeg53Qf1sMV/KCty1MLsK5hxDvqesAJbd/KfkGCyNKofFgDLW9PzKJbmUGjOtYNoMdecbDcM2zShowM0fYs5qMI8gkCvAOh+AUBaygFpWpBaC1XV2wfvCdw== 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(). Acked by: Guo Ren (csky) 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 -- 2.47.2