From patchwork Fri Feb 19 21:46:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Aleksandar Gerasimovski X-Patchwork-Id: 1442463 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=hitachi-powergrids.com header.i=@hitachi-powergrids.com header.a=rsa-sha256 header.s=selector1 header.b=LPil/NLz; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dj4sz3gGtz9sBy for ; Sat, 20 Feb 2021 08:47:03 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F001D806C5; Fri, 19 Feb 2021 22:46:57 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=hitachi-powergrids.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=hitachi-powergrids.com header.i=@hitachi-powergrids.com header.b="LPil/NLz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 52BA580404; Fri, 19 Feb 2021 22:46:55 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02on0722.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe07::722]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1365980404 for ; Fri, 19 Feb 2021 22:46:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=hitachi-powergrids.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=aleksandar.gerasimovski@hitachi-powergrids.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YWCF/iVh+/eWSiDt2pE87DabevxPsArOd23TX5WMNEc4v6lKrlqGaYTC+Il4rQoBOKjLpNeVRXyyHJbjLYYJViFRgMSy6YuzExI9wvbKfI/f/yhYZqxkNaZ9PybGoQ5MDGI2BRzM8sR46/UlDmRhiwXgBaBocTr9neQPXJMyjb6WQOvzt3bTTt83DuZEYRE7Jw/ZdxC0oWrgDbASRXhgJfIyvBigaiW/gN3Fgr+UdkxmvV2p/8GhDPWuyXcPaVQOgDSpjH+aJUSn4su7abRBiXYMJAbxDZuuZo2+RJRobCAHdbF3Gh9sxBtBMDZfyQzhzzP4pO0D9JZeJKxe6egHKA== 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=2AkZD0m6pf3TQ4lB8Tjw9sqbGEEwff68+lrU+EmZiBk=; b=M9Ww6ilu6KmDWRBUqOUYpFlXNsdqvCCTlLncUjovGu4Pt8sS8FuXu+Lz4UAzt5R8KXeFLn3I+uHQHOT7fizxWs0lW+1h5vNfwVLQeRaAvxfmrhGh0CKKaZFEdCGWMlifda0WzsJsWZFXHOITxofT/2b10u9aT2HV6+0RQlTQqS4hE4Ve6MKh+qBjl2jKSAyJm5oTdek2lKbTNinYTZY9cl4U5i9fNwGMFOpcaL14tVROHp5LQv6tHMpAjDB7ZEhyjCy0Cpadx5VOBAy4Ut7/UJpyqY5ShQQgYYKV7IKjQC4g+t3EaKRmTPB0wv5VrCXt2e2V65Tu3P92c7SD3GeAgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hitachi-powergrids.com; dmarc=pass action=none header.from=hitachi-powergrids.com; dkim=pass header.d=hitachi-powergrids.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hitachi-powergrids.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2AkZD0m6pf3TQ4lB8Tjw9sqbGEEwff68+lrU+EmZiBk=; b=LPil/NLzpg8OJGXJ0ZrlIdsj39HI9ipxb7WD7A7BhbTohQs18NNouoX6bvyyUywFpmj4rikjShG8HJPp3Sa4MEzROmMv0bYY8yFk2DaIO65ABMZTpc1An9rrCq9mxSju6rzSuuLhfh81ZWIjdmXobLyFPInS1uvjZWmDc1yprVE= Received: from VI1PR06MB4029.eurprd06.prod.outlook.com (2603:10a6:802:5d::10) by VI1PR06MB6399.eurprd06.prod.outlook.com (2603:10a6:800:12a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.29; Fri, 19 Feb 2021 21:46:50 +0000 Received: from VI1PR06MB4029.eurprd06.prod.outlook.com ([fe80::5122:a590:b5fb:658e]) by VI1PR06MB4029.eurprd06.prod.outlook.com ([fe80::5122:a590:b5fb:658e%4]) with mapi id 15.20.3868.029; Fri, 19 Feb 2021 21:46:49 +0000 From: Aleksandar Gerasimovski To: "u-boot@lists.denx.de" , "albert.u.boot@aribaud.net" Subject: [PATCH] arm: bootm: wrong lmb region reservation when PRAM is used Thread-Topic: [PATCH] arm: bootm: wrong lmb region reservation when PRAM is used Thread-Index: AdcHCGYgZHKm9mywQqiv5sJrFoIqXA== Date: Fri, 19 Feb 2021 21:46:49 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-processedbytemplafy: true authentication-results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=hitachi-powergrids.com; x-originating-ip: [31.10.132.48] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 28648474-4424-4232-1f7b-08d8d51fdce4 x-ms-traffictypediagnostic: VI1PR06MB6399: x-microsoft-antispam-prvs: x-abb-o365-outbound: ABBOUTBOUND1 x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hBtjmhjgl9ng6+dkwVntjy5BwwvxAT8GrrjKdX7JEsa2K93TzCEhFTdPuRjS0SqmE+Oa4f205vVdhh3odUKjhjXdrgpLhMQD/jbaaj37BPEj19pISti6tI8zYEpeb6iZ+wFd2NnUeWcSyyH52flz2ZcqbOm+xlXR8Xg7kjx7JBQ/MyCVS+5HNRGIXrRZ/AIp0bW9wh2Pzjs5wVwAAl1hXlumgMAXZeWOIxFYKsOct+jZ5uKPTs1TmP6ZVrD+ZJNYqfPx236dJz9oWDuGj6HlGcN/n3dOMBEQ95KxYmpAphnaMLwIseyQCB8s2sKMDVwWwTtU6r/bCg2WEd+XGXvDFxLj8VssWCJPYULvS0D5E2N3XJe6D4NgTePL7yO7Xs9qjvnfjfKPIS1tOu9/TW0jjNDLZTnExW6lNS8OJZ9jifF4eBufDSxvptoPntl1/MYD6e+usHS2yoRGEej/9s0/sTj7Lp/aVeIyEIuOskPUZusn6P2JFPhQLFaM9zes15OeH3Ns5lt535ugSwskRtr+sg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR06MB4029.eurprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(346002)(376002)(396003)(39860400002)(52536014)(110136005)(76116006)(8676002)(33656002)(186003)(64756008)(66946007)(66476007)(316002)(478600001)(71200400001)(66556008)(66446008)(44832011)(26005)(6506007)(2906002)(9686003)(55016002)(83380400001)(7696005)(5660300002)(8936002)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?q?baPrhnLiNrWMUcjRhzamXb2D1?= =?iso-8859-1?q?2uaqsjCtdcmP7/LpvbDu1HQwtGG0kCpRHLgJeLD24imp9Roh9IcUbIZIQDHC?= =?iso-8859-1?q?G6Jhot7md5CBL2x7ff7JodGLsp4BQ4xvOtGj9QkSv910JBQcr/BvUTy7KtlW?= =?iso-8859-1?q?eq3W5jetNPHcXKKSzyCSh08VvL/Rskn9v+m0O4mIg4mD1EttV1ktOUeyTA1u?= =?iso-8859-1?q?QiNqG4fgsYKTpfUMPxj6X5YQMYyqGziS6k8hz/z9bJoC/BaFHgni+a2Odf8z?= =?iso-8859-1?q?Xua0Ek4uQMRoyVNCMdHXjHwSDMaTgI7aIuoFVDca+oJwhwTHo/gf5SHvb2eQ?= =?iso-8859-1?q?Fg8TMZzxTIPgRs2PcMnN0yMOnXJ2WFPUG62DY9iNlbmQXLw05FYc0ZzgXaXh?= =?iso-8859-1?q?3J1neM/ayBoe75m61r7hvCgSCUpA0vSQ9KAHdaNJ2qsgMI3fqM2VUbPnyM9H?= =?iso-8859-1?q?WqvPj8kBZ9kepy/IT5YPsmj9C9HVSZ5+2DxlXT0QuWU2NDlaTPCyX1SgBk/a?= =?iso-8859-1?q?lqdCSSCb6u4x216b3IBIP+08Nsn/uQQEfmYQwoNQ/P2whZzx7838S4HwQWGx?= =?iso-8859-1?q?SBWMl8dm0CxP5aoDt8ZFM+RAkcVkt/i2dKe2MoibbLJa9WJ2S/Hew5jIzXZz?= =?iso-8859-1?q?bISOxRs+tZpgABuT2qnrDhv7drGofcqQJk00LyRVZKSp92xNIjFv4GnyBf1Y?= =?iso-8859-1?q?hbfg6YAI3rv5tvM3OTDP5nfKRDmjDG1kosF0E6RGNtTyszmG2eXkAf7I8WvZ?= =?iso-8859-1?q?ff0ceidbijfRsgUqzHdwlaLo992gemST9pE+XIUZiK00obXdY9mJ8Zxd9Xay?= =?iso-8859-1?q?fP9PfUDWCxZsMk6klb00sdn4WIOA/p53edEgMKZtkB0Hbj8TQoi4ef9gxIUo?= =?iso-8859-1?q?DAui0v/vkR94if3lbzaCWLKmDKaVAHh5CjlWSJCw8CeOn+qAJKSErr/vSNIX?= =?iso-8859-1?q?BXSGt5cnWZmg6yPJASdIBdOjDiKfHb6lduNHQ1OFBZbSEHA58WaKtMwNLqBB?= =?iso-8859-1?q?Yu0jG8q3JG5MZPq5uUvIy5FHA/WvLoXyQ+yRX5fP/Gemoh1XaXqnPQeCIvRJ?= =?iso-8859-1?q?0bnC2oYpY1CgRIIK1Dwbt8tddFV8Acop0dbnwaUBqobYz55zXzcRW5HwyIAA?= =?iso-8859-1?q?v49gY8gKzIu6F5ht2B2KCzk6Wffre9jnQTp6nntpjKR+pI2mknh7L6yGtbj2?= =?iso-8859-1?q?S15cbZCkLK+S5DbmJMwD54satDK+QiOT8MWYLYNevuud5igetQ9WprUF0r81?= =?iso-8859-1?q?HyjlokyOrDX+rdoI9kQHek8N8XrEq1vSfqoZ2w3eG1A0s2cpf0UuPipwe0i3?= =?iso-8859-1?q?xfUu0xivTG+FvmN3JZ9z0mn2oN1k5VU1TpZcyo=3D?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: hitachi-powergrids.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR06MB4029.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28648474-4424-4232-1f7b-08d8d51fdce4 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2021 21:46:49.8665 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7831e6d9-dc6c-4cd1-9ec6-1dc2b4133195 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FaNiWb1IhrlhK4Q9zLI2yM++x4QT7aosU2i7rkEU2BAYf3EAFgVIMsTVLm0C+w8N2gbDKi8cYDjp+TThtifkiazwxVotq1xQqmgQ/78jW/xbrMkXLCiuSjz8v66gVEqC2n+pncjFetvMlup+TvyboQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR06MB6399 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean This is a draft patch to describe the problem and to initiate a discussion for solution. PRAM usage is not taken into account when reserving lmb for ARM architecture, this means that predefined PRAM region is reserved by the u-boot and cannot be used by the u-boot users. In our case this bug leads to non functional ramfs boot, as the PRAM and ram rootfs address ranges are getting reserved by the u-boot. It is obvious that here PRAM region is ignored, but my question is is this clear to everyone and expected? Taking  board_f.c as reference, when calculating relocation address PRAM area is taken into account so I would expect that to be case here. Here the intention is to reserve unused space at the end of the effective RAM but PRAM is not part of that. Possible solution would be to introduce something like get_effective_memsize here e.g powerpc/lib/bootm.c but then also NR_DRAM_BANKS has to be considered? Signed-off-by: Aleksandar Gerasimovski --- arch/arm/lib/bootm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 11af9e2..4b06d25 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -54,7 +54,7 @@ static ulong get_sp(void) void arch_lmb_reserve(struct lmb *lmb) { - ulong sp, bank_end; + ulong sp, bank_end, pram = 0; int bank; /* @@ -69,6 +69,11 @@ void arch_lmb_reserve(struct lmb *lmb) sp = get_sp(); debug("## Current stack ends at 0x%08lx ", sp); +#ifdef CONFIG_PRAM + pram = env_get_ulong("pram", 10, CONFIG_PRAM); + pram = pram << 10; /* size is in kB */ +#endif + /* adjust sp by 4K to be safe */ sp -= 4096; for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { @@ -76,8 +81,9 @@ void arch_lmb_reserve(struct lmb *lmb) sp < gd->bd->bi_dram[bank].start) continue; /* Watch out for RAM at end of address space! */ + /* @todo: pram obviously wrong if NR_DRAM_BANKS > 1 */ bank_end = gd->bd->bi_dram[bank].start + - gd->bd->bi_dram[bank].size - 1; + gd->bd->bi_dram[bank].size - pram - 1; if (sp > bank_end) continue; if (bank_end > gd->ram_top)