From patchwork Mon Jul 31 22:42:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815290 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=GMFzfW5k; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=GMFzfW5k; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCvf1Fs4z1yfC for ; Tue, 1 Aug 2023 08:43:42 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5F17F86ACC; Tue, 1 Aug 2023 00:43:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="GMFzfW5k"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="GMFzfW5k"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D055E8682B; Tue, 1 Aug 2023 00:43:29 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20608.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::608]) (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 A2E7786AB6 for ; Tue, 1 Aug 2023 00:43:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ESEKwm2uwUGuwW4FVb+1YnaAvrMtgK5yPv6bIalGuDI=; b=GMFzfW5koOnj76gYyib5Ke1sBe/HCMxTyQkDdDCaQOOk5sQWGjqOh+8mvJKPAptqPPXszr3mMkaB26own96qNohBBqIAyx4g2jWL7JrCR3zgbFG7j4UYLi1v0COjj/foVibnGbfeh7Tn1kuNM45higaEGmOXcm2pTusDqDDSWvGf99w6hYKc2mJyBBX5zuR03s6V33jyzPFzqd76RDW90sZAphOgJgUb12TYboNOiJhUP56pLApkgpn2i0oBfHNrV8+bmiIpwsLtnLkkXPLsOmqbPtdCM+qrrS8I7fdlpHeyDsZqRk/6PWehuKgSV+yJm+LpcQCERKKrrrEormpsBA== Received: from DB8PR06CA0055.eurprd06.prod.outlook.com (2603:10a6:10:120::29) by PAXPR03MB7965.eurprd03.prod.outlook.com (2603:10a6:102:218::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:25 +0000 Received: from DB8EUR05FT025.eop-eur05.prod.protection.outlook.com (2603:10a6:10:120:cafe::21) by DB8PR06CA0055.outlook.office365.com (2603:10a6:10:120::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.41 via Frontend Transport; Mon, 31 Jul 2023 22:43:25 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.82) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.82 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.82; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.82) by DB8EUR05FT025.mail.protection.outlook.com (10.233.239.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29 via Frontend Transport; Mon, 31 Jul 2023 22:43:25 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id A431C2008008C; Mon, 31 Jul 2023 22:43:24 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.168]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 093622008006F; Mon, 31 Jul 2023 22:43:17 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O+A4pPDaQMJINAWowzyIk+cJvq70uxYPMEmYv2Pjbl1ofsxGC/F69gxj+cAeivOfn2u8v+Ea9jjRSCefBfCRtcTGgoPQzfOOfmMZobmxrbeNOlOdyEQXd2+GZRkJrOhhwVVHBWAo7dD6mZ8zYM850cnJojk0vrMKsyn4fHmV2dxf90xhl4k5y+OegfzRnzGUFBeb+hNNdsIJ7n2W7dUwy4KWAtAfNCWQbYCjWAm2RvJ/ma6JzjY4gTHuXkNbJT/1FGFn45c4205RTM3h+np+i1W4S6AWy5OFOZ2TKuUcB/rffxzjkB2xFDP1uWI7rOM0Z1rGGanOZemT4scgESTLpw== 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=ESEKwm2uwUGuwW4FVb+1YnaAvrMtgK5yPv6bIalGuDI=; b=i7+aPoZc67WdOq2JtdMdkYd8f3k5exkzKVPZ6dzwLCjCV+plmLx/okha30xk+F4dI8dKFWecuCtrL4pd87T8XQSBipBvuuy7j1SN/Q3/qoPIazWfMPifzAim0SxqRvw4PtnUQeebyqTNON2lNpBKYOal5R57gvSF/LXSGr2E2FgKmsrWUWN+/cG+n7XR1M7CLAL25+alTeCSOrvoVi2glfT+ATD+Idyki/evqL5b1F12n2lDQwy7+HtVeu3M54kReK1YpWGFMwdE8wHhqF5mvjVsy+RFI6OnGbHW7fTug1sMXieAJHJ6mCg8T93p9z7s/RIb09rvxjUq+6Q8O+iGew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ESEKwm2uwUGuwW4FVb+1YnaAvrMtgK5yPv6bIalGuDI=; b=GMFzfW5koOnj76gYyib5Ke1sBe/HCMxTyQkDdDCaQOOk5sQWGjqOh+8mvJKPAptqPPXszr3mMkaB26own96qNohBBqIAyx4g2jWL7JrCR3zgbFG7j4UYLi1v0COjj/foVibnGbfeh7Tn1kuNM45higaEGmOXcm2pTusDqDDSWvGf99w6hYKc2mJyBBX5zuR03s6V33jyzPFzqd76RDW90sZAphOgJgUb12TYboNOiJhUP56pLApkgpn2i0oBfHNrV8+bmiIpwsLtnLkkXPLsOmqbPtdCM+qrrS8I7fdlpHeyDsZqRk/6PWehuKgSV+yJm+LpcQCERKKrrrEormpsBA== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:16 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:16 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 01/11] spl: Make SHOW_ERRORS depend on LIBCOMMON Date: Mon, 31 Jul 2023 18:42:53 -0400 Message-Id: <20230731224304.111081-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|DB8EUR05FT025:EE_|PAXPR03MB7965:EE_ X-MS-Office365-Filtering-Correlation-Id: 8332e29f-2647-4967-68b6-08db92178d01 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 3PPwPxHBRONz3Yc7OdGANHdHG9L7HdJX4LH3YBolbCLLyoTXmSAHnSh7t+OyHpF8knN3hBko43+FwuVSEeGnsFvC90OtJhNySXvS8GzQnBGiq6Ifpq9nbRyZ11VYWvovfNfcki66Co1P6RvjaGmzizZkQAZWxgTin9rsCWu+isWGFgqFwWrV/VjeDnW0xxpCcCQgA72rbaq5tU4dKR82GKTi2y12gqqUhIGMhe5iayqfUDsm7eCJIdKFVdorrM2LButCtRDHib4CumA+mrAoS7EiALOpjDVrPBfIB4BaxXtledzp96eWiFCKTayGJc2nlZxJ6b+vizKion/5wN+FpzzuaIa4qcopE2XHeXq8HJ48MLBbMwSKPq6DS0r/68+8h5LZIfLDQAWjoYVKudupUkCCvodogoIUCcu/6m2uNFbvBw9cx4V1f3BwtagMFJfznxbtpTUVtGIQoFr2HntVlPeADkyujR2fR0iz0+kf8h1xNoeFp8b2C5rEmeDUAjD7s2NYQFPMVLJ9vT7vHhMuqXWHyaD52Gyy09pHtDKqNRCnPuVk5e4fQAW2xkjTc2i3NwADW46nWmCJtYb0wMGBm6GrWTLpvZnbXxeWM2gtDKiWn9N5zn8fPlUAx4Sgk0rK X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB8EUR05FT025.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7cdd5954-a05c-4a02-d0b2-08db9217877b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /C+qUIiB8+CKhov+lyXXMVHPlh4k9LAv/tswORxmk41o6SOeqTc3O6uKcq3LwUXIH7Rn/ldjP6qcRa/QuhZuWOMwZPhyhE6ezQgnWbYvQj9P5NksEGazvW4siTE4V9k+MI1aVn32PIUIhn3cpzgZxLuxlaJDRJ9snsi5uziLBPwQcylp9GU40p948tTrgkWVxzv/nm4zfBQo2ssYoj5jCJmDjhLJdpJUaAdR+ugQjvA9oOVW/TUptf1L5DqXiiNPLSx9ja1fynQLCddqzY6vonpPiCiSaJkf4kW2tJT/HqfM8nQJNytC6KgoaZnANdeFehHv9hXqR6Hg4AnamQqZKVJUPgjY0dTzBcbQbINeSEvFESbPIiLPY+DaUR/wLo0VlkWT3aev76mr+R6tfd8zbIASgrhVmRwPjdCKrTP3F4wK+C6p6rFjygCRUe6jeoQWBvW8wA8F1BAfxA5RXVKZR2iRAs/oG0mOFPLhIpAb31r1MF6uJ+97AqfA7ahYR3bJ8TkXUAHA5DirOyOyieP9X/OYMd74hZt75uSvbFBZHgL4VQispq0o8R+37Rfx+R0qYgrXQHIsOpjps+Urd8bY6KDVDPWODr7Yw/Q6kD+S9QgOylPrUYR4/n9cF6zgRSyMuQs3T0IiUUK1RMX/HItFIafNwoV5g6YFQuCOgeYh8LPGnhE/oNSOm0toROHAgJYor+cpi/XJcLzfCiQiUWA6n5D69UbFWn3QpT2alk+dMZkFizb5cvqgSc6JJw9QpgcUjCbcAqJOE/bG1kzw4B6UCQ== X-Forefront-Antispam-Report: CIP:20.160.56.82; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(346002)(82310400008)(451199021)(36840700001)(46966006)(40470700004)(6512007)(40460700003)(6486002)(6666004)(36860700001)(34070700002)(186003)(83380400001)(2616005)(47076005)(36756003)(86362001)(336012)(356005)(82740400003)(26005)(7596003)(7636003)(1076003)(6506007)(40480700001)(5660300002)(4326008)(41300700001)(8936002)(8676002)(70206006)(70586007)(2906002)(316002)(107886003)(478600001)(54906003)(44832011); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:25.0015 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8332e29f-2647-4967-68b6-08db92178d01 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.82]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT025.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7965 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean The purpose of SHOW_ERRORS is to print extra information. Make it depend on LIBCOMMON to avoid having to check for two configs. Signed-off-by: Sean Anderson Reviewed-by: Tom Rini --- Changes in v5: - New common/spl/Kconfig | 1 + common/spl/spl.c | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/spl/Kconfig b/common/spl/Kconfig index bee231b583..ce3efeb0ce 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -183,6 +183,7 @@ config SPL_SYS_REPORT_STACK_F_USAGE config SPL_SHOW_ERRORS bool "Show more information when something goes wrong" + depends on SPL_LIBCOMMON_SUPPORT help This enabled more verbose error messages and checking when something goes wrong in SPL. For example, it shows the error code when U-Boot diff --git a/common/spl/spl.c b/common/spl/spl.c index d74acec10b..b98a9a062a 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -820,8 +820,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2) ret = boot_from_devices(&spl_image, spl_boot_list, ARRAY_SIZE(spl_boot_list)); if (ret) { - if (CONFIG_IS_ENABLED(SHOW_ERRORS) && - CONFIG_IS_ENABLED(LIBCOMMON_SUPPORT)) + if (CONFIG_IS_ENABLED(SHOW_ERRORS)) printf(SPL_TPL_PROMPT "failed to boot from all boot devices (err=%d)\n", ret); else From patchwork Mon Jul 31 22:42:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815291 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=ZVtuGsyq; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=ZVtuGsyq; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCvv1Cnsz1yfC for ; Tue, 1 Aug 2023 08:43:55 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2C1DF86ADA; Tue, 1 Aug 2023 00:43:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="ZVtuGsyq"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="ZVtuGsyq"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4D7038682B; Tue, 1 Aug 2023 00:43:30 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::615]) (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 9FB6986AB4 for ; Tue, 1 Aug 2023 00:43:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H6uE5P9lXzch3qUspdKEJ3MjgWwoYF6KLdni7AFbku8=; b=ZVtuGsyqy7HzSPWYyzjucAUI73jR3pHabl6iJngyb7WvIAwxLPX36DZx+3Wq5Q1eBXPRtXGo9nVAqUgwQ66Zll/G9H4NiziyQDi4FGFa/fJQLLrVlNr2B9R5JfPgtAaacCj1kDNrM2C/BB7mPzUkfqdqJ05QAHN6aWK3oVOKLyZQKYWMtzOxhEt98e1NhHzvQGarhgOtZuJMBOpZYuFNlYDj8qUV5xA3qxsSuDnyzW7sgX2p36Xu/hvNbvgFd5zZvn6ncjI3RnfjWGLFkni+BA3rJ6hrTRoVBvrlGLBLVdTI5oD4EkIIASLaKZblAqiDxkydxkixXYeMm5XBOHF8JQ== Received: from DU2P250CA0011.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::16) by DB3PR03MB10129.eurprd03.prod.outlook.com (2603:10a6:10:436::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:25 +0000 Received: from DB8EUR05FT068.eop-eur05.prod.protection.outlook.com (2603:10a6:10:231:cafe::56) by DU2P250CA0011.outlook.office365.com (2603:10a6:10:231::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43 via Frontend Transport; Mon, 31 Jul 2023 22:43:25 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.84) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.84 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.84; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.84) by DB8EUR05FT068.mail.protection.outlook.com (10.233.238.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:24 +0000 Received: from outmta (unknown [192.168.82.132]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id A17732008008B; Mon, 31 Jul 2023 22:43:24 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.171]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id A4D3B2008006E; Mon, 31 Jul 2023 22:43:18 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DLUoaqI4/qqfXyz1muJu0Gsxklj4PDmPaQEtXMEC4tPBieIFN6ZCip6ONClwAzKoxmjJJnaUQFBjxm5ssC1o4Qid2tBSSKTeV16Gqn8C3g9NBd1tPEaZOtJtUxgNhfk9HI5Xo2E4bHuYeV2TX/T8kHoQW7dq0+i2SAhBcLmvqFlkzqkpnVEX3ZYp4Cj4jXKoLb7uwog58UlIoWnTHhVSrs6WQfKZer17QkOD1IqePMcoxNlGgXLdY1P0GjpdNFCQCg4Rku5Uug6syNccUh6yCnBeMJU2flwn2KLKfXAsG6kh/5G3ls/24E60o7NQjNNgbEUKJB7YCSCzPG5+7oQghA== 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=H6uE5P9lXzch3qUspdKEJ3MjgWwoYF6KLdni7AFbku8=; b=D452iC4GPSpjrn8ovQ8iRJavuQMIiJXb1KJ2oXW3nr36A97lXmsIkdYAp4NaAa2UI2eDmimUPQYryX5oDc9uFF2IjqahpTKxacE4LreQXvEGn4XrNQPb16cbKWTlm9nBFUCta5jVLIaabsgREuInunCCNWpwTnNloAu7LccrPIPpwBazaC774dug6bMFTtGXUYOnOFcNNobqeqYgJLP4CGIU4qfDr5MiqPJTiwz4FBChHYZrSpBsNKVyDTm2MzZneawQEAXzXGomniWkn2ErgmOev9XzPKUIWgqXoH2KTaSND8msrqj8oZSIEo6Dz2lM3KDJeY+CrVCv2kIMzpg34A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H6uE5P9lXzch3qUspdKEJ3MjgWwoYF6KLdni7AFbku8=; b=ZVtuGsyqy7HzSPWYyzjucAUI73jR3pHabl6iJngyb7WvIAwxLPX36DZx+3Wq5Q1eBXPRtXGo9nVAqUgwQ66Zll/G9H4NiziyQDi4FGFa/fJQLLrVlNr2B9R5JfPgtAaacCj1kDNrM2C/BB7mPzUkfqdqJ05QAHN6aWK3oVOKLyZQKYWMtzOxhEt98e1NhHzvQGarhgOtZuJMBOpZYuFNlYDj8qUV5xA3qxsSuDnyzW7sgX2p36Xu/hvNbvgFd5zZvn6ncjI3RnfjWGLFkni+BA3rJ6hrTRoVBvrlGLBLVdTI5oD4EkIIASLaKZblAqiDxkydxkixXYeMm5XBOHF8JQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:17 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:17 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 02/11] spl: Add generic spl_load function Date: Mon, 31 Jul 2023 18:42:54 -0400 Message-Id: <20230731224304.111081-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|DB8EUR05FT068:EE_|DB3PR03MB10129:EE_ X-MS-Office365-Filtering-Correlation-Id: c6a241ea-acd9-4db3-025e-08db92178cf9 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: wfJUGDDEuU9GCpUpyc5u48Jj/OkEcBmmF8THAYBazhfMPBn3ubR6IaWTZVC458A4cIgeqIUR2ulVC5YA/dnF0mCtRSuc5kXEar6yT2QLmUNXb5R6Ly2kDPsWFajAKcMTWHYUMDT6Az031YKkhoZVFZQUsvBrz5wkONY983m3Q96i8bIQISOZI/eT6wg0XbKBmJzLBni8PykQl8tQNflge7dfgFS6NDOcgNAZL5fY8ItNQ3TGfQHRtCB3Y3i+jkkxDSKya7X1q6b3zVpz2LAEcfhMuE9pF4LhgVKWmwxeT8qVf2mAi0X0zQxK3codvMaouOPv3a+g4LDxsd2DCsX9FEg8AleXn84HA+wnFpkC6BtpKrO/YbBu4mp/M7he0mS3z+5MbbyjqBZfvBifxcuDIsktRqDiT1OJHsQZVa4Yh+WXGfnGZ8O37zaontKCnA46HEQXlK6tSMYb4mGJFKwU6whs8XIrxc9K/loFuqj4xENQZiCIgliP3ykT0y5kwrGaD7f5ntCx4qPiUEyiqGXEj2yeM/yiP9Bg8A6J0mOqTFWYiist76SCtZc6IkBKIX+7gwmnuAh5jW8knZpNu9U4HD0LbyNc5xdLcp0jAZ+USOMwCO0YRPsFiJBEZQn2RkHtweKT8X4MaNbqm4kG2dn0kA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB8EUR05FT068.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5a7a0330-843f-4442-5b67-08db92178852 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uBl2hfDXfwDAqEkIi4BVkhmJWGq2cQdIgxLx0ofmA/9mJV/1c4xGYf+bMII1ZgEbFl/74kpD5wKWV5XwFlD/tphhV5Vvth7PNv44lTs+3Fxt2kORuKZ/tW3BcTiYx+9mag1oZdiTy5S8flFGfSCGEsTT2EOoYquC+ZGIZ9wYZ4cr+XQvlirLVfQd0cGvx1kIaroAkadbLmO3hpJW/BR6ot7BsoicCOXn0LXrGWssrdilFSv2BkMuKQ34bepUm7XZIGMqoyR9k/KNou2A6qI5Bn2/J0bzjF13wKPaCJ2GNJHquFVbBKVvb3S8neT/HxRd95HjD1ybzRdsxVo3dUNEfcXLZUn6jLRlJj9g/12ZhaGeL6y8S6pOGMomGPDLMxXgK8x3qCLyYKWm0WqtXOtJIkQ6oJnh8EnC6VsfZz5kaxjiRfmsvmcgu7wF0VnK98h4owo2+5E57mfOmydjU7ghO/e+Q+nzW93Xkg1canfc7RBn93uSdCR0ZyTxgICdlCrOfKcCYfGVaS3drBi0glYi/LX70z8M2DhM2JMSrkY9muQOOIbKTZ55NUwlgSYM3MbYpZwN5enP15bJ6wY43ck7AUY0zZr+fXiFjO9+r4OKYsucmmMs4OPI7V1z8plI/exdjtTTNHfzhG29q0QCqL5zHZ9saF3T32+L7Li9x7l0m0+05/kAyN05Iv87lFd6pPP3vbYimhA15+pSsznFaceCfpQOQePXJ+fNuhIlPoEDV2Rfx0exsJmsuGSxx/72kVLuz6hTy83sRrMbWPjKaVifRQ== X-Forefront-Antispam-Report: CIP:20.160.56.84; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(346002)(396003)(376002)(136003)(39850400004)(82310400008)(451199021)(36840700001)(46966006)(44832011)(6512007)(47076005)(36860700001)(6486002)(36756003)(2616005)(40480700001)(6506007)(26005)(1076003)(83380400001)(107886003)(336012)(186003)(70206006)(70586007)(7636003)(54906003)(356005)(7596003)(82740400003)(41300700001)(86362001)(316002)(5660300002)(4326008)(8676002)(8936002)(2906002)(6666004)(34070700002)(478600001)(41533002); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:24.9152 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6a241ea-acd9-4db3-025e-08db92178cf9 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.84]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT068.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR03MB10129 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean Implementers of SPL_LOAD_IMAGE_METHOD have to correctly determine what type of image is being loaded and then call the appropriate image load function correctly. This is tricky, because some image load functions expect the whole image to already be loaded (CONFIG_SPL_LOAD_FIT_FULL), some will load the image automatically using spl_load_info.read() (CONFIG_SPL_LOAD_FIT/CONFIG_SPL_LOAD_IMX_CONTAINER), and some just parse the header and expect the caller to do the actual loading afterwards (legacy/raw images). Load methods often only support a subset of the above methods, meaning that not all image types can be used with all load methods. Further, the code to invoke these functions is duplicated between different load functions. To address this problem, this commit introduces a "spl_load" function. It aims to handle image detection and correct invocation of each of the parse/load functions. spl_simple_read is a wrapper around spl_load_info.read with get_aligned_image* functions inlined for size purposes. Additionally, we assume that bl_len is a power of 2 so we can do bitshifts instead of divisions (which is smaller and faster). spl_load_fit_image tries to DMA-align buf, but we don't. This is because there may be conflicting alignment requirements for buf and offset. For example, if the block and DMA-alignments are both 8, and we are passed buf=80 and offset=20, then we cannot adjust buf and offset so they are both aligned. Just focus on ensuring block alignment, and warn if we don't end up with something DMA-aligned. Signed-off-by: Sean Anderson Reviewed-by: Stefan Roese --- Changes in v5: - Load the header in spl_load as well - Don't bother trying to DMA-align the buffer, since we can't really fix it. Changes in v4: - Fix format specifiers in debug prints - Reword/fix some of the doc comments for spl_load Changes in v3: - Fix using ffs instead of fls - Fix using not initializing bl_len when info->filename was NULL Changes in v2: - Use reverse-xmas-tree style for locals in spl_simple_read. This is not complete, since overhead depends on bl_mask. common/spl/spl.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ include/spl.h | 27 +++++++++++++++- 2 files changed, 109 insertions(+), 1 deletion(-) diff --git a/common/spl/spl.c b/common/spl/spl.c index b98a9a062a..5374eddc89 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -450,6 +450,89 @@ int spl_parse_image_header(struct spl_image_info *spl_image, return 0; } +static int spl_simple_read(struct spl_load_info *info, void *buf, size_t size, + size_t offset) +{ + size_t bl_mask = info->bl_len - 1; + size_t overhead = offset & bl_mask; + size_t bl_shift = fls(bl_mask); + int ret; + + debug("%s: buf=%p size=%lx offset=%lx\n", __func__, buf, (long)size, + (long)offset); + debug("%s: bl_len=%lx bl_mask=%lx bl_shift=%lx\n", __func__, + (long)info->bl_len, (long)bl_mask, (long)bl_shift); + + /* + * Convert offset and size to units of bl_len. In order for the final + * value of buf to be DMA-aligned, both buf and offset must already be + * DMA-aligned. A bounce buffer is required to correct improper + * alignment if min(bl_len, ARCH_DMA_MINALIGN) > 1, so we don't bother. + */ + buf -= overhead; + size = (size + overhead + bl_mask) >> bl_shift; + offset = offset >> bl_shift; + + if (CONFIG_IS_ENABLED(SHOW_ERRORS) && + !IS_ALIGNED((uintptr_t)buf, ARCH_DMA_MINALIGN)) + printf("Warning: loading to misaligned address %p\n", buf); + + debug("info->read(info, %lx, %lx, %p)\n", (long)offset, (long)size, + buf); + ret = info->read(info, offset, size, buf); + return ret == size ? 0 : -EIO; +} + +int spl_load(struct spl_image_info *spl_image, + const struct spl_boot_device *bootdev, struct spl_load_info *info, + size_t size, size_t sector) +{ + struct legacy_img_hdr *header = + spl_get_load_buffer(-sizeof(*header), sizeof(*header)); + size_t offset = sector * info->bl_len; + int ret; + + ret = spl_simple_read(info, header, sizeof(*header), offset); + if (ret) + return ret; + + if (image_get_magic(header) == FDT_MAGIC) { + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL)) { + void *buf; + + /* + * In order to support verifying images in the FIT, we + * need to load the whole FIT into memory. Try and + * guess how much we need to load by using the total + * size. This will fail for FITs with external data, + * but there's not much we can do about that. + */ + if (!size) + size = roundup(fdt_totalsize(header), 4); + buf = spl_get_load_buffer(0, size); + ret = spl_simple_read(info, buf, size, offset); + if (ret) + return ret; + + return spl_parse_image_header(spl_image, bootdev, buf); + } + + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT)) + return spl_load_simple_fit(spl_image, info, sector, + header); + } + + if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER)) + return spl_load_imx_container(spl_image, info, sector); + + ret = spl_parse_image_header(spl_image, bootdev, header); + if (ret) + return ret; + + return spl_simple_read(info, (void *)spl_image->load_addr, + spl_image->size, offset + spl_image->offset); +} + __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) { typedef void __noreturn (*image_entry_noargs_t)(void); diff --git a/include/spl.h b/include/spl.h index 658d36481d..47ce16aabf 100644 --- a/include/spl.h +++ b/include/spl.h @@ -267,7 +267,7 @@ struct spl_image_info { * * @dev: Pointer to the device, e.g. struct mmc * * @priv: Private data for the device - * @bl_len: Block length for reading in bytes + * @bl_len: Block length for reading in bytes; must be a power of 2 * @filename: Name of the fit image file. * @read: Function to call to read from the device */ @@ -676,6 +676,31 @@ int spl_blk_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev, enum uclass_id uclass_id, int devnum, int partnum); +/** + * spl_load() - Parse a header and load the image + * @spl_image: Image data which will be filled in by this function + * @bootdev: The device to load from + * @info: Describes how to load additional information from @bootdev. At the + * minimum, read() and bl_len must be populated. + * @size: The size of the image, in bytes, if it is known in advance. Some boot + * devices (such as filesystems) know how big an image is before parsing + * the header. If 0, then the size will be determined from the header. + * @sectors: The offset from the start of @bootdev, in units of @info->bl_len. + * This should have the offset @header was loaded from. It will be + * added to any offsets passed to @info->read(). + * + * This function determines the image type (FIT, legacy, i.MX, raw, etc), calls + * the appropriate parsing function, determines the load address, and the loads + * the image from storage. It is designed to replace ad-hoc image loading which + * may not support all image types (especially when config options are + * involved). + * + * Return: 0 on success, or a negative error on failure + */ +int spl_load(struct spl_image_info *spl_image, + const struct spl_boot_device *bootdev, struct spl_load_info *info, + size_t size, size_t sector); + /** * spl_early_init() - Set up device tree and driver model in SPL if enabled * From patchwork Mon Jul 31 22:42:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815294 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=sV2auqDh; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=sV2auqDh; 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCwX5Mqfz1yfC for ; Tue, 1 Aug 2023 08:44:28 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BF30B86AD7; Tue, 1 Aug 2023 00:43:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="sV2auqDh"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="sV2auqDh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E4DD586ACA; Tue, 1 Aug 2023 00:43:35 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20629.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eaf::629]) (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 4B54986AC9 for ; Tue, 1 Aug 2023 00:43:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ENlOeBMeQMeCuYw7lUUyHGbvzmSiVlDyL5gjcCKZCiM=; b=sV2auqDhyhCnFP6uGsjnUsA6KcoXNAYUPElj6IiJKpnCVfkzZFXnYQltXMnuKRe/35mt2xXsOUCIMNDDveDxISP9JIRfy1T0q6dk76Lc/XiWjuwZpPJeX6ex8A6YekkE5xzw3Mbozif2iKXwjJ+9F302nWkx0RD9l3O97L6MCrVLJ4PleRgkG9yKyfECTSHFuTBu5ONDG0okEXj6GKi6DNRLhnc9CeZtKIjt4ZVrXSpmWzcrQellvudoSpciH0bHJjRjffGjeT1TX/NYtzjMONHeMmMv7gaAzScc4V2Xmvk8+i6UbZoE9LFWt2ayzcYEyfmPXmbh6OAeXciXbKneaQ== Received: from FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::9) by AM9PR03MB7266.eurprd03.prod.outlook.com (2603:10a6:20b:261::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:29 +0000 Received: from VI1EUR05FT009.eop-eur05.prod.protection.outlook.com (2603:10a6:d10:1d:cafe::75) by FR3P281CA0010.outlook.office365.com (2603:10a6:d10:1d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.17 via Frontend Transport; Mon, 31 Jul 2023 22:43:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.84) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.84 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.84; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.84) by VI1EUR05FT009.mail.protection.outlook.com (10.233.243.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:29 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id A8D502008008C; Mon, 31 Jul 2023 22:43:28 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.170]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 93E9B2008006E; Mon, 31 Jul 2023 22:43:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nQSt7nU5/vOpaMsTxCdRDkp/2Su10PqFwLFS7/v7oHPmlJ+Lg4TmqF0TyVFm//dXoTMGGM57duh87zcQsqAU+5Y2oPC5pE7D6/pR5h3Y0z0RzhPsxO4fiSLlO9z8ms+bnq3R5peMnhYWpgIEXJbuEiAXYVAyq4XCREkwOTUB5uQrmIqtOQCGk1zz1rI5uiijDan2pHuZCAIO8Gu3nFmAz6YzcoOuueTh9oeASnq/GpeokazW+e4Q0xNcu80qMjlzRlp7vJxjAfn/GuSC1jsjz3SqKiowxaXL+9bmtkOdBVRrHkGMpFo11IwnBeeH/DTs3U154grC2ts2bSkgMrgz7g== 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=ENlOeBMeQMeCuYw7lUUyHGbvzmSiVlDyL5gjcCKZCiM=; b=FWUUqORKknZrdJthNc3t7IPDKfe4/5zCVuq2QcJmO0XtS6XgjLHX1fBASUQxEBcwt9+dcKF3mARadhdD979Kh0Ecaku44vzh+6YqV00aHcbNukkpjAyDx1QYvdSlOfbl3kAkEcxPotGn4xYZ2RasyM+yDGjQHK4BBlqEz60C3vU1Xs+Amw3Iku9zL7YPqITVkpXK6Bl19Wq6OASjMcP1pFRtkvazKvkRRyzYAjMfvRBbSkvv/CWnXerGfJ/ffpyU7bSbUpCdHX4XM0L+IauC7axYQSacF+7qxaun0opp2tdw4PijTLJGW/vAF0ibnwQk94AW7pk0qwF4nUCbU2tp7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ENlOeBMeQMeCuYw7lUUyHGbvzmSiVlDyL5gjcCKZCiM=; b=sV2auqDhyhCnFP6uGsjnUsA6KcoXNAYUPElj6IiJKpnCVfkzZFXnYQltXMnuKRe/35mt2xXsOUCIMNDDveDxISP9JIRfy1T0q6dk76Lc/XiWjuwZpPJeX6ex8A6YekkE5xzw3Mbozif2iKXwjJ+9F302nWkx0RD9l3O97L6MCrVLJ4PleRgkG9yKyfECTSHFuTBu5ONDG0okEXj6GKi6DNRLhnc9CeZtKIjt4ZVrXSpmWzcrQellvudoSpciH0bHJjRjffGjeT1TX/NYtzjMONHeMmMv7gaAzScc4V2Xmvk8+i6UbZoE9LFWt2ayzcYEyfmPXmbh6OAeXciXbKneaQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:18 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:18 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 03/11] spl: Convert ext to use spl_load Date: Mon, 31 Jul 2023 18:42:55 -0400 Message-Id: <20230731224304.111081-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|VI1EUR05FT009:EE_|AM9PR03MB7266:EE_ X-MS-Office365-Filtering-Correlation-Id: a16f8657-969b-4e00-6a78-08db92178fa9 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: iVauveDyVW7qsfIqyWSXmKY0O1ZJaXZWfXJaP68HKODxSh6J7e9N6kG6P9W8dx4KsphyvHwDk9EuzlJ/ZFFs9y5uTYxU8DzEXCUZysACr9GRU1TBrt+Mj9r2wzd5aGPQxYOLCfZuxcWR4N+Zq1DexP1nnJ6uwd99QzGTsk6xCl8DX25n82hJHmaxBPWKJYcrSCYM30RBE44RVoLsKjF0C91TiYxm8Kv1Rx99Wxh8xW3Ltj5pw1tx1XVztZXTMBBlnWaIEUGsu+4cZ4MwVDs2vNFwfa6gXelg+Ctw2nBCegCilIPiYPYAcDPCqMPA7KTCpeu2JtRK3o92B4YKDLfDSDRwBYETFAGrrFuKeuQp+wukQvoTKDLxu4H9eCsF3Ye8u5O3uCb0jLVvlov1Ung2RpXjc9OrNkieTVE8wT4ZTAY8GPL2Gl4AFeijXiDikNIVHWcx8J+ZneJE3HVOmg9SGbPtqxXHe+OKidx4aFRD3WoI9q6btP8yzh91asa0fMDNm7ZKv10lv/bNbVlwf74aMg1k4V9+DSmqta4gqaPf1etWNT/glhQUNqEABBmTS/u34E01IYNpBnEm5afWrSMzNb2XMa+ArI60QKdJVChjeOh/a0VVbbPercrWYbbBUu9C X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT009.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 50ca2358-1f00-4a84-f773-08db9217891c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jDfu3NQaWUEPVMgBwRReeHGIJUxGo9jW0FOQn3w2KcrvBXN0G0AACkV6IALTVt5840ZvxvbZ3Vc7pmXwa6JDJmnzK9iMLRPsCH2XdEyY9/msDb0x+sTlBKCSylYbIjf645jgdkezcMg6wKknNz1oWL0Neug1hr6Fu8I3LHYETO8vbl4BKrh6t7Q+jClIoDVtzP07MvlJfypG1h6gyZPK6DovTSwHR3xioHjEWVEwIRFn5e4uX6X4QNNvGsrnzmNpgv6OIy/UtGJ21pmA1Ko/zPiEUjmKW1QbsiRhzGT0X41lqUIpEm02HKmZHxv/qVx2KrsEnb6/6vWzkWtfYsg0C39LG1KaFge1ONPG16kwqF2NhamFKsSJWoSAcwnrNMB3e1Tz3fW0kGOWeHqx/EWrSw8GXQaBKdOFFOdZTY7yUSIL3jiwiqdyJbdOy8cJWHZOnx+TEbNHCZwMWrHQurMvxg+fZCpj580ysG+1C+nRDyWy1+HlNTHEU+Leb5UKd06Aadwk3kkQC5HTMmbV92p4Ly1n1rjw8mTx6EHGfydSusZz5K5oGJQmOO/GOHsXbzLuZMMv8grTMhw6D+b9ZvRyCs5XWyQSCnjcTQr5/K9qh6CpIKIOPOuVbeqCTXCuT2CqiDrM05tOx1EWQwx1YbPsYBxU2SWi/eJU7c9Lp0XV/EA789rAg60+FOlCQmIhArFADg9G/monXGt6YYi32JeqqTrrf7WQEw3mQHr5EIKcx66te5XgNFxbbKG9E7hK1paBNQq52So127wrz+ADKlu+rg== X-Forefront-Antispam-Report: CIP:20.160.56.84; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(346002)(82310400008)(451199021)(36840700001)(46966006)(40470700004)(6512007)(40460700003)(6486002)(6666004)(36860700001)(34070700002)(186003)(83380400001)(2616005)(47076005)(36756003)(86362001)(336012)(356005)(82740400003)(26005)(7596003)(7636003)(1076003)(6506007)(40480700001)(5660300002)(4326008)(41300700001)(8936002)(8676002)(70206006)(70586007)(2906002)(316002)(107886003)(478600001)(54906003)(44832011); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:29.4423 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a16f8657-969b-4e00-6a78-08db92178fa9 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.84]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT009.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7266 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the ext load method to use spl_load. As a consequence, it also adds support for FIT and IMX images. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load common/spl/spl_ext.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c index 2bf3434439..2c39799128 100644 --- a/common/spl/spl_ext.c +++ b/common/spl/spl_ext.c @@ -9,17 +9,30 @@ #include #include +static ulong spl_fit_read(struct spl_load_info *load, ulong file_offset, + ulong size, void *buf) +{ + int ret; + loff_t actlen; + + ret = ext4fs_read(buf, file_offset, size, &actlen); + if (ret) + return ret; + return actlen; +} + int spl_load_image_ext(struct spl_image_info *spl_image, struct spl_boot_device *bootdev, struct blk_desc *block_dev, int partition, const char *filename) { s32 err; - struct legacy_img_hdr *header; - loff_t filelen, actlen; + loff_t filelen; struct disk_partition part_info = {}; - - header = spl_get_load_buffer(-sizeof(*header), sizeof(*header)); + struct spl_load_info load = { + .read = spl_fit_read, + .bl_len = 1, + }; if (part_get_info(block_dev, partition, &part_info)) { printf("spl: no partition table found\n"); @@ -41,19 +54,8 @@ int spl_load_image_ext(struct spl_image_info *spl_image, puts("spl: ext4fs_open failed\n"); goto end; } - err = ext4fs_read((char *)header, 0, sizeof(struct legacy_img_hdr), &actlen); - if (err < 0) { - puts("spl: ext4fs_read failed\n"); - goto end; - } - err = spl_parse_image_header(spl_image, bootdev, header); - if (err < 0) { - puts("spl: ext: failed to parse image header\n"); - goto end; - } - - err = ext4fs_read((char *)spl_image->load_addr, 0, filelen, &actlen); + err = spl_load(spl_image, bootdev, &load, filelen, 0); end: #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT From patchwork Mon Jul 31 22:42:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815292 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=xoS6UdJd; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=xoS6UdJd; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCw56X3Hz1yfC for ; Tue, 1 Aug 2023 08:44:05 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EFF8086AE5; Tue, 1 Aug 2023 00:43:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="xoS6UdJd"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="xoS6UdJd"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 534E786AE5; Tue, 1 Aug 2023 00:43:33 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20602.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::602]) (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 1FB2C869ED for ; Tue, 1 Aug 2023 00:43:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ILLmD/EaeQKZKiNm3Va+HeylKI9DHiSoxGe23kvEXvM=; b=xoS6UdJdp8q5TtUla/lRcIMuxbtEUvl8Ir7kyt5NMXb+0popBdiPer8y/0D6Oh3ixS6oKlwBUS04TlBnOutV1nKZQRTinUIl2rNb5WSX+3BSL2BtMYyJAWot9KQl+qRYxhnr9L84korE24gsRF+HACu7o0JQuF/KUbrHLZAX+NjZu+MfgIqabP47XAKd5jprid8w2SDgtbBjvwse+ZRxM6mW5/laI6UKyU7akXYnoySwibZz7NMoZMiU2aqeIPT0C7WFPui7iAeO9ysyZhBPMlGMXbM6bLTHdF6fH3MevbO9dUDOMPxOQyp7kWSgGrkUKgFJkxrPxZ05FTGJCrtjVw== Received: from AM5PR1001CA0053.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::30) by DB9PR03MB7321.eurprd03.prod.outlook.com (2603:10a6:10:1ff::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Mon, 31 Jul 2023 22:43:28 +0000 Received: from AM6EUR05FT062.eop-eur05.prod.protection.outlook.com (2603:10a6:206:15:cafe::c0) by AM5PR1001CA0053.outlook.office365.com (2603:10a6:206:15::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.82) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.82 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.82; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.82) by AM6EUR05FT062.mail.protection.outlook.com (10.233.240.254) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:27 +0000 Received: from outmta (unknown [192.168.82.132]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id DC3BC2008008B; Mon, 31 Jul 2023 22:43:27 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.171]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 083902008006E; Mon, 31 Jul 2023 22:43:21 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbEFf5FL2nXl3owjRAFZvD6nN0xD1QKgZfxMf477Ws+/FIRMurTqGc3tcPqXUMbS+nT69Y1svTaLu/x9RHurHtH47c1redonSqi4Uk67E6DdMZqjsD7PW43WZI7bH5KnqAYghxVx6soZ2oDc+sLlgrrV49Ztr2NiuczlgqV5pEzouTnD9F5zMNYAZ0rF1WKFjjvVqOIRLqmuvfxkjviPf1dVhiYansrqMyKKLTq6GzEIm/klED1uu4u84TsYDjf5Z4DWA97tTldazBugSSI00vsMPkazT51N6EDZtSsyIyRqSSIr+DO/vWLMi+wBWHxrbP5m4us1wOfVx8Q0f3jv0A== 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=ILLmD/EaeQKZKiNm3Va+HeylKI9DHiSoxGe23kvEXvM=; b=UjIa9NWht5ZJEPA91HkSpGB+DdAUxqCJuYlgMXEZf1mJ90NxQ2fca1DqFenSj6gcsHnshRZ79sbTWOckmkQxUFjqG5VxGHoS5WadTY1bq5mtvEg8AxqbsnGSSJwrIc/ykxZup7RKZ0uc4I8pvXkUGUffJJjvGHsy5O53/ar40MqBjKYRQGv2J2G3Ssv1iUYA/YR6S1JZm/wVtZdRduDQdmGdGdvFbx4mcNjmASN+iS4jk+yFIo5Zaf45EyG5ADX+HWkox9DfvAfq6jUeajjEBkUx5QJ4sP2W8bNzX2nR1DtB2izzFZOpqYgfgyGSheTB4uJ4nZpdwgEBBT6M0csfJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ILLmD/EaeQKZKiNm3Va+HeylKI9DHiSoxGe23kvEXvM=; b=xoS6UdJdp8q5TtUla/lRcIMuxbtEUvl8Ir7kyt5NMXb+0popBdiPer8y/0D6Oh3ixS6oKlwBUS04TlBnOutV1nKZQRTinUIl2rNb5WSX+3BSL2BtMYyJAWot9KQl+qRYxhnr9L84korE24gsRF+HACu7o0JQuF/KUbrHLZAX+NjZu+MfgIqabP47XAKd5jprid8w2SDgtbBjvwse+ZRxM6mW5/laI6UKyU7akXYnoySwibZz7NMoZMiU2aqeIPT0C7WFPui7iAeO9ysyZhBPMlGMXbM6bLTHdF6fH3MevbO9dUDOMPxOQyp7kWSgGrkUKgFJkxrPxZ05FTGJCrtjVw== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:20 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:19 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 04/11] spl: Convert fat to spl_load Date: Mon, 31 Jul 2023 18:42:56 -0400 Message-Id: <20230731224304.111081-5-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|AM6EUR05FT062:EE_|DB9PR03MB7321:EE_ X-MS-Office365-Filtering-Correlation-Id: 404dc426-0393-437a-343b-08db92178ec8 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Gx+C8vqMKubRxGHocgq/WhndUpXMHazNduq6X9iUrrzT6n1QRB+rSnN0DVW6cJKKBz3npo0ZqayWl0crVTi5HK90sYGyaG9O/9j6iF4thso1pkfPRVrjH624xHyGOAZU8K+GBmZlw8HL8HOyXbuv5cWMKZIQxD/py9q0xH7j413ZMus80roexRSGllIK3wPxOW0XqMiH6xs+arzo2uVqZAMY3ZN+S9dIOV3isdZ8VdrXi7O+rioIl3X+srhQxhxOn3XJ0QbIi4xFoExo6TuDPG9WZPdTCHp0okD5M7rEIUog+Bt27xaiG3Ljs2ZOYW0wkWchKdt2Lrvz6kx0u+Mvha4hrNb83fYoWgQoE1ku5YGwN7fiCmnK9FxkuouHu1vBtv8WH19UQovcUMFLWKg6k6IV6O1qNgGqxXqRMtcvArt9qoKoXnJv9kkeJsJAoLEUrg4gHnHd94/TX2eWYt8l/KxXnStbOGsFzBHCrbiVuWBrRoAo148PoT8m1t72P6h26gJENJfwmqZudLxASubMUaxtunNi/j2LFHRwZ4jGUQ2eIEuGJLOF8YOeD4WS11JxCGGvKGB/LikhOiv1d8VajtcnIxt0E1HujWxUULy6/nmjSoNw9eP4oUufkUg9VOjX X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3f7462c6-fc33-4be2-6e99-08db921789e0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZJ7SOc9fLYhdgWQO7Pdslr92er7dPxYhfgm+XBkCyrfyWDut+LKk7QWIn5WvyQ/EnqxlF9IKmZiCCc26BZ9QFoEfO960wPpO3IfzRZ8esLghiCbdIhw01Qh1c+cucpv4rfzdrjL8/+fg14YxJu5VPyrod0bBHhvR3M5XcUqwIzolOpYjphqGVKCvJvxoTo+XZd1HHOjBnp1FjUAhKvqIia/MZFtckRm+eqxU2N2ENeMslR+yYHCPbcN/kUBPSH0x+oJi4QCpQukcff7FojPGVKEBQSs7y5qpDS8kQajlBVE/b/EEZxg0danKML6Y/bZxtMyfbegTXUpUrndnS+PH0j8DT0F26dz0u7NaPZJkQvtsUIkR0IoO1YUUYP+9AjanPH8DZKqzmrdeZxRoItqf6akCARnHyhEiMu3SJf1rhfuunoajNEtavhJZfE+hUjK6tBbdp2IUjLg1K0OlZVMQ/xk3XA1eFuGzLdbdAd86aiI/TvlvIiN1ffdKuC+9/D/P3DsGy1y5ODVdefNz5JmiPWKrXTp5Zvh25VSvb8xElUi/iTrlvrvmyEd7D/lzYFKJ42nPUbAqdv+xXUTe+gp2Ev9sJfTkKy6CY8rWeUQA2VfqA+SZDJO0tYHoDP5XGmGE4ad1U3rQblPfcORK50+A1vnSIDCcD672KnjqKmsI5FkfxiADS6JcPOkYD0QbXcYxTan2T8ajs8F+BxXGyMvZbxOT4aU9k2PPY+j2B0zbPBpg7VTolUPA0fTBbQT/m5w3XWK9xShw/OyV9ApT8MQ2TQ== X-Forefront-Antispam-Report: CIP:20.160.56.82; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(136003)(396003)(346002)(39850400004)(376002)(82310400008)(451199021)(46966006)(36840700001)(40470700004)(8936002)(8676002)(36756003)(6486002)(41300700001)(34070700002)(478600001)(2616005)(2906002)(6666004)(44832011)(83380400001)(26005)(47076005)(316002)(186003)(336012)(86362001)(6506007)(1076003)(5660300002)(70586007)(70206006)(36860700001)(82740400003)(6512007)(40460700003)(54906003)(4326008)(356005)(7636003)(7596003)(107886003)(40480700001); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:27.9976 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 404dc426-0393-437a-343b-08db92178ec8 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.82]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7321 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the fat loader to use spl_load. Some platforms are very tight on space, so we take care to only include the code we really need. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load Changes in v3: - Fix failing on success common/spl/spl_fat.c | 55 +++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 36 deletions(-) diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c index f8a5b80a3b..6530bcd5a7 100644 --- a/common/spl/spl_fat.c +++ b/common/spl/spl_fat.c @@ -60,57 +60,40 @@ int spl_load_image_fat(struct spl_image_info *spl_image, const char *filename) { int err; - struct legacy_img_hdr *header; + loff_t size; + struct spl_load_info load; + + /* This generates smaller code than using a compound literal */ + load.read = spl_fit_read; + load.bl_len = 1; + load.filename = filename; err = spl_register_fat_device(block_dev, partition); if (err) goto end; - header = spl_get_load_buffer(-sizeof(*header), sizeof(*header)); - - err = file_fat_read(filename, header, sizeof(struct legacy_img_hdr)); - if (err <= 0) - goto end; - - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) && - image_get_magic(header) == FDT_MAGIC) { - err = file_fat_read(filename, (void *)CONFIG_SYS_LOAD_ADDR, 0); - if (err <= 0) - goto end; - err = spl_parse_image_header(spl_image, bootdev, - (struct legacy_img_hdr *)CONFIG_SYS_LOAD_ADDR); - if (err == -EAGAIN) - return err; - if (err == 0) - err = 1; - } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.read = spl_fit_read; - load.bl_len = 1; - load.filename = (void *)filename; - load.priv = NULL; - - return spl_load_simple_fit(spl_image, &load, 0, header); - } else { - err = spl_parse_image_header(spl_image, bootdev, header); + /* + * Avoid pulling in this function for other image types since we are + * very short on space on some boards. + */ + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL)) { + err = fat_size(filename, &size); if (err) goto end; - - err = file_fat_read(filename, - (u8 *)(uintptr_t)spl_image->load_addr, 0); + } else { + size = 0; } + err = spl_load(spl_image, bootdev, &load, 0, size); + end: #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT - if (err <= 0) + if (err < 0) printf("%s: error reading image %s, err - %d\n", __func__, filename, err); #endif - return (err <= 0); + return err; } #if CONFIG_IS_ENABLED(OS_BOOT) From patchwork Mon Jul 31 22:42:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815295 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=xL8vP32n; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=xL8vP32n; 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCwl60xMz1yfC for ; Tue, 1 Aug 2023 08:44:39 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DB68B86AE4; Tue, 1 Aug 2023 00:43:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="xL8vP32n"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="xL8vP32n"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 10A5A86AE4; Tue, 1 Aug 2023 00:43:38 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::62b]) (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 A603A86ADF for ; Tue, 1 Aug 2023 00:43:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SocaXedyTB5ZwupznaSNiKBpXJkUFDmiM7J0RxgwIGU=; b=xL8vP32nhB2mg/cXCiTWXukXwA02PedAZwt8kDtORVU1CW4vcU1wQxIB4o8PMiWi93wDSg+9cNzZWeumCUb22CuqSsE0jX9JcD3KLyAmGH2HRBsTkw9pt+DU/H1GrFeAvKZHcBAHH7Qp8sAWQpCPAs4uPwLheEyPCpV8J9fNR1mQa95maN0+GrCjxelSovweA+Zh5p+ksn6rhFMHkYx35LAgBtbzIvIIY3QJepBnAm4dd+GEiEmajat85BoLQF2GC/y+ZkWNQjkfRcKOEhzPOZLrSSUgTXQ9dTi6ADntYlrikWnUCSN+VyFCYaOBOmvC1beCUaPnscM9iU5PwGObTA== Received: from DU2PR04CA0035.eurprd04.prod.outlook.com (2603:10a6:10:234::10) by PA4PR03MB7120.eurprd03.prod.outlook.com (2603:10a6:102:e9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:30 +0000 Received: from DB8EUR05FT040.eop-eur05.prod.protection.outlook.com (2603:10a6:10:234:cafe::87) by DU2PR04CA0035.outlook.office365.com (2603:10a6:10:234::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.87) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.87 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.87; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.87) by DB8EUR05FT040.mail.protection.outlook.com (10.233.238.220) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:30 +0000 Received: from outmta (unknown [192.168.82.135]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id A8AFC2008008C; Mon, 31 Jul 2023 22:43:29 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.169]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 60D3D2008006F; Mon, 31 Jul 2023 22:43:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TpgbvsYtrHuf+/HXYUhrjhyXgCOrRsnySlZq1CFDUutjcG0kYgq+AIG+qtEEBIamaiStZ+RfYmYyHihrLwPVEjy5xbxOzh4s6w+/HiGhjRarGk4PqT7rDb3pO3E6wRmsdYlOQ/W0wg50qddeFwV6vWPuo1C4TsWbtHvGLi+dvW9sEU/0q031y4jwF6X1+cjr/aW3a9oA0shcIRnrFOG82jxzJ2gmvKr+J66nxxvnhGbu0MII6mx2vR5OY4y//tvq9RjhmcdK+roJdibhAGzapiC5nn1Xi+u3c6xQ0SJ/+FJfCUZrlia/AY6xHmQzFA4Lk2od6REsZ8KuRYetbpEHnQ== 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=SocaXedyTB5ZwupznaSNiKBpXJkUFDmiM7J0RxgwIGU=; b=X3GRtH6xEtQ7PyUCeEiqlTYv2g5N0i/M/S7kljz6IFhV05nq7WufNtQoB7Ryn6MCNpt/RKsNwy95TAxJS8kB5f1KF1yZnJS+2q34ljuDBIgeLifUdQqTbDl0EeG/hAuDhWfjteTPcL+SjJlCktug66CbRi9YmsxhyLmIL4bs0QZK0q7cUZGgwhFfRSdsSHeeXHhOrvPf45hh2o44JustZtRYdV4cxVXSIBJF9LvIkhsFG+4HZUXC0Nzwnh9m3145jqdORoMAJrrDDsAW5ZvtzguoLhqsV1XvhaKJbFJe3At9UdfiVuXC5KFi+Y0I0ia4mr/PL9jmcYCBqvahuI/M7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SocaXedyTB5ZwupznaSNiKBpXJkUFDmiM7J0RxgwIGU=; b=xL8vP32nhB2mg/cXCiTWXukXwA02PedAZwt8kDtORVU1CW4vcU1wQxIB4o8PMiWi93wDSg+9cNzZWeumCUb22CuqSsE0jX9JcD3KLyAmGH2HRBsTkw9pt+DU/H1GrFeAvKZHcBAHH7Qp8sAWQpCPAs4uPwLheEyPCpV8J9fNR1mQa95maN0+GrCjxelSovweA+Zh5p+ksn6rhFMHkYx35LAgBtbzIvIIY3QJepBnAm4dd+GEiEmajat85BoLQF2GC/y+ZkWNQjkfRcKOEhzPOZLrSSUgTXQ9dTi6ADntYlrikWnUCSN+VyFCYaOBOmvC1beCUaPnscM9iU5PwGObTA== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:21 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:21 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 05/11] spl: Convert mmc to spl_load Date: Mon, 31 Jul 2023 18:42:57 -0400 Message-Id: <20230731224304.111081-6-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|DB8EUR05FT040:EE_|PA4PR03MB7120:EE_ X-MS-Office365-Filtering-Correlation-Id: 9778d847-aede-4fd2-906b-08db92179005 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: +Jb5vtZjuT7/R6+FitQlcXszq3Lj5xX3hRS63gE6qLOFpdLKqU/6Hc+kTIqRfvSiizp2Jb+Qcs2YSlSpfU8N5g4LuyeAE/ViRJJJoJf8DbjmAobSv0ssBo2ipstP1Cv6+HENYL7s08Zb5ftCcTgZfNIELURqX2Dt16FsYCBVdlUaZBl7mKdBNwYSZ9oDX0vecSEkeUon6RdChv0Q1Pw8Z+oZNzvECJIx14E2jSljT3jND3h4baafkJkduYqYgPjqUwqp15iEuFJgLMrK+Uzy2lEP74CFdoFHYsk6N4Vh9i5NeQyjyCawxJZiIrRoZ/6Ga4t0b6UR9+Wpm5xqsMHijxSiiXx4sqJs1rdOUUySVy9mzkvk3vULp1gDkw+vNlDgR+4p61FOEx96WPH5cjcn86SwrQDYkB5Oq6DitprFYen1fT+Vm9zBpkFugSKQwvPSfN13DqbnSxoPfEqyTVQp9XaI5NYei+fxCcc1NKgBENVaW1OsPXnpXc7Iuu6O2Vup9UdmcTdAgyrmDs/224k7eaEtv3aMsFR+ejC2bKi31zFIbYjOdJz6jJi5sjuMGh4Xxn+IgfJIy3/6ux6JoTiZ9zb5gmcvlrg409tAGF6fvxQZG+HQl1a7hul+17AeAysd X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB8EUR05FT040.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a25b5eff-3c10-4a71-e5a3-08db92178aa3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2GJVgcF5JsMbjP+0NYFL4IBYWEb7qJUcWN7nuQurky+aWRqKhclFH1ioleAYwYVKye1wD+ZgOieF/Ca+E1xtSquqw3LTn/A+c5krI1e6RL1kchavVNQqYLrDJeifaohzGycq6MVOnq6otk5Li35mezYesDWnpFOEmypsrDOrMPcfdq2PCRWxtHHUU6fzox6ofGI/Pm52JTtQqGDVHvJv0NKO0ZKK+28U98jqfUttw3qCvuGccKCLrjz1gZ6gu5jP7SMlXPJcwTr/gmGh1F3L+Zam1N3buUOwBTelpPywna1LEkwlYG7llvltjhOa0xOw4wdKgEKSzbNRL3JOetSO6mEs9LQppfumPnS/umcL+PqdNnUGP5bsc9ubSBb7wPZyal89dCp9TxFgiKOJ/DJcchTNLm4JP38zX2eL8KVjxEkV+RpDCgaYvowKKQxnjLW03y0E3WBww2hl+7oGfqgJY4+4q61I79i/FecEDTypftJRV6RvkxKOevbLGeAS77Ki6xHEk/y5beXz8eISk7x3jE6FBEkJW6BbNZqt3L9/z1rxgpDKIyriz0t2GkCZTMf0u18SR9aS2aet5x0wOaDPZicxaOsW4TV2j77xR8gGySycW5t5JO03Z5eaBHvPj888jXmXLjtBvAmS4qLmiK5RSz7AHOCQhce6KS7E5upIXSOzDgmNLbAcvndjWqH/2JcZsPfDmPbU+SfeJgcv6WH0paKvjTK2Mcquye8Dl1Qj98TdRXpDo4U1saSidfVy+idBSqkc8gkodKOTcHfTlUMIKQ== X-Forefront-Antispam-Report: CIP:20.160.56.87; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(376002)(346002)(82310400008)(451199021)(36840700001)(46966006)(40470700004)(36756003)(478600001)(356005)(7596003)(82740400003)(7636003)(40480700001)(86362001)(6512007)(40460700003)(6486002)(6666004)(2616005)(186003)(336012)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(70586007)(34070700002)(4326008)(2906002)(70206006)(54906003)(41300700001)(316002)(36860700001)(83380400001)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:30.0462 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9778d847-aede-4fd2-906b-08db92179005 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.87]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT040.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7120 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the mmc loader to spl_load. Legacy images are handled by spl_load (via spl_parse_image_header), so mmc_load_legacy can be omitted. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load common/spl/spl_mmc.c | 91 ++++---------------------------------------- 1 file changed, 8 insertions(+), 83 deletions(-) diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index a665091b00..c926a42c0f 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -17,48 +17,6 @@ #include #include -static int mmc_load_legacy(struct spl_image_info *spl_image, - struct spl_boot_device *bootdev, - struct mmc *mmc, - ulong sector, struct legacy_img_hdr *header) -{ - u32 image_offset_sectors; - u32 image_size_sectors; - unsigned long count; - u32 image_offset; - int ret; - - ret = spl_parse_image_header(spl_image, bootdev, header); - if (ret) - return ret; - - /* convert offset to sectors - round down */ - image_offset_sectors = spl_image->offset / mmc->read_bl_len; - /* calculate remaining offset */ - image_offset = spl_image->offset % mmc->read_bl_len; - - /* convert size to sectors - round up */ - image_size_sectors = (spl_image->size + mmc->read_bl_len - 1) / - mmc->read_bl_len; - - /* Read the header too to avoid extra memcpy */ - count = blk_dread(mmc_get_blk_desc(mmc), - sector + image_offset_sectors, - image_size_sectors, - (void *)(ulong)spl_image->load_addr); - debug("read %x sectors to %lx\n", image_size_sectors, - spl_image->load_addr); - if (count != image_size_sectors) - return -EIO; - - if (image_offset) - memmove((void *)(ulong)spl_image->load_addr, - (void *)(ulong)spl_image->load_addr + image_offset, - spl_image->size); - - return 0; -} - static ulong h_spl_load_read(struct spl_load_info *load, ulong sector, ulong count, void *buf) { @@ -82,47 +40,14 @@ int mmc_load_image_raw_sector(struct spl_image_info *spl_image, struct spl_boot_device *bootdev, struct mmc *mmc, unsigned long sector) { - unsigned long count; - struct legacy_img_hdr *header; - struct blk_desc *bd = mmc_get_blk_desc(mmc); - int ret = 0; - - header = spl_get_load_buffer(-sizeof(*header), bd->blksz); - - /* read image header to find the image size & load address */ - count = blk_dread(bd, sector, 1, header); - debug("hdr read sector %lx, count=%lu\n", sector, count); - if (count == 0) { - ret = -EIO; - goto end; - } - - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.dev = mmc; - load.priv = NULL; - load.filename = NULL; - load.bl_len = mmc->read_bl_len; - load.read = h_spl_load_read; - ret = spl_load_simple_fit(spl_image, &load, sector, header); - } else if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER)) { - struct spl_load_info load; - - load.dev = mmc; - load.priv = NULL; - load.filename = NULL; - load.bl_len = mmc->read_bl_len; - load.read = h_spl_load_read; - - ret = spl_load_imx_container(spl_image, &load, sector); - } else { - ret = mmc_load_legacy(spl_image, bootdev, mmc, sector, header); - } - -end: + int ret; + struct spl_load_info load = { + .dev = mmc, + .bl_len = mmc->read_bl_len, + .read = h_spl_load_read, + }; + + ret = spl_load(spl_image, bootdev, &load, 0, sector); if (ret) { #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT puts("mmc_load_image_raw_sector: mmc block read error\n"); From patchwork Mon Jul 31 22:42:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815297 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=idF7bJdU; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=idF7bJdU; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCx83886z1yfC for ; Tue, 1 Aug 2023 08:45:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9A96C86AF6; Tue, 1 Aug 2023 00:43:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="idF7bJdU"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="idF7bJdU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5505B86AC0; Tue, 1 Aug 2023 00:43:41 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on20614.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe12::614]) (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 B3E6C86AEA for ; Tue, 1 Aug 2023 00:43:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eV0wqpzsovl4MgpIX8ql5Uj4jXc8TcTjEg5/jyrf0nA=; b=idF7bJdUei/ULu4qvcO7/NBcaRo5u1FQIfu3FPPTzUAz9eRYPNBYD/ib/alfVgs3skCzNs7ot2pPMpUDPB/6erJDT5tKMngoB6s0dRzOCRYODCHgjK4snKYXw+uXM+e++U6i37/ZxrtWgQ5BBiLCvxEd75DVeyC6kWmphO2GunddxZ0QnH3QNZ6GADdzav1RLSzW1BnfvYxbMyDDKsK+ydPns7OPV0NTfllpWoImrd/kK/ltIUV5M+2WtR7TaSvEbiMdCcMYPwmmB3CsZrLEak7Uegcv7zPQ74az7iBeCuJEhMsPA/MPJ1H9oKrlyFZv6GdrpbrDBJK8GopjL2o/rQ== Received: from AS8PR04CA0016.eurprd04.prod.outlook.com (2603:10a6:20b:310::21) by DB4PR03MB8515.eurprd03.prod.outlook.com (2603:10a6:10:378::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:33 +0000 Received: from AM6EUR05FT033.eop-eur05.prod.protection.outlook.com (2603:10a6:20b:310:cafe::4e) by AS8PR04CA0016.outlook.office365.com (2603:10a6:20b:310::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.83) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.83 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.83; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.83) by AM6EUR05FT033.mail.protection.outlook.com (10.233.241.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:32 +0000 Received: from outmta (unknown [192.168.82.135]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id 9BDA02008008D; Mon, 31 Jul 2023 22:43:32 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.175]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 7850A2008006E; Mon, 31 Jul 2023 22:43:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BahCvrQiAc43fCXU7IQGMExLmtUzDKnaVRECNLfXC8SOQrXeOBhPhQEfSeyw2KhwQbkrKrWvtvjQyLwSh0KCjBbqiLZh6cKlNi6LBfMBVHxS8n9iFS2iOZFwuBuicHTPaCuY1qdsRvrafbbqavoNHKzHcZpJu633DvzSkd6g0WAybBXUcsx0Jk/VrxTeqpVwwZI2nHidn6ht1nmsD6slH6qCZqn/so5Ce7R2Ll87E4VHWIO7+HbLZZRT4x6xJM1YCgetqd/83TkRfKCo0VBUmgBuHWUbJ4oPA8ZURm70QR4Fif1p55/uA5FNwjlUp1fgk0ge67ulLH9/0nCAP3NCFA== 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=eV0wqpzsovl4MgpIX8ql5Uj4jXc8TcTjEg5/jyrf0nA=; b=TlfO+wIiVaf5s/AliVbW/n/LDchMIrpveGMWfbpiBjyqaCGxcEv5h748Cw34UblT7I6HqHwIHzuB7jRewMehyN21bDK2sL/qRrc+UUk5BFaFCKWuElrFkALTtSm/zyHXKLeRg75IwM4KZvA/FGPpmf1cxSCTrY7bbUNOmVl3o52Tm3n/RkvCgWnYltHuLGZEFo0dsD/7TH/mz3dSVL9uXef9sElSGn0OCcaz1HlrGvAHU1nNo1oxgRBljVZemYdofLjetUHCZtL0pJnY2NoedV8eFiiq43mBHXul43r3L0bmLsAaL1KBwzYwPJsLMTns4Z0Zi+k5fq1Tz9I5v08N5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eV0wqpzsovl4MgpIX8ql5Uj4jXc8TcTjEg5/jyrf0nA=; b=idF7bJdUei/ULu4qvcO7/NBcaRo5u1FQIfu3FPPTzUAz9eRYPNBYD/ib/alfVgs3skCzNs7ot2pPMpUDPB/6erJDT5tKMngoB6s0dRzOCRYODCHgjK4snKYXw+uXM+e++U6i37/ZxrtWgQ5BBiLCvxEd75DVeyC6kWmphO2GunddxZ0QnH3QNZ6GADdzav1RLSzW1BnfvYxbMyDDKsK+ydPns7OPV0NTfllpWoImrd/kK/ltIUV5M+2WtR7TaSvEbiMdCcMYPwmmB3CsZrLEak7Uegcv7zPQ74az7iBeCuJEhMsPA/MPJ1H9oKrlyFZv6GdrpbrDBJK8GopjL2o/rQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:22 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:22 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 06/11] spl: Convert net to spl_load Date: Mon, 31 Jul 2023 18:42:58 -0400 Message-Id: <20230731224304.111081-7-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|AM6EUR05FT033:EE_|DB4PR03MB8515:EE_ X-MS-Office365-Filtering-Correlation-Id: 894626aa-687c-4ca2-d2a9-08db921791aa X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: rBhVUp9T7Cy5j+6WOn3PL0mvoB3jvU4RLDaT0q6IBkgcFiJxtf3aOcp6XX1qW4VaVgD8QNruTIgDfOYH0VmqYXqXM+Z86buE0/mFeGNqYay7bScVCv0RURYYDeOBbrPrUyvjA7Ky/g8KxzEqYyGGaQ3WEn8Zoak8WjvjBSuT8QF1lEdPnFWa5n57ayeiLAVQ8dQS6v9UwNMk35GokoO7qsG/k9Ib84W8NI2NO3uE1GGgMmL0sWwnyJHibxQ2nwH8hCJwrh4ohdmTmzYyBe0riJ17O5nfzIhOia//TZvuKuGYMwk/ISSmzqmf0rrZPMHMm27zlEMAVeHLkSfXGyIz+BmxUWKnm+AMZDgQkcShofl1F09fPOccxo52ItDNugHV+IiGe5JUw7gVr6QpN3Z8VBxxTXHKA3PYsb+8lhXLUM3tu8vkaWPVqHislqKBxc2M9YQnafTmzxyXoXpaGq7fqGvZk74Uk3ga2mebarMJWCnqgjqurwFZktdrK0+tkdDT785j7Xu/ijaJi/7DTBw82VVP7jqJeGsrpKdhBOQA/pKOEW4AubaRFi7o4tm1n9Q2IdTpUHMvYKZyXIsgQ57Ze4hH1BgrkeVGr0rzU+vPI5dg1tFpJFJa9bHTwvQaqMKB X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT033.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 491f15dc-ce89-4846-5cc9-08db92178b67 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X+5kfY4bedqkpUx9MdTzRidRkhNIF4FQMd6cOHhXReJE94o5N1Bq94NSEk6WY5hrjnWD4bxbDNf8aCNcICuIEb8UJh6q2yzcD+fOUoL5X4AlhYqtWLTeD9xT+4yDxiCbeCcO0dSziCRxR1OAX04/BVC2K2VasTWSz8MQPvHkKjSlSsZ4kHmYkGS7oXR6pkyeeyq72M+f4nrHSAJdoaDBR1Hhc/Jzv8bZ/mSMRedPn2j35hCVlNrwQOIHRGBTivfJ1pItbDHJv0tC6Lb5oE+56Hc49oZyQkjVqqCHpKX//VGWdnUMSONLWipM8yDQBQSz+kQpnFs8Gz7g1kImC7eLXH16KzgQo2pUwseyj54tw0Zta/P7tGO8BZab6GKbBIvNt/Sz260OxN4kE7dMERnEo7PgZSl38QxxT5Pr5CLP7d8oFx2JHlT/hHLjBuTQVW7mpKyEseoih9k7EMy5GtHtjenUq5ClbyTxe75Uk5Bx7CbQNmkq4GbD48mqQXxV6WfYEqRGUO4DMZknN7d4vP+2XdAuyJJKKDx44Pfds1MEYncLEZ9emA21m8CBtz/Abeb6rdgS3+6Rtm1gzACSvT5uG+ENBjd6NE5iEfzRCOJFoMyWFW98qyGt2JGfjPthogufgAR/MXzE59n/jYGIM4PjqWSbXZM+PfYNUm4sr5lbAFXt7uWMVht5DcuP0AIDs/hQKvD8E9lB7t6fSARzbDqWS62MZPvuvwDIMBTYvrDi/DPvH0uzD6iVJSArwWgni15t X-Forefront-Antispam-Report: CIP:20.160.56.83; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(346002)(396003)(376002)(136003)(39850400004)(82310400008)(451199021)(36840700001)(46966006)(44832011)(6512007)(47076005)(36860700001)(6486002)(36756003)(2616005)(40480700001)(6506007)(26005)(1076003)(83380400001)(107886003)(336012)(186003)(70206006)(70586007)(7636003)(54906003)(356005)(7596003)(82740400003)(41300700001)(86362001)(316002)(5660300002)(4326008)(8676002)(8936002)(2906002)(6666004)(34070700002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:32.8382 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 894626aa-687c-4ca2-d2a9-08db921791aa X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.83]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT033.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR03MB8515 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the net load method to use spl_load. As a result, it also adds support for LOAD_FIT_FULL and IMX images. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load common/spl/spl_net.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c index b2c901b554..29e72bc491 100644 --- a/common/spl/spl_net.c +++ b/common/spl/spl_net.c @@ -28,7 +28,10 @@ static ulong spl_net_load_read(struct spl_load_info *load, ulong sector, static int spl_net_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) { - struct legacy_img_hdr *header = (struct legacy_img_hdr *)image_load_addr; + struct spl_load_info load = { + .bl_len = 1, + .read = spl_net_load_read, + }; int rv; env_init(); @@ -47,25 +50,7 @@ static int spl_net_load_image(struct spl_image_info *spl_image, return rv; } - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.bl_len = 1; - load.read = spl_net_load_read; - rv = spl_load_simple_fit(spl_image, &load, 0, header); - } else { - debug("Legacy image\n"); - - rv = spl_parse_image_header(spl_image, bootdev, header); - if (rv) - return rv; - - memcpy((void *)spl_image->load_addr, header, spl_image->size); - } - - return rv; + return spl_load(spl_image, bootdev, &load, 0, 0); } #endif From patchwork Mon Jul 31 22:42:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815293 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=A3oy8/zU; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=A3oy8/zU; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCwJ58jkz1yfC for ; Tue, 1 Aug 2023 08:44:16 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C3DFF86AD6; Tue, 1 Aug 2023 00:43:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="A3oy8/zU"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="A3oy8/zU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D53578682B; Tue, 1 Aug 2023 00:43:35 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham 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 ED9F186AD2 for ; Tue, 1 Aug 2023 00:43:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iu6VruGKOI8hR0Y25e2BCQdfUUH8NOrfzVK+q7WE7/M=; b=A3oy8/zU7BB1LUv3OLeJE3sT0zQjXWD0DH2tbd2JB+23YLotmMRpH87bfPP192CC46nayYDQlMUvnF6e+fgU3Yo8gU7G5e7l/z4nOk3Vs5B440wJsKp8heoQN7ZXciXR61wHJjSGwoDS5RyYbu+cjZuy3syAMhM2TF9ixFFrxUsKyusU4vmZG4Gt9nALZzkzZpvWzYKuN+FDmq76B2Jio6/GbFGSdrV5mYbjmEQ8Z6Xdsi4P+dWDLV/4deaHcrvDE9unLN6eMnohWpldU1z+X1mH/9fMkvNeNqE2iFFiEXBp7iEKEcPEQJds0ntXLaAHUH8S5fxOj0VoZsDLMezMxQ== Received: from AM6P192CA0046.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::23) by AS8PR03MB8348.eurprd03.prod.outlook.com (2603:10a6:20b:525::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:30 +0000 Received: from AM6EUR05FT067.eop-eur05.prod.protection.outlook.com (2603:10a6:209:82:cafe::a5) by AM6P192CA0046.outlook.office365.com (2603:10a6:209:82::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43 via Frontend Transport; Mon, 31 Jul 2023 22:43:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.80) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.80 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.80; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.80) by AM6EUR05FT067.mail.protection.outlook.com (10.233.240.63) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:29 +0000 Received: from outmta (unknown [192.168.82.140]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id AC9C12008008D; Mon, 31 Jul 2023 22:43:29 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.176]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id DCF8E2008006E; Mon, 31 Jul 2023 22:43:24 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Obtof1sxPe4QL52KxS0V25Ghvl1cWwHV6LTBkFV4POZmlkyl6mLrty25RTdtbJKqrYoTcQPba/2qn+lM06RLX9K1OX0NrfcWNzBz+3lDQ/r6pqRcQEBs4voGffF08jZr7pCHn3FxkxDWxuLuFjlfNpc5MpQwE5NQcJbEaosKkmn8zmWmdwyGt/HroBzuzF3aZQVz68E2BAW4CzKHZmd2aYVczo+saevQpAV+NviH69YCVOcp3wGzEyuiAaXypjPP3wRYBihCcKQ709Tt6g4ThqLw6ypGQz1IpsbMWcrD/Z9saLvF9M9YciSNYSYB9KMrQiu5sk4myaLCAUPx6bvoOg== 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=iu6VruGKOI8hR0Y25e2BCQdfUUH8NOrfzVK+q7WE7/M=; b=d89F9snSwtMO+Tslu4vq7JgrXYWhSeLqfPMLg+eqaGuhLzHQtTjSbUJT89c99K1RODFVVaEDCmO3HkOs+MC8gcKlcr0v/oSGHC8Peqz2R7LDDrhtQwq3VUe1bxHpPNEViM7p2JqfeLYO3XjYb3FTQlFGKg1tizpMT81VKFp4ytUaW4hg7s3IbTNLtuToFp0N8pp2eGO0KsGFmvbBqPyIScHzZdpVFLBoVOhTyLgNsT/OCLlRYhIlNsHPHOW18BiKiJp5UmXWt7ATV8urZydBkKel9Fuxkz4y28GmWEBnoVcV9JRP1WmUwF5+ZlLjpApdHt1OEUvc27nqYSkXIMKsIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iu6VruGKOI8hR0Y25e2BCQdfUUH8NOrfzVK+q7WE7/M=; b=A3oy8/zU7BB1LUv3OLeJE3sT0zQjXWD0DH2tbd2JB+23YLotmMRpH87bfPP192CC46nayYDQlMUvnF6e+fgU3Yo8gU7G5e7l/z4nOk3Vs5B440wJsKp8heoQN7ZXciXR61wHJjSGwoDS5RyYbu+cjZuy3syAMhM2TF9ixFFrxUsKyusU4vmZG4Gt9nALZzkzZpvWzYKuN+FDmq76B2Jio6/GbFGSdrV5mYbjmEQ8Z6Xdsi4P+dWDLV/4deaHcrvDE9unLN6eMnohWpldU1z+X1mH/9fMkvNeNqE2iFFiEXBp7iEKEcPEQJds0ntXLaAHUH8S5fxOj0VoZsDLMezMxQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:23 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:23 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 07/11] spl: Convert NVMe to spl_load Date: Mon, 31 Jul 2023 18:42:59 -0400 Message-Id: <20230731224304.111081-8-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|AM6EUR05FT067:EE_|AS8PR03MB8348:EE_ X-MS-Office365-Filtering-Correlation-Id: 99b7a099-86e1-4dc8-fcf0-08db92178fd7 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: /sDf/KkPhOA3GaZJXMYdkpy6TRgRBmDWfL25uVVXRHqPrZY6AUtFbruiuSCj0JuICyQCKYLKHF30Ab/K4XgRJ/0nGUn0/27dqOIWZvi0lCPdDzwjlWWWcxZJGo8xgVFlKnDsG3+F/talBADYlUVHgFgcqOG0bKC6QQuwxdKTKHhlYs8sgmNYzPMgSJa43y2ilYwDGxjg3qhlhWortfQrTse/BU/lt9IId8vKyqPYAcD4VnoSOEQeZ5IXobnp1odHiy19pCXsLMM35tV3iv3eB7HFfWfeJM+OKFNs8K6MHUyStxBBj4c5ghMboQqZBZs9/V6D8LtDi1Kjng5aU90PfGX5pgW91qzOTGas5ITvdPnTaYyGa3J/6Ez0fSfuvyaR5Q5NvhuEjbyvEhNdQBMnEfkDHwHbz2zBRxjhDID6seEgMwtSm+8KxYUrj08PEDSJBPjf12pig1wahd3hrw/eQYcOIJOVoOMTZNHkdEguJmLT5bmxMOkpMyesLhCZfV1zV/BsW3uI5E4WcgOYZm5I4iAtGxGSIj65CMc4mlpeqQMyAZFJ8GOXevYNyAk//rOwRYtgeZV7GT1sIA2vBmiB47pa7M6ekwqnDMECf07xEHh1xbtyIR+x+XcfpM4/V0mB X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT067.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a04f13ed-8fd9-46cb-71ba-08db92178c28 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /0Uzqj7/sDpFgOfv1YKl0Powkr8j/84NIoplpdQbK3pkhb14aO+Y6CuaHaYQNtLazoExYD/jmhSOlM3Q0hx1p/BSxRcOJkNLpSlfh8mamo5ppCoKb1TiEAlAyxiq0JCvAwd5sT4zv+XIr+vUNBJ0VsmD0A/cJ/owWxC4CK18WcvuALyMgmeTb42EleCeZcWkHilss8Ch7PTz45ADWyCjPcGw/KUfJXkVDHgXvMlK+CU3ycLg6rh0smTjiaUm8vrvkiTeCXFgI47LmTLU3Zp+6hvhchwjpUS6fK4PogCwN3p9+l/QqvZclBfCJHLwcLo1tkDiAE5lZy4Burjcjft0jJBB6ccOgRR0j+YiQIItmwUKw1YPSworqcmKNXTAZOK9AYzoSkdy2vlBy0zSQGIAuBwsja9fAjguvt/MDyNf4YX261EV5a6wrGPJUFmJU3Yf1C3hmLk983ufFCQJ9HJEp2CDEjq4JTQ1PhLsam83o0kzQVvQnexSbXbljxf/INBmnQ/noxKLpYhuipuUZ0be4lYdOM03o3xIjHzklvq8/gJX3rb+K3qX6UK/jjmq3/gsq7j1rhGi40gfZydtzd4+oCBwhfP4BQHtBoX3TyfRHZSbMdddYwKhlxkLxBSMyyWWGrnjX6skA1C+o0sToVrh+3cufV73XkYZr7lNsPTZCPFjUdvkWb0+AiSiIoRDYbUshOAPrHvTSJ7PsX0DLqvnu/FMQI/HoU+IH8dqqVwucq9CqXbUtkTq4zao0w/lXyOqtZn1rpkJU8Jvf/jZ6QLo6g== X-Forefront-Antispam-Report: CIP:20.160.56.80; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(136003)(376002)(396003)(39850400004)(346002)(451199021)(82310400008)(46966006)(40470700004)(36840700001)(86362001)(8936002)(8676002)(5660300002)(316002)(7596003)(41300700001)(356005)(70206006)(7636003)(70586007)(4326008)(82740400003)(54906003)(478600001)(2906002)(34070700002)(6666004)(36756003)(36860700001)(47076005)(6512007)(44832011)(6486002)(107886003)(1076003)(26005)(6506007)(186003)(336012)(83380400001)(40480700001)(40460700003)(2616005); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:29.7788 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 99b7a099-86e1-4dc8-fcf0-08db92178fd7 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.80]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT067.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8348 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the blk load method (used exclusively by NVMe) to use spl_load. As a consequence, it also adds support for LOAD_FIT_FULL and IMX images. Signed-off-by: Sean Anderson --- Changes in v5: - New common/spl/spl_blk_fs.c | 68 ++++++++--------------------------------- 1 file changed, 12 insertions(+), 56 deletions(-) diff --git a/common/spl/spl_blk_fs.c b/common/spl/spl_blk_fs.c index d97adc4d39..eb5775a470 100644 --- a/common/spl/spl_blk_fs.c +++ b/common/spl/spl_blk_fs.c @@ -45,24 +45,28 @@ int spl_blk_load_image(struct spl_image_info *spl_image, { const char *filename = CONFIG_SPL_PAYLOAD; struct disk_partition part_info = {}; - struct legacy_img_hdr *header; struct blk_desc *blk_desc; - loff_t actlen, filesize; + loff_t filesize; struct blk_dev dev; int ret; + struct spl_load_info load = { + .read = spl_fit_read, + .bl_len = 1, + .filename = filename, + .priv = &dev, + }; blk_desc = blk_get_devnum_by_uclass_id(uclass_id, devnum); if (!blk_desc) { printf("blk desc for %d %d not found\n", uclass_id, devnum); - goto out; + return ret; } blk_show_device(uclass_id, devnum); - header = spl_get_load_buffer(-sizeof(*header), sizeof(*header)); ret = part_get_info(blk_desc, 1, &part_info); if (ret) { printf("spl: no partition table found. Err - %d\n", ret); - goto out; + return ret; } dev.ifname = blk_get_uclass_name(uclass_id); @@ -72,63 +76,15 @@ int spl_blk_load_image(struct spl_image_info *spl_image, if (ret) { printf("spl: unable to set blk_dev %s %s. Err - %d\n", dev.ifname, dev.dev_part_str, ret); - goto out; - } - - ret = fs_read(filename, (ulong)header, 0, - sizeof(struct legacy_img_hdr), &actlen); - if (ret) { - printf("spl: unable to read file %s. Err - %d\n", filename, - ret); - goto out; - } - - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.read = spl_fit_read; - load.bl_len = 1; - load.filename = (void *)filename; - load.priv = &dev; - - return spl_load_simple_fit(spl_image, &load, 0, header); - } - - ret = spl_parse_image_header(spl_image, bootdev, header); - if (ret) { - printf("spl: unable to parse image header. Err - %d\n", - ret); - goto out; - } - - ret = fs_set_blk_dev(dev.ifname, dev.dev_part_str, FS_TYPE_ANY); - if (ret) { - printf("spl: unable to set blk_dev %s %s. Err - %d\n", - dev.ifname, dev.dev_part_str, ret); - goto out; + return ret; } ret = fs_size(filename, &filesize); if (ret) { printf("spl: unable to get file size: %s. Err - %d\n", filename, ret); - goto out; + return ret; } - ret = fs_set_blk_dev(dev.ifname, dev.dev_part_str, FS_TYPE_ANY); - if (ret) { - printf("spl: unable to set blk_dev %s %s. Err - %d\n", - dev.ifname, dev.dev_part_str, ret); - goto out; - } - - ret = fs_read(filename, (ulong)spl_image->load_addr, 0, filesize, - &actlen); - if (ret) - printf("spl: unable to read file %s. Err - %d\n", - filename, ret); -out: - return ret; + return spl_load(spl_image, bootdev, &load, filesize, 0); } From patchwork Mon Jul 31 22:43:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815296 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=FGaTE0yM; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=FGaTE0yM; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCwy0vNhz1yfC for ; Tue, 1 Aug 2023 08:44:50 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CA50E86ABB; Tue, 1 Aug 2023 00:43:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="FGaTE0yM"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="FGaTE0yM"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1920B86AE8; Tue, 1 Aug 2023 00:43:40 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eaf::622]) (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 D878A86ABB for ; Tue, 1 Aug 2023 00:43:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PRdWyspG2WBoY1FWGfXubEd+5P/AXL+LLCnUYYw672w=; b=FGaTE0yMkavxReC+brJx6vOL4CXWZHoIuOj/L+lyohTLhfxaj4Btp2q8buk9f3TFAhMpHIwNqutm0caTZuXL35Ahe7thwKCb/hBY2Slp/UMDMBVYzgpHx2aHWpBnMoK2uPaNxV+mWYjs8O4BZ9vN8d6LvzPMSe8oUonIGu9CZC4G6iFR3uRlA+SsaD5XA0Ahf18whueegmlwnsjwAepPggf/TjmQvzYyChgme+C7N/YOSdGHvwMQW+ki5T27vQ9NHuuGdoZpCe5AmfpL8ONsAtpV/9M3DKrOLdTINNePlXsWmostF+2J8/gx9RAfk5rmvsePvoOMEiGs+lurHgP26Q== Received: from ZR0P278CA0207.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::10) by PAXPR03MB8131.eurprd03.prod.outlook.com (2603:10a6:102:229::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:32 +0000 Received: from VI1EUR05FT011.eop-eur05.prod.protection.outlook.com (2603:10a6:910:6a:cafe::fc) by ZR0P278CA0207.outlook.office365.com (2603:10a6:910:6a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.85) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.85 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.85; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.85) by VI1EUR05FT011.mail.protection.outlook.com (10.233.242.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:32 +0000 Received: from outmta (unknown [192.168.82.135]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id AE0B02008008C; Mon, 31 Jul 2023 22:43:31 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (unknown [104.47.17.172]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 5D33A20080073; Mon, 31 Jul 2023 22:43:26 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d3JmIZKyRpQQX4SrcuLp/x5PyyBOOicXSSlUwv8g5Ufhvs0M2nx5P/hXKWA6fGxnTHJ3aUeNShtq43g5ZVWkboOIs7PoB2301IdBDciBgF7KHgkvfORyrGvdjbkHHZUO0kaxdqvMZS1R459LwyYqNr0kB5QhYT3w//uFUvncpml1u2R1MRoHlTRmq/QR7umY1BVxD8q1RnbILfpjXD2dipzmdFaxOAt4BdmL8Vx5RqqR9haQf90j9JF6W7+AWJa6boJf+eyfqf+ROplB7v9sYxdRzh8PeIkNw7Yq45qp3WlKBpUmZ1+FAZN0ULe51pgoYiKBtWvXK4NvgJrxJHFH9A== 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=PRdWyspG2WBoY1FWGfXubEd+5P/AXL+LLCnUYYw672w=; b=WGtV+OqRBD/Jbumyj6Yw2dGrzEtiNZ14bR23QQK50d0xNv3X3mSpHse2AIiWR5L1w+xzaivYDBXmPioK7WUiDFFhVrWgGb5E8pAAM03/ssgEETJjCZg2UMVWXWc4usS8YUlrhs76GdgwSI9F4BfEB546/YfUPZl7EKs3dtQJD7p1tyLyw8w6E4SP/n9fapHVxxjR7gROt4CrWk5DkJObBr3tKKxQZ5SENmBcEXnFef+eskhXS2ESsT5EtD0P0A3NBK7+E9gc0xkTlYmKePm9J7/3kwwL3ujndX2FRMnSy/WMNXRtdkw4ej/jioaaD7X8laaLEfVlcxyRHY+0rAVi8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PRdWyspG2WBoY1FWGfXubEd+5P/AXL+LLCnUYYw672w=; b=FGaTE0yMkavxReC+brJx6vOL4CXWZHoIuOj/L+lyohTLhfxaj4Btp2q8buk9f3TFAhMpHIwNqutm0caTZuXL35Ahe7thwKCb/hBY2Slp/UMDMBVYzgpHx2aHWpBnMoK2uPaNxV+mWYjs8O4BZ9vN8d6LvzPMSe8oUonIGu9CZC4G6iFR3uRlA+SsaD5XA0Ahf18whueegmlwnsjwAepPggf/TjmQvzYyChgme+C7N/YOSdGHvwMQW+ki5T27vQ9NHuuGdoZpCe5AmfpL8ONsAtpV/9M3DKrOLdTINNePlXsWmostF+2J8/gx9RAfk5rmvsePvoOMEiGs+lurHgP26Q== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9163.eurprd03.prod.outlook.com (2603:10a6:102:32f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Mon, 31 Jul 2023 22:43:25 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:25 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 08/11] spl: Convert nor to spl_load Date: Mon, 31 Jul 2023 18:43:00 -0400 Message-Id: <20230731224304.111081-9-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9163:EE_|VI1EUR05FT011:EE_|PAXPR03MB8131:EE_ X-MS-Office365-Filtering-Correlation-Id: f44f02e9-6b16-4b5d-1a13-08db92179165 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Dm/CC84kG/GP/25boJ1Ewn2wYPgO3kReB9rb+tTui6r5xBLhesAi1F9d2yrj3m1sqmcry935IqXmJKekyuQszxKMXUfocVfse3MYbIxhXwo331wOk4JkCq4BX/HFuhiA8X0YGF1iNTulaCfWk2o0S15oEpaxhvqNzMKzznzReKkczCt3tv/BYd5jEgWr59iIzGUEzkhAwOiHjEd+XevYPcla38EbGcBbyUi0moGgIGDwKLpUZvINXmtKIlNb0xSXt7zenRpMRZ7cRDZCsROigiBmrKDkBj+tL+j4tpCGvAvNjrGYdgt5/G27rSlGhsx/JylEb8Spajjn+1Dv/MzfiZZ7lIXxxhPdlMjozZUR29rTBtynmnsdF0Nyscs1NIBm1t7dtH1cibRAjjGjVhGbuhmZFtsWUWcsio7Kkzw1nCCi3/e0+tYXLKRqGXHGodkykRr4YaCF7O/Gmvy57j/Pbk8qebKqq+rmbq2Ao1NUJ3ZJ2lAFmUm+GplzV5bcNqi4dxtUQ4mX84Z2vlBtlzHBDYWw61dpYCfHHDeVRZYErpVWMwgiiT0j1TmMiDVgzVFeC34QFxNFpJGLwwd0rb6bCgtiao9v3HQ9iiFz8A0efbq9K16lF8V2/qzNZraBhfNp X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(136003)(396003)(366004)(376002)(346002)(451199021)(36756003)(478600001)(38350700002)(38100700002)(86362001)(6512007)(52116002)(6486002)(6666004)(2616005)(186003)(107886003)(8676002)(1076003)(26005)(8936002)(6506007)(5660300002)(44832011)(4326008)(2906002)(66476007)(66946007)(66556008)(54906003)(41300700001)(316002)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9163 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT011.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 23ce02ce-9853-47be-8688-08db92178ce9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oGkT7fqqE7ojf6dLWyhkgitbFVPgldOJpJsaPOyK6flkX2umCC3wQZNzhX4BX+w1dq6wNwKPlDkT6nKqQFQvB1krrGIVIFBabeie1QHmBvAvIZIXZ9LWaeqJ7I26BTItM+rlBWcVBFbvNIiqNZmm7rkCTFgDISssVqqXxw+QFjriXrQajD6A9TfU8SjF5G/srZFlIPi/L4Zhdlky3uelZV5PtDhbKAIxSUVIuUyKT0VHdhHr9Ga1LoeNHDCKBvwNOoeI2DvzSsRw43q8XGHJSjHHoxhKfBHS89DNS2LqB549Ib4zQv5fVkM5Rr3L95XrmgJbtVJ1QeWrIeaxpmyeuMrXfeSId0a120bvdjQfb/ZLPponlEuU579/Jyl6AVFtoyF714c8igXPjrNAOgOijzLHg/5Ef6JGa4MwXXrLEYxOyFlJ/xIpbpDWPxVLKX6K9toJy/AHmo2Lt5sytGsTRYkNfDtMDNV3WFTtnfFiQ1LGYCro5m2tVseHXs5Gb1uukKg2i85OgqzisgeO+iyulKRxLVDucjpnMY2M/+XpOZXTIWiXEa6pOYK3Y4SaY2sNLgQ1bAA+7NA8r9TrvQTUX48QLm2UOSinMXOFDA0+D+ppFqnzwfy+tAjSjB9f0AxXy21qwTTKc2h9cXOeF/0n3rpq10vK7x8+bssL5vh7lo18xPBrqPdCL5h5StcRF3b9PAnJjMML0sZ/eWjgXsxU0oLSgxE+qOc5skv54jsPPl41EPiw2sIKwls5bqltvDkoUusCd3GQ19hZFLnlTA4mKw== X-Forefront-Antispam-Report: CIP:20.160.56.85; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(136003)(396003)(346002)(39850400004)(376002)(451199021)(82310400008)(36840700001)(46966006)(40470700004)(5660300002)(2616005)(186003)(8936002)(6506007)(1076003)(8676002)(336012)(36860700001)(4326008)(26005)(316002)(83380400001)(47076005)(44832011)(478600001)(70586007)(70206006)(54906003)(107886003)(6486002)(86362001)(6512007)(41300700001)(6666004)(40480700001)(7596003)(40460700003)(36756003)(34070700002)(2906002)(82740400003)(7636003)(356005); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:32.3501 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f44f02e9-6b16-4b5d-1a13-08db92179165 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.85]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT011.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8131 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the nor load method to use spl_load. As a result it also adds support for LOAD_FIT_FULL. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load common/spl/spl_nor.c | 41 +++++++---------------------------------- 1 file changed, 7 insertions(+), 34 deletions(-) diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c index 5b65b96a77..7328a87024 100644 --- a/common/spl/spl_nor.c +++ b/common/spl/spl_nor.c @@ -26,8 +26,10 @@ unsigned long __weak spl_nor_get_uboot_base(void) static int spl_nor_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) { - __maybe_unused const struct legacy_img_hdr *header; - __maybe_unused struct spl_load_info load; + struct spl_load_info load = { + .bl_len = 1, + .read = spl_nor_load_read, + }; /* * Loading of the payload to SDRAM is done with skipping of @@ -41,7 +43,8 @@ static int spl_nor_load_image(struct spl_image_info *spl_image, * Load Linux from its location in NOR flash to its defined * location in SDRAM */ - header = (const struct legacy_img_hdr *)CONFIG_SYS_OS_BASE; + const struct legacy_img_hdr *header = + (const struct legacy_img_hdr *)CONFIG_SYS_OS_BASE; #ifdef CONFIG_SPL_LOAD_FIT if (image_get_magic(header) == FDT_MAGIC) { int ret; @@ -91,36 +94,6 @@ static int spl_nor_load_image(struct spl_image_info *spl_image, * Load real U-Boot from its location in NOR flash to its * defined location in SDRAM */ -#ifdef CONFIG_SPL_LOAD_FIT - header = (const struct legacy_img_hdr *)spl_nor_get_uboot_base(); - if (image_get_magic(header) == FDT_MAGIC) { - debug("Found FIT format U-Boot\n"); - load.bl_len = 1; - load.read = spl_nor_load_read; - return spl_load_simple_fit(spl_image, &load, - spl_nor_get_uboot_base(), - (void *)header); - } -#endif - if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER)) { - load.bl_len = 1; - load.read = spl_nor_load_read; - return spl_load_imx_container(spl_image, &load, - spl_nor_get_uboot_base()); - } - - /* Legacy image handling */ - if (IS_ENABLED(CONFIG_SPL_LEGACY_IMAGE_FORMAT)) { - struct legacy_img_hdr hdr; - - load.bl_len = 1; - load.read = spl_nor_load_read; - spl_nor_load_read(&load, spl_nor_get_uboot_base(), sizeof(hdr), &hdr); - return spl_load_legacy_img(spl_image, bootdev, &load, - spl_nor_get_uboot_base(), - &hdr); - } - - return -EINVAL; + return spl_load(spl_image, bootdev, &load, 0, 0); } SPL_LOAD_IMAGE_METHOD("NOR", 0, BOOT_DEVICE_NOR, spl_nor_load_image); From patchwork Mon Jul 31 22:43:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815299 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=EZ8UykeV; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=EZ8UykeV; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCxg0MqZz1yfG for ; Tue, 1 Aug 2023 08:45:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 85F1786AC0; Tue, 1 Aug 2023 00:43:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="EZ8UykeV"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="EZ8UykeV"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D3F9786B01; Tue, 1 Aug 2023 00:43:46 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::60a]) (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 0AE4786AC0 for ; Tue, 1 Aug 2023 00:43:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZoDHYin8yVqRsN11NrptHggmWuGn0K2wznr/ilpeb/4=; b=EZ8UykeVyKIpU2kL0NbZ7eQTU/doGLoDGLYm4s/pUb4GYJuvOCXmNZnhhyJ+DKt7LjTlDjSx+g1fCsamJVO//WmPOWiBg3oJhb/C4aHyZUJ53eElOjdnntXDVHQ37+GyASgUDQM/KcYMrqzFKF7Iux4MX03ybLrAE5oXQsqB8MAZ7GKmKr8uD1r+nSniPkjXkhnnNirxiGuqPg8ycNeBO88I9QadHo4uQO4ML68NFi4nKrQ7F+gduf6ZpM5FhduxOxO2ngZGOZE9yqQcYedNCFoN+kpqSSEqQTCaRfhxoq1Cys4M95Z6B9rq67x7LGnMrX/oMq503QEOva98LK7y2g== Received: from AM5PR0601CA0051.eurprd06.prod.outlook.com (2603:10a6:206::16) by AS8PR03MB7048.eurprd03.prod.outlook.com (2603:10a6:20b:290::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:39 +0000 Received: from AM6EUR05FT047.eop-eur05.prod.protection.outlook.com (2603:10a6:206:0:cafe::5b) by AM5PR0601CA0051.outlook.office365.com (2603:10a6:206::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43 via Frontend Transport; Mon, 31 Jul 2023 22:43:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.86) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.86 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.86; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.86) by AM6EUR05FT047.mail.protection.outlook.com (10.233.241.167) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:38 +0000 Received: from outmta (unknown [192.168.82.132]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id BEBFA2008008C; Mon, 31 Jul 2023 22:43:38 +0000 (UTC) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (unknown [104.47.11.239]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id E7D552008006F; Mon, 31 Jul 2023 22:43:27 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U1g06S5n8RZ91qNWzj7ozS/T9BcPYERpGJKyXHGohl0f74HV5o+zu4iJyz7r37IgxT5mFj3x6YJ7IWZKpT05x50FBfqIt0xYT1sG2aLzpBX0lz4y3fdiEjrNvyeAL0lnuYHeMCw/XCSCVs4Pbry/iJwmo5eCtBPspJzh5UKzGzDzKLeS1BfPi4MK5Vh5nU1iaPl+J+erI+T0446JseLdl9dPJMVEJlXmXZ+8R11oibM/Y0Be7INoWPd0goxYjMIlqaeOWL/UCkrOzn6rM3spOQm1YRej9WfMy+6aAhZSJm6HlkLRC4GdnbTi/2KobyMFHbNenS+uOENoUoAVgEWkoA== 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=ZoDHYin8yVqRsN11NrptHggmWuGn0K2wznr/ilpeb/4=; b=VvfxebraBJWmaxr2WQmxjKI1EKhD7+pYl55EuE22ouFtlc3e+sbyy8xnuAo9d7qk1//FG8YNQoBLCiZiv/zO2Sxbnwdk2MzKuwXJcxqC396+oUza5j9CgtG+fnxM47h6EsfrpKLx7G677lnOhRD1lfrakyMRn6xB1+93J7RQr4dknpEkHNpi7h9T4St6XzKGY95LoiM1QYaDSNPOhyg7BtyBzB79DSR9iax8KNlkLd6T4z6JVtZAr4eG6eRaQ9j+4jVOZRann7Pcgj2MoylSorYf8AeYOt/0jovTNIeYe+FrX6YTprv7peUNWIqyZmTtqKOaz2Xd1fgzIbsh7zE5IA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZoDHYin8yVqRsN11NrptHggmWuGn0K2wznr/ilpeb/4=; b=EZ8UykeVyKIpU2kL0NbZ7eQTU/doGLoDGLYm4s/pUb4GYJuvOCXmNZnhhyJ+DKt7LjTlDjSx+g1fCsamJVO//WmPOWiBg3oJhb/C4aHyZUJ53eElOjdnntXDVHQ37+GyASgUDQM/KcYMrqzFKF7Iux4MX03ybLrAE5oXQsqB8MAZ7GKmKr8uD1r+nSniPkjXkhnnNirxiGuqPg8ycNeBO88I9QadHo4uQO4ML68NFi4nKrQ7F+gduf6ZpM5FhduxOxO2ngZGOZE9yqQcYedNCFoN+kpqSSEqQTCaRfhxoq1Cys4M95Z6B9rq67x7LGnMrX/oMq503QEOva98LK7y2g== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by AM9PR03MB7899.eurprd03.prod.outlook.com (2603:10a6:20b:436::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:26 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:26 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 09/11] spl: Convert semihosting to spl_load Date: Mon, 31 Jul 2023 18:43:01 -0400 Message-Id: <20230731224304.111081-10-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|AM9PR03MB7899:EE_|AM6EUR05FT047:EE_|AS8PR03MB7048:EE_ X-MS-Office365-Filtering-Correlation-Id: c4d42d67-dd3d-4923-6cd7-08db9217954c X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: E7+qcTzOHYuqkaIWs/DDo2wp0Gb1hJA+lxFcLpVBFxI/nP/J5sHx678HiMtq2FsoVKlfYhXC82L+2a8c+OrgKyrKvMveyVS+yjaZhTlBNacReQ769B7BRr3HeKVIAXIc/Ql5UCvLOY6NHGOrce6/OuH+d5CraXhqdt/r3Z+pDGeq+t5mZ3l5Ne6SoB0sRRVS4iNkgYlHU2d1DrPN5Wkw4U8kXXSwsZVEbF8lCrrPefBg1DYaNvGZNPsbPkkcA3IHE6NSEEHmoakdRNQOInAJbfCnMPdn0v7mrdUGcP6SCSbrtHfjfUEKGbIDTcOVoBhh7GfQoQ8l34GYRAP9gSLpk+7+Zu/WNlSxiU4hsYKZEy2JZUn22u2TWvHyw+xOOMEkhwdpxTQCsVcEmsNhtQ6TOiVNiYCt+2dKBYqEYDhtWPBuwbEkq+ndS7WiKl2L+aXour1UrMcCEYj4lQ+DkNqa7Z+L4HMkHQkNdvVesG8mM0jYxRBI+IKPilBfGVHc8mhJH4Ru7Cg8LA8M9TpSY+aU0RdwsdTfdAJI+bnrlBYXFB03k/duXwoQh8LwHZj+CJsOlzduURPAlE83JEzSGvNZD8qSqXNkw3NMGq8zKRWNAjnaTQYh/kDjWlsSvQOBdl6A X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(366004)(346002)(451199021)(6512007)(6486002)(6666004)(52116002)(186003)(83380400001)(2616005)(36756003)(86362001)(38100700002)(38350700002)(26005)(1076003)(6506007)(5660300002)(4326008)(41300700001)(8936002)(8676002)(66946007)(66476007)(2906002)(316002)(107886003)(478600001)(54906003)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7899 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT047.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7f25990e-bec4-4a96-020e-08db92178dad X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r4jwh7WVkc0KRLnGSOFRd/aq8bPWxxehmiTRkbkPPWrWNOtrUly1bG8z1shVyglGdobzIXO4txXDxV77GcbabHXywFKNPJ8AT1/nUpJE48bc4EUSKmUhgXVofP3rxcgIyrU2LZ9ddwHMB9RKDzaJVQoGda72GvSnjA42TaLFC5vS0jvJjbpdhZiXxAwOqY+JLukeyUsq7toFClSt0bPBRf69cR+YgX1iA5fZlDyq/0OFHTNbDPOcTIegsG8ZOnL0OkeiuzdCo8Cfi+czqj2SzutRL4/Ovzb/yf41HGcXVspCEEphXUK0JGMr8mzEtjsJ0EMqh2cEMQL78qVQzy5q/KjUV/Md2TAAHBzQ+5NQtyjKJZpZcVer093nEDLL2E+9eMRNaylSpKuFHF/Zrj00+WyyIXu6MobAIrLsXdi1ysTN2fTjJSUj6vDys3rTpkOWxDtD7ZAW1ksDJHmnYpdzY7mvrbNdA2q/jEyDjGlWO49/YTTQA9vEKjWwlcXRPmYjCQCO84q/8aEYOy3tQGJNzrehmrfNcLNBbSJy4rXF9qMGq99+mC25acvFo1uoY32+o+IXWWEKt+8b8UwUi9Kr3E0AvSILpsBt95f1cFpBJNsuJ1u/IUkNWmsMn/vIy+w5a4vtmGqZt0c5ut+ZTDRvu1vwKZGoRVoXsrQLag0x1ajKSp6qIa4VSgAwN8tXAK+3l5VxdxSbYvrmr3puV9ya633uwoivTvvrTE2Gy8U1EX0/9+C0pgndmFKMLRLJ9raQRlaqSfUWDk3XPzrJLG3Mmw== X-Forefront-Antispam-Report: CIP:20.160.56.86; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(346002)(396003)(376002)(136003)(39850400004)(82310400008)(451199021)(36840700001)(46966006)(40470700004)(44832011)(6512007)(47076005)(36860700001)(6486002)(36756003)(40460700003)(2616005)(40480700001)(6506007)(26005)(1076003)(83380400001)(107886003)(336012)(186003)(70206006)(70586007)(7636003)(54906003)(356005)(7596003)(82740400003)(41300700001)(86362001)(316002)(5660300002)(4326008)(8676002)(8936002)(2906002)(6666004)(34070700002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:38.9461 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4d42d67-dd3d-4923-6cd7-08db9217954c X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.86]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT047.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7048 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the semihosting load method to use spl_load. As a result, it also adds support for LOAD_FIT_FULL and IMX images. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load Changes in v2: - New common/spl/spl_semihosting.c | 43 ++++++++++++------------------------ 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/common/spl/spl_semihosting.c b/common/spl/spl_semihosting.c index 5b5e842a11..e7cb9f4ce6 100644 --- a/common/spl/spl_semihosting.c +++ b/common/spl/spl_semihosting.c @@ -9,16 +9,16 @@ #include #include -static int smh_read_full(long fd, void *memp, size_t len) +static ulong spl_smh_fit_read(struct spl_load_info *load, ulong sector, + ulong count, void *buf) { - long read; + int ret, fd = *(int *)load->priv; - read = smh_read(fd, memp, len); - if (read < 0) - return read; - if (read != len) - return -EIO; - return 0; + if (smh_seek(fd, sector)) + return 0; + + ret = smh_read(fd, buf, count); + return ret < 0 ? 0 : ret; } static int spl_smh_load_image(struct spl_image_info *spl_image, @@ -27,14 +27,17 @@ static int spl_smh_load_image(struct spl_image_info *spl_image, const char *filename = CONFIG_SPL_FS_LOAD_PAYLOAD_NAME; int ret; long fd, len; - struct legacy_img_hdr *header = - spl_get_load_buffer(-sizeof(*header), sizeof(*header)); + struct spl_load_info load = { + .bl_len = 1, + .read = spl_smh_fit_read, + }; fd = smh_open(filename, MODE_READ | MODE_BINARY); if (fd < 0) { log_debug("could not open %s: %ld\n", filename, fd); return fd; } + load.priv = &fd; ret = smh_flen(fd); if (ret < 0) { @@ -43,25 +46,7 @@ static int spl_smh_load_image(struct spl_image_info *spl_image, } len = ret; - ret = smh_read_full(fd, header, sizeof(struct legacy_img_hdr)); - if (ret) { - log_debug("could not read image header: %d\n", ret); - goto out; - } - - ret = spl_parse_image_header(spl_image, bootdev, header); - if (ret) { - log_debug("failed to parse image header: %d\n", ret); - goto out; - } - - ret = smh_seek(fd, 0); - if (ret) { - log_debug("could not seek to start of image: %d\n", ret); - goto out; - } - - ret = smh_read_full(fd, (void *)spl_image->load_addr, len); + ret = spl_load(spl_image, bootdev, &load, len, 0); if (ret) log_debug("could not read %s: %d\n", filename, ret); out: From patchwork Mon Jul 31 22:43:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815298 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=YaVGDSxf; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=YaVGDSxf; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCxL2qQ4z1yfG for ; Tue, 1 Aug 2023 08:45:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6F5E186AFC; Tue, 1 Aug 2023 00:43:44 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="YaVGDSxf"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="YaVGDSxf"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B4E8E86AC0; Tue, 1 Aug 2023 00:43:41 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::622]) (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 9AA3E86AF1 for ; Tue, 1 Aug 2023 00:43:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RMHU66jKXzfpAZPFnnded2/EbXW0ECQPJXDf74Fa/Bs=; b=YaVGDSxfkFwSrIMtO1vz7LuFliJA/mo5qCTzA1gnt1utX+28GLe3GwJNPyep6E6tENFVlx66fFOobPTGaLzpCpsPKBgHG18hLwNwNEMvUUjcRyICdNE/XNGuLNyXr4RM+tCayOluLM3wLPtUqonvBOfekihSqy5RZfQRai8P1TqG9ecQyCuOvKymFihuiYVaQTZwpM3B/sJYSnZRzfl/v4A8Xhe+nmAgbrFXGVJusn/zYZpY7hQme7AgbadnGEYWKHMtyvYMrZUJ47k2LHV8iKz/1TfRJXtvOA8oLp8ptQ8jtGykYqoaCierkkEvH14JZvpo/kwK8Hl4x0PLx+IFuA== Received: from AS9PR06CA0438.eurprd06.prod.outlook.com (2603:10a6:20b:49e::26) by DU2PR03MB7926.eurprd03.prod.outlook.com (2603:10a6:10:2d9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Mon, 31 Jul 2023 22:43:35 +0000 Received: from AM6EUR05FT025.eop-eur05.prod.protection.outlook.com (2603:10a6:20b:49e:cafe::68) by AS9PR06CA0438.outlook.office365.com (2603:10a6:20b:49e::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43 via Frontend Transport; Mon, 31 Jul 2023 22:43:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.85) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.85 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.85; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.85) by AM6EUR05FT025.mail.protection.outlook.com (10.233.240.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29 via Frontend Transport; Mon, 31 Jul 2023 22:43:35 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id EA7832008008B; Mon, 31 Jul 2023 22:43:34 +0000 (UTC) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (unknown [104.47.11.241]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 7F1722008006E; Mon, 31 Jul 2023 22:43:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gjfJPXW3HPQM7g2P7b8wklAxNsfAt3aJIXzuEEa1gQhAShk/p3dP7ZVfdpQkghnxS0Z9K8NJsfd+aHzmTCCQY4yrDqvhgnI68Gyja+Ea8re1sEdSx4PhauRCoBva387hMKcaCcnpt/0GgC/HGec9zDO07q9Q3CR69/qtUGozb5ZtrZnoIOWTsgApszm9BIoxNBwpdwWpDMWEyksPMBKncLmZ0xocDG/INSjjtdSkbdOkHgMTZhn7je0y+EupyHldbBv+HSoysQ8B+cnuFIwKlHcJ1x9WTZ2YUcT5ONt2obrshvuZRDpyKj7QAV9U1RBwKshTB4OgOxX+lsaC3wp/gg== 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=RMHU66jKXzfpAZPFnnded2/EbXW0ECQPJXDf74Fa/Bs=; b=PUZ5giNAOKPcRweSUhoScOnVj3afA6SnZ2Mf6FjbkCUdUJ2BYKtoKPFblWnZyRjrEtUzC/0BgzZ1t/B6rr0Rr/fvkGiri9Ii1ZDnLyGc8winVFE/NiVToqMY4HLnluJWFn7aGMNlAekeG8EehntYLG3j/IFsEG6lNLa3B0/NsJKmBjIw5Km8K8Ga7aHYiVxOSLTr9BtszYNOxw9Hs63weC/6ASDYo29XkHkWNq/qhte/qjXjJWUmdcIxaBO4jSEyr7NfhmZbnqqWBf/GLhdF93shODTGBJxtd1ZPcdn9Z6WgM17zK+2PzSdLyiRdj5usm//TAwnGtxhCUJzr6q0Yhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RMHU66jKXzfpAZPFnnded2/EbXW0ECQPJXDf74Fa/Bs=; b=YaVGDSxfkFwSrIMtO1vz7LuFliJA/mo5qCTzA1gnt1utX+28GLe3GwJNPyep6E6tENFVlx66fFOobPTGaLzpCpsPKBgHG18hLwNwNEMvUUjcRyICdNE/XNGuLNyXr4RM+tCayOluLM3wLPtUqonvBOfekihSqy5RZfQRai8P1TqG9ecQyCuOvKymFihuiYVaQTZwpM3B/sJYSnZRzfl/v4A8Xhe+nmAgbrFXGVJusn/zYZpY7hQme7AgbadnGEYWKHMtyvYMrZUJ47k2LHV8iKz/1TfRJXtvOA8oLp8ptQ8jtGykYqoaCierkkEvH14JZvpo/kwK8Hl4x0PLx+IFuA== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by AM9PR03MB7899.eurprd03.prod.outlook.com (2603:10a6:20b:436::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:27 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:27 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson Subject: [PATCH v5 10/11] spl: Convert spi to spl_load Date: Mon, 31 Jul 2023 18:43:02 -0400 Message-Id: <20230731224304.111081-11-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|AM9PR03MB7899:EE_|AM6EUR05FT025:EE_|DU2PR03MB7926:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bf7b9a9-88ab-4e36-f721-08db9217930a X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: NmDXvs77fuuwVq5n36/O0XayVZHAHPk0jQ+0fpp0e2+3EFV91WdbK+HVNUTk4CGXK9eXWuh6Is5wugoKY2QjZPfoP6KbXhxtNAs5Jt7Ow3yLhYeaO2w/qXNesmZ2/evrgr2hWyPgIEIc+1o/JYwVFPitq9il4rsqEZ6R7qyfLrXdo9p/xCOxsKM1qYRlbTTOXnxQzvT3BeXcjq9v5BQ+5tBNKgF6OQJvKYkWLua2RXmqnK31AGitj80jZxYqdulQ1HVPcUFlK6EhsH168vNgVPdGxdY+nuocZI2kQ2hIHN1umiHsdz8vVijmQ/AngefxwsBVdYLQUiq6jG8YpA5J71gyNJIJYJrTP1gSbzKhjSy7CQDqSKXBqEL+Wi4uPtZy3wz01a7TBHbg611Y5SRSRRLyPUAso87lh3V6ri3k2iMJYCQSRxKGq2lmhfNZ8NeJni5RsQCkmTcc7M6ADlLb1acm21zvtZ+6hjbo3Wdgf8COn0/BjZ4gCdYd0bsYWNsPwRLySinMqoBrtxi2R7WTDJ2mhFdU2MSLO5CsMB+kqWzqE4YdZAiX+TFfc+n5Fqv2maHKbrkYGgUj4fxOzVIDElzmAz5Xr1k52oVuAKCMxiw0jIAWfW60LTDj4wf7G+CQ X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(366004)(346002)(451199021)(6512007)(6486002)(6666004)(52116002)(186003)(83380400001)(2616005)(36756003)(86362001)(38100700002)(38350700002)(26005)(1076003)(6506007)(5660300002)(4326008)(41300700001)(8936002)(8676002)(66946007)(66476007)(2906002)(316002)(107886003)(478600001)(54906003)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7899 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT025.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4b6ec95f-3faf-43af-1285-08db92178e6e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gFiPHjYB9l7e6cTo6+clZ+JQPNtZlVktC/FbEVDJgrjSPAK+eMu0WscwRgYkz0vF4DUWBMk6KfQuIpkAMbsCz0nv6GSO6mtvP727GI3/GocaSVgZSfvvlL10q6MWW5Cro8BmC1Z5B24XXh5xl2vBTEGPePw8KZsjpGNw1mVIjJFokdX8ue/OCb7Zg2P9ru6SOkxyNdD+K3gOWeDay+Ev2fmr08v6bn0jwxxoQdgPys3mY/CzTo0YoeROgd2w/qPFFB7KWP9iLg8OQlpr6BkJJTaD+Uov8lDVNmWOLnWnHIPJ/WLhPE3gPDNurX5qh0gZHvOfbXLHF0vVjIxpvt/U1B+tQgZgEoFtlHDGAefheT7hxrnfe/5NdQRk8WNp0LLVQVZxJWWA6lOyQjb0wP2x0mvRazqeCDSCwV7MSDPVV2DhpWaE4noQyswn2+XN2Nx41OAw5rrJDWaCtzfR2i6in5deVcmQpe9V+NodJdH5WTJZvPt9ivlCl3Z/6c0hA5AZuXB3h8aByebjeCAgPDCnJvEuu3LDF3Rwblgw2P1HGgvBjUL8fqVCCx/QnjlKt3WgibyCQNAi0fUT5T286JlOP8pfrTEOTtcITP3qPKIjIJxa3mTDsHhP0jWBCSt2nsIqrMU5wPG2Z8HIN/0cHjsxcEZa8SzJgREFCPyp7CVvJ4X6a9PpLoFgtneJ2Yb4I2Jww7UcCwSt6WnprIYaqOQ4qYg9xdiW1tHJdqe8GAydka78jgVFC0QLNNaKD1PYrcYs X-Forefront-Antispam-Report: CIP:20.160.56.85; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(376002)(136003)(396003)(346002)(39850400004)(451199021)(82310400008)(46966006)(36840700001)(82740400003)(356005)(7636003)(7596003)(54906003)(36860700001)(6512007)(26005)(1076003)(6506007)(34070700002)(6486002)(36756003)(8676002)(8936002)(6666004)(5660300002)(70206006)(70586007)(40480700001)(4326008)(107886003)(2906002)(2616005)(83380400001)(478600001)(41300700001)(336012)(47076005)(186003)(86362001)(316002)(44832011); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:35.1617 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0bf7b9a9-88ab-4e36-f721-08db9217930a X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.85]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT025.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB7926 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean This converts the spi load method to use spl_load. As a consequence, it also adds support for LOAD_FIT_FULL. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load common/spl/spl_spi.c | 72 +++++--------------------------------------- 1 file changed, 8 insertions(+), 64 deletions(-) diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c index 2aff025f76..14391a1c96 100644 --- a/common/spl/spl_spi.c +++ b/common/spl/spl_spi.c @@ -89,12 +89,14 @@ u32 __weak spl_spi_boot_cs(void) static int spl_spi_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) { - int err = 0; unsigned int payload_offs; struct spi_flash *flash; - struct legacy_img_hdr *header; unsigned int sf_bus = spl_spi_boot_bus(); unsigned int sf_cs = spl_spi_boot_cs(); + struct spl_load_info load = { + .bl_len = 1, + .read = spl_spi_fit_read, + }; /* * Load U-Boot image from SPI flash into RAM @@ -109,77 +111,19 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, return -ENODEV; } + load.dev = flash; payload_offs = spl_spi_get_uboot_offs(flash); - header = spl_get_load_buffer(-sizeof(*header), sizeof(*header)); - if (CONFIG_IS_ENABLED(OF_REAL)) { payload_offs = ofnode_conf_read_int("u-boot,spl-payload-offset", payload_offs); } #if CONFIG_IS_ENABLED(OS_BOOT) - if (spl_start_uboot() || spi_load_image_os(spl_image, bootdev, flash, header)) + if (!spl_start_uboot() && !spi_load_image_os(spl_image, bootdev, flash, header)) + return 0; #endif - { - /* Load u-boot, mkimage header is 64 bytes. */ - err = spi_flash_read(flash, payload_offs, sizeof(*header), - (void *)header); - if (err) { - debug("%s: Failed to read from SPI flash (err=%d)\n", - __func__, err); - return err; - } - - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL) && - image_get_magic(header) == FDT_MAGIC) { - err = spi_flash_read(flash, payload_offs, - roundup(fdt_totalsize(header), 4), - (void *)CONFIG_SYS_LOAD_ADDR); - if (err) - return err; - err = spl_parse_image_header(spl_image, bootdev, - (struct legacy_img_hdr *)CONFIG_SYS_LOAD_ADDR); - } else if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && - image_get_magic(header) == FDT_MAGIC) { - struct spl_load_info load; - - debug("Found FIT\n"); - load.dev = flash; - load.priv = NULL; - load.filename = NULL; - load.bl_len = 1; - load.read = spl_spi_fit_read; - err = spl_load_simple_fit(spl_image, &load, - payload_offs, - header); - } else if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER)) { - struct spl_load_info load; - - load.dev = flash; - load.priv = NULL; - load.filename = NULL; - load.bl_len = 1; - load.read = spl_spi_fit_read; - - err = spl_load_imx_container(spl_image, &load, - payload_offs); - } else { - err = spl_parse_image_header(spl_image, bootdev, header); - if (err) - return err; - err = spi_flash_read(flash, payload_offs + spl_image->offset, - spl_image->size, - (void *)spl_image->load_addr); - } - if (IS_ENABLED(CONFIG_SPI_FLASH_SOFT_RESET)) { - err = spi_nor_remove(flash); - if (err) - return err; - } - } - - return err; + return spl_load(spl_image, bootdev, &load, 0, payload_offs); } /* Use priorty 1 so that boards can override this */ SPL_LOAD_IMAGE_METHOD("SPI", 1, BOOT_DEVICE_SPI, spl_spi_load_image); From patchwork Mon Jul 31 22:43:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1815300 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=1JQFoDrR; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=1JQFoDrR; dkim-atps=neutral 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 ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RFCxs3lGtz1yfG for ; Tue, 1 Aug 2023 08:45:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 689AC86ADF; Tue, 1 Aug 2023 00:43:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="1JQFoDrR"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="1JQFoDrR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BE68486AB2; Tue, 1 Aug 2023 00:43:51 +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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20623.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::623]) (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 8E52086AF5 for ; Tue, 1 Aug 2023 00:43:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=1JQFoDrR2vNGhd8mmHv5Aj0ODsaTUPh/SkvEQHyP4GdryeCRuwRTRRKMg8f8Q3BHHdaPJi2XZA/dXvNQsQzQ2b58C7/1bbU1ZAuNlbr8vwQc2/sYUR2oYCiDxno5yvP5yMQkj7eJe1/RlRT4wEy3elqBHTn9er4ZNIycXNGaaerfP8PKSH7+HKydH/0hbjRgb5z7BHSidRLWI8Xjg2f2x80afvpK6cGzhjlAXWzZuUMhux251rXC9byyqMgHNQR7JXZOpW3XdaJ3UVD3q246YOW2zCrkdCBYj6WIIcS3gL24DqlqPwcN021jZ3wlI7bSoLnUjCS+KoBA9cTt0P4OAQ== Received: from FR0P281CA0199.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ad::7) by DB3PR0302MB8941.eurprd03.prod.outlook.com (2603:10a6:10:43b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:40 +0000 Received: from VI1EUR05FT062.eop-eur05.prod.protection.outlook.com (2603:10a6:d10:ad:cafe::b1) by FR0P281CA0199.outlook.office365.com (2603:10a6:d10:ad::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.17 via Frontend Transport; Mon, 31 Jul 2023 22:43:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.83) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.83 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.83; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.83) by VI1EUR05FT062.mail.protection.outlook.com (10.233.243.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44 via Frontend Transport; Mon, 31 Jul 2023 22:43:39 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id BE0422008008B; Mon, 31 Jul 2023 22:43:38 +0000 (UTC) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (unknown [104.47.11.236]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id A6F252008006E; Mon, 31 Jul 2023 22:43:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/q34rfLxW5moAk7llOqL3uQEO/6gu8RIC7VrCoOHZbI2jZfzn8P8xWgG+1Z6bacA84yyojhNhuZ7309AK6tdMyg7GQmvWcc00pCk5OlzvJ8vE94miXU2Jw71vAbs7UODHNVgrJSEx2oTm5+2BkuKV+Oavl4qqEgWBJjeRXQK7xzyiBYAPtYr6tAqbpeztogL9+7g4bSOISSAKTGxgYsLPLje+pv0unBH0R8et1a80RGA65qzRWCJlAOMPyaDXOqnvxBpWu1yh/rMZ9HTIpniS82svFTR0z1K23OjX6DzPiYBusKGG7sAnZTmHmvs1w/yzRW5ZR80wP1i2SfZ1Z8FA== 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=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=cjevNy1AVQScH3tVCD+X+nmdD7YQiPrhwTYlbO8I1KnAVkIsH3mO9AxNntwAbj90ZBtRdoGExfOx9uINb/PZBWyT38KsYJuMSviYR1fv5r9qHQiSeElUPRhNccApIeZyWpFptSj4T8XgxPd7H3tu4nb2u+3Y3hfRCGRxxk2+bpvW2cBJrzSNmaVYOrUmuCSW9tvpGxlSRM73T4Sg0PC+saNWZoww2coRG2tou0ZybI05XM3DdAPjVrVFK373hh8ip4OGZEJm4xB0sZczX0B9eLkLaaHzR4hDJqBmgazHbWIVw3IqRuXVYUXXXPIB1mjFe25SwA+N3FxrTf1TUUp/cQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DvD1Yk/lo/+tOdPCuUA0eJb4Di58YFTFFGXTwKsZAV4=; b=1JQFoDrR2vNGhd8mmHv5Aj0ODsaTUPh/SkvEQHyP4GdryeCRuwRTRRKMg8f8Q3BHHdaPJi2XZA/dXvNQsQzQ2b58C7/1bbU1ZAuNlbr8vwQc2/sYUR2oYCiDxno5yvP5yMQkj7eJe1/RlRT4wEy3elqBHTn9er4ZNIycXNGaaerfP8PKSH7+HKydH/0hbjRgb5z7BHSidRLWI8Xjg2f2x80afvpK6cGzhjlAXWzZuUMhux251rXC9byyqMgHNQR7JXZOpW3XdaJ3UVD3q246YOW2zCrkdCBYj6WIIcS3gL24DqlqPwcN021jZ3wlI7bSoLnUjCS+KoBA9cTt0P4OAQ== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by AM9PR03MB7899.eurprd03.prod.outlook.com (2603:10a6:20b:436::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.43; Mon, 31 Jul 2023 22:43:29 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::65d7:d7d8:711b:2514%5]) with mapi id 15.20.6631.043; Mon, 31 Jul 2023 22:43:29 +0000 From: Sean Anderson To: Tom Rini , u-boot@lists.denx.de Cc: =?utf-8?q?Pali_Roh=C3=A1r?= , Stefan Roese , =?utf-8?q?Marek_Beh=C3=BAn?= , Simon Glass , Xavier Drudis Ferran , Heinrich Schuchardt , Marek Vasut , Sean Anderson , Nathan Barrett-Morrison Subject: [PATCH v5 11/11] spl: spi: Consolidate spi_load_image_os into spl_spi_load_image Date: Mon, 31 Jul 2023 18:43:03 -0400 Message-Id: <20230731224304.111081-12-sean.anderson@seco.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230731224304.111081-1-sean.anderson@seco.com> References: <20230731224304.111081-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|AM9PR03MB7899:EE_|VI1EUR05FT062:EE_|DB3PR0302MB8941:EE_ X-MS-Office365-Filtering-Correlation-Id: 14937077-aba8-4b59-8f7e-08db921795be X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: WHcaGI3QgcUMfi+/vMOiHTdx5AUeIfYgiU5gNrznn723Hc5ij79fVIDwbeRILm53pkgpjOyGT+SYvQysOCqXzBIl55gYJmaq00DACL+mI6FDKGu633C4uDy8hrWH97jf4dU2xxn/SKYXy7+lUSWBp+kDIVMlNvBDkmgN3pqVSS/+xOoA2Myu9V9lpXS3wvIBdK8mvLO76KrtSwsQqzHqVjtS/nPv3LebNAtJ+HU7WCgUcuwFQEOLFeS4jGv9Fe/MsYrc4bAli6LlSNG/GPt+gAd1tFBO/1hFnx5hZlrUZWqhXNvCO+kl9BUy207IFjrGwmgJv+zLJgb0AG0CXdrFLYIRcWbMqCfDLsdCiAF9JRG9g+Wip/hxQyaJcWWzyzFttCgHg00wmU73F2KjJ5anmK7JAG4vB/kKVvsf2gPR7R+KfqfkK5h8QUAlJkruMMeVt1PksHKbr2L4G0j9ivQCqjAafGqpg4mkQPFkk1uc//Om2S/qPHmKSXxyk9aVnieOtg1lINebKAwP1Nk5WsBLe6GmzBUT6Btfepn2Zx6X/GCJoXYJww0tBZ/jEN9a13N/y7ZU6vwKYBVhsU38eZy5bTqOScL5hNFb1fC69GRyL7xmoXTws8Rb4FPGhfm3eYLP X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(376002)(396003)(136003)(366004)(346002)(451199021)(6512007)(6486002)(6666004)(52116002)(186003)(83380400001)(2616005)(36756003)(86362001)(38100700002)(38350700002)(26005)(1076003)(6506007)(5660300002)(4326008)(41300700001)(8936002)(8676002)(66946007)(66476007)(2906002)(7416002)(316002)(478600001)(54906003)(66556008)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7899 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f24c5652-b7da-4f03-d706-08db92178f3f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /7gGE6E0Xw2Z0ZdwYxqn8/3UdhfKy7QSQdXvUoFA7h3unBkvxs14REN7FNGMxf7yMWHjPmefNfvGECOpt8OUrMLRrqvNZLRpJnpVayQnkYcJkqRKmOdwI7qYhM8aOyIH105gdzCmL4RdChPJzJkMl4+b2GY7jCH+unYcbhimXde4lqRaSQzZYmiwZaYJekFTqTLb6605KmnRZyi0C50Oyz+vVNMFcqet1P4jO3EEtpXr9jK4JjM5TBla+uuCRqZdiy4ahH0SdDMiqder9n68vDJPrhB3ZMWInQVOLDN4416wdVUW857pOgrWHfchVVjUoZBi//BllbPQaxrkPfErWQLtd4h18QWu5REG9OC0XMEJMzr0HcNGH9YcyV1qbUnPuTx7PbG18mMG9HWK19dKZn5dHuGb7Pqm0Iy7Uua1R0bOXNQ1yWoeqpTCWAqXShtbC6vmzfp6K6+uEe7xz4Gf9QRKe2dirlcDxZvEuCeU6Fa8VSR+FTEunHG0Dpb/au7YUjixRc5v7QkXWmB5e1QEdnDyM9pq4d1QLIX9gJxZ6+/ibROaqdJyB1JPoEgQ3SxlzrcfcHK3sqZ8pDVlSatc44TWsnqlC3pwjereazPmYxTZA08ByrnwRGmLs0JXgD3tulS2wrXDlpjqfdRxgZcpxB/Q8ik10uyJgjZBMmht0LGB2XE8FT3o/tyk16Ks38aQvllFj3OgKPByIxaiN7xYybJ4wD39u1ddv293+VxY83KbtoxIpArNYF8gWhs9y9uV X-Forefront-Antispam-Report: CIP:20.160.56.83; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230028)(346002)(396003)(376002)(136003)(39850400004)(82310400008)(451199021)(36840700001)(46966006)(44832011)(6512007)(47076005)(36860700001)(6486002)(36756003)(2616005)(40480700001)(6506007)(26005)(1076003)(83380400001)(336012)(186003)(70206006)(70586007)(7636003)(7416002)(54906003)(356005)(7596003)(82740400003)(41300700001)(86362001)(316002)(5660300002)(4326008)(8676002)(8936002)(2906002)(6666004)(34070700002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2023 22:43:39.6472 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 14937077-aba8-4b59-8f7e-08db921795be X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.83]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT062.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8941 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean spi_load_image_os performs almost the same steps as the non-falcon-boot path of spl_spi_load_image. The load address is different, and it also loads a device tree, but that's it. Refactor the boot process so that they can both use the same load function. Signed-off-by: Sean Anderson --- Changes in v5: - Rework to load header in spl_load Changes in v2: - New common/spl/spl_spi.c | 47 ++++++++++---------------------------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c index 14391a1c96..fe4d071593 100644 --- a/common/spl/spl_spi.c +++ b/common/spl/spl_spi.c @@ -18,41 +18,6 @@ #include #include -#if CONFIG_IS_ENABLED(OS_BOOT) -/* - * Load the kernel, check for a valid header we can parse, and if found load - * the kernel and then device tree. - */ -static int spi_load_image_os(struct spl_image_info *spl_image, - struct spl_boot_device *bootdev, - struct spi_flash *flash, - struct legacy_img_hdr *header) -{ - int err; - - /* Read for a header, parse or error out. */ - spi_flash_read(flash, CFG_SYS_SPI_KERNEL_OFFS, sizeof(*header), - (void *)header); - - if (image_get_magic(header) != IH_MAGIC) - return -1; - - err = spl_parse_image_header(spl_image, bootdev, header); - if (err) - return err; - - spi_flash_read(flash, CFG_SYS_SPI_KERNEL_OFFS, - spl_image->size, (void *)spl_image->load_addr); - - /* Read device tree. */ - spi_flash_read(flash, CFG_SYS_SPI_ARGS_OFFS, - CFG_SYS_SPI_ARGS_SIZE, - (void *)CONFIG_SYS_SPL_ARGS_ADDR); - - return 0; -} -#endif - static ulong spl_spi_fit_read(struct spl_load_info *load, ulong sector, ulong count, void *buf) { @@ -120,9 +85,17 @@ static int spl_spi_load_image(struct spl_image_info *spl_image, } #if CONFIG_IS_ENABLED(OS_BOOT) - if (!spl_start_uboot() && !spi_load_image_os(spl_image, bootdev, flash, header)) - return 0; + if (spl_start_uboot()) { + int err = spl_load(spl_image, bootdev, &load, 0, CFG_SYS_SPI_KERNEL_OFFS); + + if (!err) + /* Read device tree. */ + return spi_flash_read(flash, CFG_SYS_SPI_ARGS_OFFS, + CFG_SYS_SPI_ARGS_SIZE, + (void *)CONFIG_SYS_SPL_ARGS_ADDR); + } #endif + return spl_load(spl_image, bootdev, &load, 0, payload_offs); } /* Use priorty 1 so that boards can override this */