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 X-Spam-Level: X-Spam-Status: No, score=-12.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13F44C4346E for ; Tue, 29 Sep 2020 07:56:20 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7627E2075F for ; Tue, 29 Sep 2020 07:56:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="hu1kn15H"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nokia.onmicrosoft.com header.i=@nokia.onmicrosoft.com header.b="XXBHxwm6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7627E2075F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nokia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Date:Message-ID:Subject:From:To: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=x+91S30QSzhmrmHbqhxDyVR5Myza0zp2IW7Mzb9oB/4=; b=hu1kn15HLFA9BkaCJ+2UHt9Re4 tlHydVwRjnrWvCCUjM5o3RLJddhVt4WYkMXoITMnkRyyR1df8CD/zCymCNHdZTeeD5MDv9lG8FVxK xWzAl/sqCy7AUQGXei24Qii/P30HB4qgISM5+685EqbRD71oHfdvO/fL7wE4c4mRRdsI/0MJQhw9h KnIaI0Hr06H3mwyyecgu5CJPfSWUMHH26wMZK5cjFQjQDlm11D1CdviZjDKp5dgnqydgCrHpwaNNo hCjOVU/iJC7XufDaRaIg1VvdghdGVRPIAesHlpHUONkGpR1u0DX03X9Ra5P8CIhRUntK4dx0QmYkI ZW8Mow6w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNATH-000641-KL; Tue, 29 Sep 2020 07:54:47 +0000 Received: from mail-eopbgr30118.outbound.protection.outlook.com ([40.107.3.118] helo=EUR03-AM5-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kNATE-00063N-IV for linux-arm-kernel@lists.infradead.org; Tue, 29 Sep 2020 07:54:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BG2PEUU2ci3UKpRCo/XhxJLxjy90uRAK3c5tSC6F7OIwU7kH0RWnFQUZRDidwryXt0vYIFI8iuNwU7antnRQw/fpQuzZ9TYg5hMqskvoeDy5xTwtECzccAq/nuHqdri2EU5wU8qsMjQ6jk5yFlb3h5JEB5BVRAqOS5Ua80+LhcHEGa0zTYx1Vx7+oLESBwnEF4lLH1m49DsJyJvQfVdd6b2ZpboZACJWyMIb8ESQaHOt5EMkYZVx3nbf4daFdwO4mBkcrhJd1W+tIuxWmnLwAzMYV96D4xKCExiNfMieYvpqRtH+7Tp5pZEfhTcaPykbuX1p3Nw1S7aqtc+1nuwhBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SwlzTYb/o4I3m+6HTjWszzRpRC9b1K68RXus8wpA/GA=; b=f6sNVhVgL6Wdw5oo5wZQ15z6SJ1tgqBy4Pwlyjq8zk6KJRDjFNdYeXipinmaVdEU+IfcCcKlC3ALH/SIEGd9DaDiSD7z8izIR0uZeVUdkbYZlggNRd0Y3EOuMbs4AdO+1SFHXGNRcHfQmTbAoM9yFoTYdiulrUte3RoXBoCijzWwHbAEN5CCWTEXSqm5YEcqwBUr0Dw2OabdEOIrI1xWx8BkAOpBALpqCsOYziY7l9p3E4GMRmDnxuztE7Wgu5wrDSH05GI/4S5JHntTkCm2GzHNzWq9CDSPR2A4IZvW9iQK4/IuuvWfMSFQf1X1IOFAP+arnllwp6FeQQLDkpIqMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SwlzTYb/o4I3m+6HTjWszzRpRC9b1K68RXus8wpA/GA=; b=XXBHxwm6d/Ah8CAIJHbDej3pFzr2V8DRn83sYsl14qeSopAcefXaXhb4zwWKz1PnSPjzThjM240cC1EmBTuT2rr56FOKlJwd6QcrrV0U0fe3HTsVu7jT/8N4pY4gaThN2v4TRz41K9oWO4oJtNNbyjMrJgsyfV5+6A0qC1BrEjA= Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nokia.com; Received: from VI1PR07MB5216.eurprd07.prod.outlook.com (2603:10a6:803:b0::15) by VI1PR0701MB2238.eurprd07.prod.outlook.com (2603:10a6:800:31::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.14; Tue, 29 Sep 2020 07:54:40 +0000 Received: from VI1PR07MB5216.eurprd07.prod.outlook.com ([fe80::4d01:44de:bd25:b64a]) by VI1PR07MB5216.eurprd07.prod.outlook.com ([fe80::4d01:44de:bd25:b64a%6]) with mapi id 15.20.3433.031; Tue, 29 Sep 2020 07:54:40 +0000 To: linux-arm-kernel@lists.infradead.org From: Matija Glavinic Pecotic Subject: [PATCH] arm: Support initrd with address in boot alias region Message-ID: Date: Tue, 29 Sep 2020 09:54:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 X-Originating-IP: [131.228.32.167] X-ClientProxiedBy: HE1PR09CA0054.eurprd09.prod.outlook.com (2603:10a6:7:3c::22) To VI1PR07MB5216.eurprd07.prod.outlook.com (2603:10a6:803:b0::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [172.30.9.7] (131.228.32.167) by HE1PR09CA0054.eurprd09.prod.outlook.com (2603:10a6:7:3c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3412.22 via Frontend Transport; Tue, 29 Sep 2020 07:54:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6972c996-f9c5-4f07-e53e-08d8644ceb65 X-MS-TrafficTypeDiagnostic: VI1PR0701MB2238: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /I26t8WRUQjIfqhEtRr6gAIgzRl8h0gZnH2DFommIyKzWjIQl1+zcEGkP/upLIH43mZnDTuchYxnKsQ0gEC5yC5alFSX5O4XRx5pwzm/LogNHGbf6Mv2Lkwli5tnAb7wkVe+DmY51Tt26m/jgci/t7zsU46FM6Lo3v7pXLYpw8ajuEafhWBgug6U4/8LFOjUCrbdx4pFhC9nVnSVgl0AOLHJ8uwbLdP39GOktDe8FOaQtGRR/pfM4Tvx9i/d8+R3oGDZLgPuo9Qs7ZtZ3cz5P7uGz4c9+rn/jqeW4IlQvEuNyoKP7kWeF9nLDe9sEkwwWlrKaJwKiYT/nd7J3mM/AnLy6FRvWAWG0ZXUVfeZ2byDHL3AnxuZGYaJYzafr1/h X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR07MB5216.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39860400002)(136003)(366004)(376002)(396003)(83380400001)(6486002)(2906002)(16576012)(8936002)(86362001)(52116002)(316002)(4326008)(31686004)(478600001)(26005)(31696002)(2616005)(956004)(6916009)(186003)(5660300002)(16526019)(66946007)(66556008)(66476007)(8676002)(36756003)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: bkvoDcwTInOJdbOLAXmW5lSL9lVV2nRlLbTZMxvox96QKmI2ylN5HDybsoBdgW9IUdeiJluOZzdlpdoV81pil7gUw43vNpeoIze3Dh0lnMrZ6I9KKzy/f64MInhiI18AuA7aN/37tj725fZcJi5vtXy/RcyrzDJMvfuEim8GJ3Nr9XhuluV3+adfBSzZeiDi8VyNGzcDDtZzjgmj3yqjBpsxRK/yzlW0vA1lbwWe7+7ty0BOIiXfyX41Y6GnP2fGr5KntZn6NSIzfOvlmgfED/eQkJmJEF4Rz/uu0VgQ0Uzqw8kzYwytGWGSdtN4QfV19OXKMGZGo6OiHY37U1ChYeDlo+ev2wKrvrAlEwGJc4tU/j6Qb3WSed3GjAkfqVLKPvwcxidcSHQhhi1e2XxiVS8s3vDDwnq9OoUnX6M8oZP221/n1UtF1e4WSBq0HAQBEfUQ9ynAlAXaGiQHmofzl8M05uo77k+uvL+ikZBLOFaP/XiTLA4v3eQbQUxLvCp+FBK468/SHNg6LPktzSBMs0nm0zKev/u9g3Nr8P6o2414vW0sGxPMiSO2zYbra2TnpF6rRQAR0dpeU4I+3HMrbjPBn0b12cmiCxYRAoRvpuhYOtbru5hvZA9l83V8CA9bwtbWk2ChGXQ6p0IODC1RCA== X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6972c996-f9c5-4f07-e53e-08d8644ceb65 X-MS-Exchange-CrossTenant-AuthSource: VI1PR07MB5216.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2020 07:54:40.3310 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DkyCK3AlMC6MrduiAvSr+b5aOl4eyUIknbN2jiU1xoyiuVobJDTbavK+ATNl0lMVTozf81cD9s7se88yIItdE+UroRPU1MTuRIqVyt8ZdzGPnPidZPp9+3pYXsUcBjCD X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB2238 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200929_035444_715620_25B9A21B X-CRM114-Status: GOOD ( 15.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: f.fainelli@gmail.com, "Sverdlin, Alexander \(Nokia - DE/Ulm\)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org If bootloader passes address of initrd in boot alias region, initrd will fail on memblock_is_region_memory as memblock with such address doesn't exist. Issue was observed with kexec which passed initrd address in boot alias region, while bootloader will typically pass physical address. Commit fe7db7570379 ("of/fdt: Populate phys_initrd_start/phys_initrd_size from FDT") uncovered problem by removing virt_to_phys on the initrd physical address. __virt_to_phys on our platform coincidentally fixed address. Fix by trying to correct address in case of invalid physical address. Signed-off-by: Matija Glavinic Pecotic --- arch/arm/mm/init.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 000c1b48e973..6cbf64383cfc 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -164,6 +164,17 @@ static void __init arm_initrd_init(void) if (!phys_initrd_size) return; + /* + * In case initrd is not valid physical address, try with boot + * memory region alias as bootloader may have passed address + * within. + */ + if (!pfn_valid(__phys_to_pfn(phys_initrd_start))) { + pr_info("initrd at invalid address, trying with boot alias\n"); + if (arm_has_idmap_alias()) + phys_initrd_start = idmap_to_phys(phys_initrd_start); + } + /* * Round the memory region to page boundaries as per free_initrd_mem() * This allows us to detect whether the pages overlapping the initrd -- 2.28.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel