From patchwork Wed Oct 13 09:54:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1540300 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=fq4RYDmj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HTn5d5SF6z9sPB for ; Wed, 13 Oct 2021 20:18:45 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D50BD8344C; Wed, 13 Oct 2021 11:18:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.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=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="fq4RYDmj"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CA5D383390; Wed, 13 Oct 2021 11:18:36 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0604.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::604]) (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 9212682FE7 for ; Wed, 13 Oct 2021 11:18:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kqAUuJg0VRKO3PJt0gM0biIlYX1V/BMdXJ/rYaaD23ZkNF85BiIAXw4wOFISs3kzp0E55ba/LIi3vyz+NZovYjp12KIUa5pHhqBiExAcuYJOeBu3RYYMD4VDMkHXNZc68haWnOn1Wf1iTD1HxFG49tWMijcUlQeNnpoXebB3++MWgqRL7Bb7lLdaXWpXPEbon3B8GEzF/1t6Cz3jA0EDABwqan6IR4Uo91ZswfkNwHx63uKAoMu7dRfTwC4xqmVkQevrTXVEPvZlKLR7aUzMkGY3fq2dxGUBIzBmUg6JymcL7RXXeLgUXLlsFpuKZpQi/EBCzResUAdPIt4qRaACZQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dJDi5hRfNtfErJdsvr+lChl3D88rvaUa4aK1ybpGo+Q=; b=ZUMCtxbDBbSnDjjZwF/Nh2HyWetarvkH6UOnaXoLdNfszDWcBAh24NHRvcWz7Z5TgYTt501+XxKWpw0WktbI9/9BOpwlyseU9dEANGzjE14V+kt720rNgKRLo0QwAZx4GyBLDaCKRVFFsS4Cp2kQ4UVtyAgp+sdKoLu2elLDro2hslelNJmFipcHuq8NkIOHKgvcPzOIgWxJ+XXou2UGNslIYrZYXMdUte+/Q64RnU6sKSUGImpamf80ZT92+qvMpCFQ35+34gSZcVEwlFztluDd0+Ws8TZDEkuTU+jrU7BCcAfRQfC2uBrTthgrXuG56We6774PDGflkJPIjGZQnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dJDi5hRfNtfErJdsvr+lChl3D88rvaUa4aK1ybpGo+Q=; b=fq4RYDmjxxCTpa0s4kRIg43Y4pLNSfyxtx490QZ1o32KSJmGDRq9btzHe1p2McCyIQa1qDL0Zi5WJhTTxB68wFO370xqqFacouYztL34P7qVC+ubCBDFc0wpH8bWsP2CoZvnEGmhgLIFsHfMrKJdSCtz+EIS3j/wS5BX/rVyndw= Authentication-Results: chromium.org; dkim=none (message not signed) header.d=none;chromium.org; dmarc=none action=none header.from=oss.nxp.com; Received: from DU2PR04MB9020.eurprd04.prod.outlook.com (2603:10a6:10:2e3::9) by DU2PR04MB8629.eurprd04.prod.outlook.com (2603:10a6:10:2dc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Wed, 13 Oct 2021 09:18:32 +0000 Received: from DU2PR04MB9020.eurprd04.prod.outlook.com ([fe80::b928:9230:aa10:639a]) by DU2PR04MB9020.eurprd04.prod.outlook.com ([fe80::b928:9230:aa10:639a%9]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 09:18:32 +0000 From: "Peng Fan (OSS)" To: sjg@chromium.org, trini@konsulko.com Cc: u-boot@lists.denx.de, marex@denx.de, hayashi.kunihiko@socionext.com, ovidiu.panait@windriver.com, bmeng.cn@gmail.com, xypron.glpk@gmx.de, dariobin@libero.it, rasmus.villemoes@prevas.dk, Peng Fan Subject: [PATCH 1/2] board_f: fix use of GD_FLG_SKIP_RELOC Date: Wed, 13 Oct 2021 17:54:44 +0800 Message-Id: <20211013095445.18428-1-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 X-ClientProxiedBy: SI2PR01CA0009.apcprd01.prod.exchangelabs.com (2603:1096:4:191::18) To DU2PR04MB9020.eurprd04.prod.outlook.com (2603:10a6:10:2e3::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by SI2PR01CA0009.apcprd01.prod.exchangelabs.com (2603:1096:4:191::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25 via Frontend Transport; Wed, 13 Oct 2021 09:18:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ad6e1be3-2874-4bbe-d357-08d98e2a6cef X-MS-TrafficTypeDiagnostic: DU2PR04MB8629: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G15uZFuqxGLypzdErYsNYxJgITzl0No2K1TmE/jMJqw/W0gCWEbapdymS7tUWUPstO3prFYsozdbuKf27uNtLfwRuH565+nbWMvA+7u6spQxKplQZM4Rlt1Weo2pqGUZ1ELnrPwrYSj1JkwCqgspIl+O7K+ezVv9Hd5BWZ8purz8NhOVOQEW76nbSEEi/W/6Kp23frD21acBINWURF6Tn2oUcLWjNEJMHAh7vNmkZz2HArt5iWgRzCHTf0ND5LDXRPGLARt4FCCDDOdDhIYFh1pSKSm+W6DBTkuh8xds5B/BcCjE9sXfVpD2k1sL6jftyNRWnuTN/C5059hRSU2MuD7xWxp/KsZ3LOg4aOzGtA/bb1/iMnuFdaOPdPGULFbv6rS7Y5O7QfR3VO5p1J4Z4WpjsHNLzBi1bXWCF2nJ5spThPzBDPHwARwzKmWpJ1QEWSSBYweBx6dR94zHZRiswrArm8JVVp8wnevqR1gN2Ra55YaC4BsYlJN44M5kM+mWIjJZnxNOHBdG/imi735IIBVCd4jY8VQwqZXMC3va1EhETOwVWabYll6MV3fGwrVQi3alpC+qppxgECN129axEMcIdKCbJIU5kwUdrzCVjKoH3EO5rPbFV/goNHyLPBY1Cv3PCKC3bTddqjvAGpHbBGvWTzswf2Wn9q0o+nkvKN84QvFvYSBzz2SdFZA7t50PdlDMK6LkjIrCoJSgWWk/hg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB9020.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6666004)(186003)(83380400001)(86362001)(2616005)(2906002)(6506007)(26005)(956004)(38100700002)(38350700002)(52116002)(1076003)(8936002)(8676002)(5660300002)(66946007)(66556008)(7416002)(508600001)(6486002)(6512007)(316002)(4326008)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f7S9OQnsfOS6NjpyWicE1u2/ttGvscQE3KirLKfrUZsocPLo2z0oYh+62+b8HMoKshvNgyQj/cyANVLKDDnCrcWZCNYC2OrKwcAF4M9AQTOrKptP4pVcHMZOYpvSmqYTa53bo+CUtFKJPTj/4g19T8M2qZZuuACVr9RohPtNBkvbYq4tlXFBMQmOuh9mfkqi+3av5ivz6V80SNGrKggkPmP5Ieu2y8xaEhIBBsthO7QH8NhLLhGH04imJ0Sk9M2gtNoOhNy45/a0JFJguC1grA/g+RMViLWHpUz1cBktPCxR4G0INl+TfaaeuL4ijWxKAlEpQhPIb43+r0Algl+vxRrTuSlYXa45gDmNfJzUrwSrq1W/W0XsAP4YDcHeRAoLpYheoJqhWHI01Psdg7QUVOg4yf6XFmYaM9BTgWi9DF4kqJA38W2FU2NAoTc4xAFckupzQb8UmopgdKxdAmk+lE61k8SrLPuvXN5kc4JLnpCA49AeeXMZr5H0hNZKXjXnwoSnEmGhPRw9MoRvQIxvsrgHQ+gcOpVcwBavBrOuauzD9HTSYbRB/mfnQJvux8iHoRJXFWBlId45TjHiHS3egGtyZfJzPVtL/lae2CFhnvzfDMHLfjAy2moaxv/nqybnt6kcc/TxD1i4pdzezQhafY0CFfpEQUc8/T5vPEo5HAtQ6UFyKqH4CG7fIACIlA2MzVJbJ063dku0LZZs+s9muYIdZZoob3GO4fQhBt7SMm3PS7ILwr1fnqJZK+bboRgNbwdWwui6IoknReltRWlXXb7xlatQCInuYSCQvSvZFQK86zdBGbF91qbAQJFR0N8KUZmr9QiQ3uVE8dkb5Ufqxn534aMMzzV3Ar4iaW1jCsDwC9ur3nzNHdjKusz+dY+m1qjQOjA7UKWPoTVWoc0hF2ocrXz1lSBJ9hp2aMq9KW1pE0AcCpsMqvpQ2SmZRLrfQ++U4b08M+XqP2tFPx9lwQrZun2QB0EgjYKOc1W6R6SOWYb6QISQ6QMdCr2L7Y9L5oMvo1y22wBxww79KfqEcbtbb7e01QzCa4H5AuUxTD1LmNiF1fKTOE1MFaVE7MSromf9UClvLN3Gmp8Z68Kpv9Jsj3kMVM1Ib0wLcyVz54BW9osymxE7N+LJVSymIR9E8ujUxBPEiYE5I7rTWz66Yfne6ORg9AGsqt4HXpyUUg3TT2BPvYZHrOKPcqS5IYKkbKA10rR7RJ2im+4pSxttmNyLW8WJC2GxIH1IhO4rOoAto86WIDt3vI57x5BPv6PSV0MYbVO/SqXVxY7y+w4KorBtw+aN8dZvUU31HMJbjRG89JBSXpwCulEJNXBOW3/n X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad6e1be3-2874-4bbe-d357-08d98e2a6cef X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB9020.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2021 09:18:31.9402 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: w50LKuX6JYO/KGStZFs/yzMKH19qEInKIT9YWq5M4620RQelOQsv7jEB1XAu+YULyaAJflbvKW4riFTdLJcvdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8629 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.103.2 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan When dtb is padded in the end of U-Boot binary, dtb should always be relocated whether GD_FLG_SKIP_RELOC set or not, otherwise dtb maybe corrupted. Need copy old gd contents to new_gd area, this may not needed on x86 or arc, but needed for ARM64, because crt0_64.S points x18 to new_gd, considering gd is a small area, and common/board_f.c also use new_gd, so let's always copy it. Signed-off-by: Peng Fan --- common/board_f.c | 8 ++++---- include/asm-generic/global_data.h | 4 ++++ lib/asm-offsets.c | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/board_f.c b/common/board_f.c index 3dc0eaa59c..54a306df7d 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -621,13 +621,13 @@ static int init_post(void) static int reloc_fdt(void) { if (!IS_ENABLED(CONFIG_OF_EMBED)) { - if (gd->flags & GD_FLG_SKIP_RELOC) - return 0; if (gd->new_fdt) { memcpy(gd->new_fdt, gd->fdt_blob, fdt_totalsize(gd->fdt_blob)); gd->fdt_blob = gd->new_fdt; } + if (gd->flags & GD_FLG_SKIP_RELOC) + return 0; } return 0; @@ -673,6 +673,8 @@ static int reloc_bloblist(void) static int setup_reloc(void) { + memcpy(gd->new_gd, (char *)gd, sizeof(gd_t)); + if (gd->flags & GD_FLG_SKIP_RELOC) { debug("Skipping relocation due to flag\n"); return 0; @@ -691,8 +693,6 @@ static int setup_reloc(void) gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE; #endif #endif - memcpy(gd->new_gd, (char *)gd, sizeof(gd_t)); - debug("Relocation Offset is: %08lx\n", gd->reloc_off); debug("Relocating to %08lx, new gd at %08lx, sp at %08lx\n", gd->relocaddr, (ulong)map_to_sysmem(gd->new_gd), diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 16fd305a65..4a3f8be047 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -600,6 +600,10 @@ enum gd_flags { GD_FLG_SMP_READY = 0x80000, }; +#else + +#define GD_FLG_SKIP_RELOC 0x00800 + #endif /* __ASSEMBLY__ */ #endif /* __ASM_GENERIC_GBL_DATA_H */ diff --git a/lib/asm-offsets.c b/lib/asm-offsets.c index c691066332..de130574cd 100644 --- a/lib/asm-offsets.c +++ b/lib/asm-offsets.c @@ -43,5 +43,7 @@ int main(void) DEFINE(GD_ENV_ADDR, offsetof(struct global_data, env_addr)); + DEFINE(GD_FLAGS, offsetof(struct global_data, flags)); + return 0; }