From patchwork Fri Apr 22 17:38:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621048 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=VqV3NVe+; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlM970pr9z9s0w for ; Sat, 23 Apr 2022 03:39:23 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 99FC983DE4; Fri, 22 Apr 2022 19:39:11 +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="VqV3NVe+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4572481D4B; Fri, 22 Apr 2022 19:38:57 +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 autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20614.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::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 4572F83D91 for ; Fri, 22 Apr 2022 19:38:54 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tyix2a0NL8UYAbrYP9Wx9qiJz8BCa8wp1xYaN/cBQIi/uiuRevrs0pbmIcjvlu5xMPZ0C73xpgAhEK2BP+zxh4oqxLypbIYEkiZE4o1EgWxZSml0Ta7c/jATISAX2CK0GfX2Axwo32dgtRT4ROdgGAMRJHwuUe1XrH+O9dylRXzIX8nsUVVMZcOmF8cJ+nXilS/l2iyit8CL2hkocauzfOkSfUaqcfVvlvZpLiuUjuU8Dc5dUDXfQW8BLOWVU2ZsDlLvZA+zkNiq6lidW0sDqUQKtFgfpJQjUdx1tOKITvBXl6k09z+0X8JjAC3JV7usg15YKSqQdzQ/Ts/Ch8+Yww== 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=cpfFRfWw4pQSnFD1C4YiT2kV9fGqISPWrInGkpuYrEg=; b=PlUPb5Z0cxM4VUaPyto2iL91WCprV2nLm3Lxusigpuc5wCx4UoxDpfLv63rGF5l18RXUe0cX5gKH43ZB4x9w56U2AJIap4y9ZxUxOVeCGnc8eP2RXAm4YR8ogcWBXeLpn2bGU1uz4UyZ3KXTdKX4eiigesuOFAGRhI/1d9+EwT7qmvMNrNnxE189Gb0wWgS10Ck0Vs8V1B6v7MNwFU0nyHTY6HHN8NNbaI6iDb3Lv2EkP3CGqkv4A0aqOx+mA99iJ/2a3O+MnOQfjFsyJ4vcYuMISxS1vdI3R/RG8huXqVzgXiLLKBCHuum6mbQhsYInmJHrwh4Mmtc1hihraXG9Zw== 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=cpfFRfWw4pQSnFD1C4YiT2kV9fGqISPWrInGkpuYrEg=; b=VqV3NVe+3svb1U8WjygKpuM3aYYUZ8JVWrcg2h/Z3lwtW3mjMlvC4oiyCj19+zPFUC1Xng3OCt0C+gNzq8YvA2No/X4w4Hgj+lsjd0eSFk/1YL+7tqbV2qahPfNIa/6+FzhPE+croXEYfPXAJJyGNhobOQSljYi4JhciixQZEULe+jQHpdu027EBlExH+ZT19czfvd8k/3r6V2GBuq1uueD6/QEeRHQ6I5VzqstOXO36YMw9Z1Lko+G/v4z4u966hsgNMYQKG/hob6lkd6Kw9/11YeTW0+VMqg9mivwbnixkVKxkP6Ifnm8ZBJerg7RM4ZL6nkLBTlAFbRsSiRvJDw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:38:52 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:38:52 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson Subject: [PATCH v2 1/6] ARMv8/sec_firmware: Remove SEC_FIRMWARE_FIT_CNF_NAME Date: Fri, 22 Apr 2022 13:38:35 -0400 Message-Id: <20220422173840.2260582-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d29571ea-2162-4aa0-2f53-08da2486f767 X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +r8CI5Z4+7qUte/BUEkjdP0P+fbm9sJA+IX4Nc2xb90anNsSvx+1bEjVqaCkxFWZVf2qZx2wqLrIC+eHdKG+UjMebIHGqW3IoJXMFyb6PdZChfNyjHd0OxK+hkDKBTLUzMw0Ayl5+TDbmaP9827Mnpnv4fo0csgaZm2ze6Zvw0ojritu8S7S9BbcRLHt7F2PX34yqD4bhQPbMDA/pnLys428hvSmw5fKXvMEGvk+JTmR0i7h3QJ2xD/M8UHqqe6Sp3/V7xmsWFJdOZ6TaHAN1iXa+HcBcbgsL6GObwC8TME5INMXXuRscEZlgByBeBbgXC9J0u/RdVceicGmxbmC5Arpn+iVYmys6AaSUhIGZBiRzgcXxBFpsMSzSkaT8mVUXEpjaDj0iu+4y8kimPoQBJmBa4KFGdM4z2rEBFARfKOrtN189nqmkcYx+vg1n5wQRICQBEgnc3oVp02osdy9mb+8x/ReG94bo6XwFDNLpr43T+1M4xGEKszCZ63Z7LONlzSSObl6gMByIwypxZ5hWgxWVxBR1dLR3rWjKXoGXyke5kKQxW7ddSuYWKtpe/Z2FJB5JAwDdAGqWCIdULZROH71lttsHM4VU+Qw64GQPqRkvb50vbKzJp8PfbfyTTca31+nHw4gpiqhM6BF84dR5s073oJvpAx68+MCBR9IhWXug3ffc60ekEr84cTHjtQMNPyN2988TV9lumrf+vYM7g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(107886003)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MTtkLz7Za4PFVH4jx45CFszzDM0qMI9imed9POqR/XArc6EMYBFLNFV40h42Z74GLpahYYOTgHtWioAOONStUK8KH69fkcQsOs9RaTaxW6IZksybjAnAbsAMFsrLnGct4M04GjuRtAIZu+WmY0KxGE+6d7jNqOraRV8tasKB6AU02e+fxxSJELAf94+U5xa5A2qjJjnWuMAjVBT/mrOluxy9Lm2z+Azducow0YVGMIlQcFyjGUZSFvKze94iACtwu8hLN3k8icVhZxYRronQdGQCUYIM9NGh6iyisvQZimjPueU99657AcwtbUvQAjU+VBngNyA6wKdVW9fWIBU0qd1rv6GrBtansPtG4JUURAVu3TPOGRtoc33hC8Fl5Ee6NK7cGE9Qvt5loXLBJh113qN2yW70VIDBozuXC0sXBtkz5rlBVxaGtXYjRBcwgSYK1gtZsPPmtWeiQzp85gd9NHFwYoq9HAHGa1oe7Ks1RWECfkjJkrv0cN+EsZUXTdyAvZITdULL2k9XYYrzzAZR+/SqionnmCaV8hrq8lFcW08lrYQGI5Qi4TZOg7myASzZNctWGbH9yyRxKQFEyRhsJzyvps1R4pOrIg49wOb1VDeHXRP5WxRnM/V2QaiQlOzPaACUHD/qP6YydNUzZlER3nJcX1x49JKdhy0vOuRcDT1Jc6dp1eTY4FyQhuliEpjYrUMb+CplDgj5Eb4G1hJy2zI9SUGVjrcfhMdEE0uZEj2oc4cO1u9PaCK2sFxspYnOK9eNJ9pj5k6Jxt4hhOSpQLyOexPC3VTpZMFF9thipNXMA1utZnlUwoqw9Chn7Z4WfEyNA+F/iCjq5QPpMImTILae7D4b+e4+gDrvuGdCDUtXWO0H0CSq/DOD6ms071K0KvkSdBWIniQktWsPwYEqq84meOUsm6HyAHhCyD2spv56BanBp54dZfle4JoJgs4kFZNy7iRQA1X2vnpigB85zez2qcfFsRtqSs+NV7EMH/9xssCZE2Nfbx0gNaRFFbvECps8N5YAyIbZ8r0V7CztAhZqIGiZp2hZqStxHZSIl3wXDyBgy4st75G6R4kG8jiKbqv4s9JZj4XWgTW5tY0OVlsiNAX8lZcyR3obX1lcw5rd0cV/v/3cQiXLlDRGyn8n/yhk7LKAMg2LHpW20lhuA4DFaSBl6oQuvNKjSvlLtYEIJ/Fw2fPedsnf/7CC9YfBAg2PapKLLa8w6ej6ZGO3Q5kURcRDoOOtsgnq/O8ma3RMb+DfZPEH00ahlI5UjbZpSWBtJulw2bjWJUZaQ9/N/Gk2zv6N7FHzuOMXYW7UrsdIqixE/eyKEn4j6nhV+AHH7eavLiMv3HTmuoUNKgHTjkuys0DtjaOBNigEVNR951pfS9BfULSmgNcLpts/8Jbjz92jRbXH16U50zJGQAxCPCbA4onsNkAeiNl/B1x/9uIE5J9mNNu7rQhvKnl3pU7R0L33d9WQFgUiR2eb3q5pAKIaybFtno/tOjmpgEzYsjFiV9VZLCsCVgKuO/LcYmQCUDSUyoRMT+Mp1Ukb24B5rEp9Tc7wkz7qBEWhiDFQYvOCyJXBfmJwuSe9h2zvwDVkIZFvWcsRQW7Z62KZbVeNX7IdUuk+F5fQp6e0ECaFGJDsKafNoIq21j2SeGYzNB6YtHbKb70FnTTj5cgrnOeQ9rlSpcHce8Yb171r/Mme5cthxVmg03VLzC+7IVoHZQA2YfT44ddz2DcV5UDdSqiMzxU80uE9cPvktzCLaJkiGsM= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: d29571ea-2162-4aa0-2f53-08da2486f767 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:38:52.7704 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: j4vrSNMkmTvZyxasomj8QRpnAw4BtiUx8MaPBuSR0/Wv6xOZkExOoCpkRtW4C0gn5CXAEL1yFYE4jUbOHosybA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean The config to use for FIT images can be better specified by enabling CONFIG_MULTI_DTB_FIT and implementing board_fit_config_name_match. Signed-off-by: Sean Anderson --- (no changes since v1) arch/arm/cpu/armv8/sec_firmware.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c index 267894fbcb..41525a10d5 100644 --- a/arch/arm/cpu/armv8/sec_firmware.c +++ b/arch/arm/cpu/armv8/sec_firmware.c @@ -35,9 +35,6 @@ phys_addr_t sec_firmware_addr; #ifndef SEC_FIRMWARE_FIT_IMAGE #define SEC_FIRMWARE_FIT_IMAGE "firmware" #endif -#ifndef SEC_FIRMWARE_FIT_CNF_NAME -#define SEC_FIRMWARE_FIT_CNF_NAME "config-1" -#endif #ifndef SEC_FIRMWARE_TARGET_EL #define SEC_FIRMWARE_TARGET_EL 2 #endif @@ -46,15 +43,12 @@ static int sec_firmware_get_data(const void *sec_firmware_img, const void **data, size_t *size) { int conf_node_off, fw_node_off; - char *conf_node_name = NULL; char *desc; int ret; - conf_node_name = SEC_FIRMWARE_FIT_CNF_NAME; - - conf_node_off = fit_conf_get_node(sec_firmware_img, conf_node_name); + conf_node_off = fit_conf_get_node(sec_firmware_img, NULL); if (conf_node_off < 0) { - printf("SEC Firmware: %s: no such config\n", conf_node_name); + puts("SEC Firmware: no config\n"); return -ENOENT; } @@ -123,18 +117,15 @@ static int sec_firmware_check_copy_loadable(const void *sec_firmware_img, { phys_addr_t sec_firmware_loadable_addr = 0; int conf_node_off, ld_node_off, images; - char *conf_node_name = NULL; const void *data; size_t size; ulong load; const char *name, *str, *type; int len; - conf_node_name = SEC_FIRMWARE_FIT_CNF_NAME; - - conf_node_off = fit_conf_get_node(sec_firmware_img, conf_node_name); + conf_node_off = fit_conf_get_node(sec_firmware_img, NULL); if (conf_node_off < 0) { - printf("SEC Firmware: %s: no such config\n", conf_node_name); + puts("SEC Firmware: no config\n"); return -ENOENT; } From patchwork Fri Apr 22 17:38:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621051 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=y9wJT4D4; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlM9m3t8Jz9s0w for ; Sat, 23 Apr 2022 03:39:56 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 90DBC83942; Fri, 22 Apr 2022 19:39:29 +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="y9wJT4D4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E2C5383DE2; Fri, 22 Apr 2022 19:38:59 +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 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 5B1CD83DB7 for ; Fri, 22 Apr 2022 19:38:55 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtO1KwgV/oskMFkWsuqW2v7m9mh66c1W2acs+jjvBLNeyOYiSQ1PeYlA2YBjGqViGmX2ZLaXPzw4r7NSxTgb4YQyUgwDMc3fs6KADJGYI8lrINJNlAzQjW5z/hhGKSleegFP6AxpUhwVpX/7va+jg44/sy9Z/hGVzzz0iiW8J3Morss0POAbCqfQfly39Clc3ZR26hAnYGaoSGG9Ip8rAdglGf3DCjx6LtOEygyvpb+Ta33Pt/qrQUs+KqNvM8QUougfmBpSd93xAz2dQi5KeZ3qOKXiVXXQuLMS4OwcKLWl3zvJolfxl7CTuwQzzJBcLnOL/nElzKn53Ve+XOQ1gA== 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=Kq6fL4JIjDXK+aSqCytf8RWna+nvnJ1uQg0mGiV67IY=; b=IZarmw9QvdyqX9mw27O2dS7LPF0d40W6q7OFiMkwuz2V5Cl1YMGbzHluI+sPCkv8tl9g1+FVoLca6zv23ta3CumIaTQYebotAkhj2a5CG2+w5lro86wVCD5ldDBbyLl3vrht20Dfp9sHX6GZm/HaKmb3Flde0W5PIyHEgSjydfkqqwbSDCebravAIV+iJpFp7ayKIK28qnxhEM3G1/7OrOBskSBIJDWVZ7x5BzdZVrNE2KxpUQT8CZcK1G779dzviIS0Rt8cQQcU5/Fomq6yFwYQuxWMs00AQwIa1VndEGMBFWqLRd7X5z2x4m6ne1xPdkjiBZOe0cKrs+kxz3fAwg== 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=Kq6fL4JIjDXK+aSqCytf8RWna+nvnJ1uQg0mGiV67IY=; b=y9wJT4D46Bzeln52BE0PJPpo7JtiJf6jucmenaPQhhrew3E1kPkrDDfnFgQn6W9yqETB3Kfe7IlVX99cBc/JBR3S066EL4OxQN1cy7su8wMMSJBjOTiA//3tJtqvFe2LrcbI1QrxTSWoDlIox+TF7UWt0lsio3/hb9GfahfR7dxNqi/vzRIqesMWFTxsBmtWQfy6M9BBd6J0CwOpUg4oEOF9GkrJxCnbORBRGCX/XQwr+GsPXQ3yWtQ+8ZSiEc3FWGzEBG3C5VhSMuKpcHawT51qCsnf63Dk1+oBSkX9UIurxBEOM3SU+rLWQrDSuB1+XEB/TDowVq45CLDMGJItcg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:38:54 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:38:54 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson , Alexandru Gagniuc , Heinrich Schuchardt Subject: [PATCH v2 2/6] image: fit: Add some helpers for getting data Date: Fri, 22 Apr 2022 13:38:36 -0400 Message-Id: <20220422173840.2260582-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 192a4225-b97a-4394-926e-08da2486f893 X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xljhuifiCoUrLnW+jXz+It599J6MuNU42uXN4AMah81o0Mclveq+f4ClVGCUFDJqQo4KZut9Eci4OJnslXSVtt254O5nYfCg4qS3EUWw/IKzCz/1SHsQ3HmZXWjGJ4Del41H8ktMjJxcNxvW5wzB60nG28Wn2TBzTWE7/3+DbHTe4Mfox441QsQ92w8EfnzPEZzUWz5/M8TxbKKWYQPKIX7rn5izRi4Tmnqj5nkfz4wPyyT/4SfsOdo3ODwLBjb2eZBO0BjUTmcTuwYDH5F4V61bfRpPkd+H1r0U7l+H1HRyN8GDUHPi5nbcUZdMAjXaGzJAb+EaoiLiSA07BW8HbgaVyyvUaFeMbQ94xRMHUY74iXbNIHHJaic4otjtiQYq67iRrTAPsd0797HTwgmsN2r9LdZZqutXg4mT6YL/uupmGX1ycyusZoTES4+dxmBx/lYdbZgSMY3gpxkPh0qg6aRa+9UbRjmx+B0kkh6rLU37atqoeN8v36ux7ETboZsEx/Ay+5Wom/UxhkUWPnJLpVOrXG5Pu6cOgA9beRcQQsxL/qIotUlSGVpqiunPBDPByyVHycdb4F9Q8OKWsIzQK2i16y3grtR7/IkQUvrhD9FW8plBgcCA/46iuPmKHYiiZPVQqt0sJm3C9/r33vz0hT3RcTpLf2iub3CERhAUcfPvO9l5mOnXN9/MfRJE41slfNrLdlSyYMvd8W3+offlcw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2kccP4BqXvJzJIhtfz6HmJy/AMQ7pananYayy7cZLcvnpH3NtW7/ypzA1iF44PzW+7HmHdfgAxPBanAzmq6VHHcE4KEWC5ruEd5bUInd5t+Ws/KcBFIgc8MK+MazUCno7sWzcqTERMpceDjF9t/PktbImMSx7OCM5cm3f/QzY7WFP0hJRphgyvnMY00skfRtNjkG8Hai0c2tXATzgTlRj/p108Nz3U+4aauHnr1y9Mc+wMY+RIqpKDP061LONZOSpzzqs2Bb3lJKOeZMhnuFxZ6ePe4pZr15ht7s9fOCrZqUcoAX5f8o3AmOMxTC/QKFJ80W4m5VtUBVl2y2BXku4gbOrGwfiZxpJ5nEVIUit6pHqOmWgcqOH8qg2ZwikSq96eauCo7wTNLK+HWbVvTokMZVnnaXDcqPL8yg/SIY4WwG1OCLz7KlWaxuxWJW4tPldu0qQNKh2JyyWCe36OODA/UgRwqCB03Q2WzR+TWtzoIToDZQznxOW83F3AQoUnEohKUDHewY6BEB+xyBZMoYBgYL3q+NoQ0QsM1Rv0IErow/LuON7+jf2bV8lMpfs+4gp713iCXtPx7nM+0cw20Er8jGBDkZqF6EUQpN7dHdImpMVICFRDHKAyA1CQNWvLjCm3UzxOLRu6WVQYkZKvpf1HbQBub33cF/a7JzH0u2cMTCZ1NqpQ1HhLamCXhFOJiCZ0ox3q/Z5mLhZUw2DWuaPH8jhQXtnxOOGDLYnrHLFnG2u4lDU1pxSkX18EaxHPQlYWiGdqOvkHmULmc9qfZhpziX8SaKh7cHyHg/XAmoUrIu2zasJtjpLMV81b/KISTN5qNWFaMZWkPYYOXnnVjsZGrJXUhK93ACbaBnVOSU1s2jTY6CfpiZesArUsl7sJll4xI7Y62tdajoFODfz/xrW4Od3A14b7w0r86HXUlVR45W5Jpze9O5r0KMswNPPErBXXeMPOhcW5lnaIYXCQkvWQ4/dDaTJuLlS8brrQoYN/ORcs2r+0Ybwsm9jgbxUdJkAKZG8xywzFQBRPkDzMkSXDKDS/Ou/kA/qpm1FbBehIIMJzZobe/UX3vsCh1AbkTRcK+koV65eAA4mL0Qkj/1ScOP1l37vxK0JiN+GiO7nCYMkmQ15c81tLonRS2d4juKGWe8mNZk7NdIxQn1SXG8c/XxXxJcs5xywQDmKf52hkM/OuEvW86cLDNf+PUpA4DZI9LExhWD1IQy9Ug1aZ6lASeNs1KLYMOZM16dNXyrrlYAaVieqSQZrmBLA0cKzC58DxLgFUfjaAdU130XSVnTjbC2Q7DnFHhunF/pXI5YUEwxB2RTT05GpHEH0KQ4bKJbNyOYAjyTfue0T+dOdcNWu6DXEFyEMMaGZdH2lLV3dbPBmJe9JC3IdNlIAjMnhHWuZo6jheaSMRhxSfzL/LF3B7bhCu1VDwjzotNnlccoNmu1Z/ArQf9OV1+kd6+/O1vmhXhjTPjxmb+yyUgArGK4ikgkux92+n2N3kOjHK9StZno2elajXQTK/IykKXcdY6FLoFts+HA7Fk4j9XJJnGVwaloAl67L2L93aLohs89XkCaZZVmHMm8XJ9E3l/IwFkV7diNk1Ck/Y3QW8bsYO9VU9uGipaFV8yi9CBmushQ+JgTS5yOL7plnzzQtLWFBbEWmUv9e04y4aMtNa9DbfTDu+TpeOfyO2jNCfOLmQWhZjBKv3cy8Q205+Y2yKmnGQc0Z60tQftCACc0s4fwUdIgeGLgL5wCUoahslvwQ168q5o= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 192a4225-b97a-4394-926e-08da2486f893 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:38:54.2078 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +hsLMj7st56AiN4s9AsTCA6qkld6yoQIzeE/OZbThjFZdYE/P8EdVir/ttvGyvITxiyuvUsFTQqmw9/CjHFKcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean Several different firmware users have repetitive code to extract the firmware data from a FIT. Add some helper functions to reduce the amount of repetition. fit_conf_get_prop_node (eventually) calls fdt_check_node_offset_, so we can avoid an explicit if. In general, this version avoids printing on error because the callers are typically library functions, and because the FIT code generally has (debug) prints of its own. One difference in these helpers is that they use fit_image_get_data_and_size instead of fit_image_get_data, as the former handles external data correctly. Signed-off-by: Sean Anderson --- Changes in v2: - Document helpers boot/image-fit.c | 37 +++++++++++++++++++++++++ include/image.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) diff --git a/boot/image-fit.c b/boot/image-fit.c index 6610035d0a..b87378cbf6 100644 --- a/boot/image-fit.c +++ b/boot/image-fit.c @@ -1919,6 +1919,43 @@ int fit_conf_get_prop_node(const void *fit, int noffset, return fit_conf_get_prop_node_index(fit, noffset, prop_name, 0); } +static int fit_get_data_tail(const void *fit, int noffset, + const void **data, size_t *size) +{ + char *desc; + + if (noffset < 0) + return noffset; + + if (!fit_image_verify(fit, noffset)) + return -EINVAL; + + if (fit_image_get_data_and_size(fit, noffset, data, size)) + return -ENOENT; + + if (!fit_get_desc(fit, noffset, &desc)) + printf("%s\n", desc); + + return 0; +} + +int fit_get_data_node(const void *fit, const char *image_uname, + const void **data, size_t *size) +{ + int noffset = fit_image_get_node(fit, image_uname); + + return fit_get_data_tail(fit, noffset, data, size); +} + +int fit_get_data_conf_prop(const void *fit, const char *prop_name, + const void **data, size_t *size) +{ + int noffset = fit_conf_get_node(fit, NULL); + + noffset = fit_conf_get_prop_node(fit, noffset, prop_name); + return fit_get_data_tail(fit, noffset, data, size); +} + static int fit_image_select(const void *fit, int rd_noffset, int verify) { fit_image_print(fit, rd_noffset, " "); diff --git a/include/image.h b/include/image.h index e4c6a50b88..d7d756c645 100644 --- a/include/image.h +++ b/include/image.h @@ -1014,6 +1014,76 @@ int fit_image_get_data_size_unciphered(const void *fit, int noffset, int fit_image_get_data_and_size(const void *fit, int noffset, const void **data, size_t *size); +/** + * fit_get_data_node() - Get verified image data for an image + * @fit: Pointer to the FIT format image header + * @image_uname: The name of the image node + * @data: A pointer which will be filled with the location of the image data + * @size: A pointer which will be filled with the size of the image data + * + * This function looks up the location and size of an image specified by its + * name. For example, if you had a FIT like:: + * + * images { + * my-firmware { + * ... + * }; + * }; + * + * Then you could look up the data location and size of the my-firmware image + * by calling this function with @image_uname set to "my-firmware". This + * function also verifies the image data (if enabled) before returning. The + * image description is printed out on success. @data and @size will not be + * modified on faulure. + * + * Return: + * * 0 on success + * * -EINVAL if the image could not be verified + * * -ENOENT if there was a problem getting the data/size + * * Another negative error if there was a problem looking up the image node. + */ +int fit_get_data_node(const void *fit, const char *image_uname, + const void **data, size_t *size); + +/** + * fit_get_data_conf_prop() - Get verified image data for a property in /conf + * @fit: Pointer to the FIT format image header + * @prop_name: The name of the property in /conf referencing the image + * @data: A pointer which will be filled with the location of the image data + * @size: A pointer which will be filled with the size of the image data + * + * This function looks up the location and size of an image specified by a + * property in /conf. For example, if you had a FIT like:: + * + * images { + * my-firmware { + * ... + * }; + * }; + * + * configurations { + * default = "conf-1"; + * conf-1 { + * some-firmware = "my-firmware"; + * }; + * }; + * + * Then you could look up the data location and size of the my-firmware image + * by calling this function with @prop_name set to "some-firmware". This + * function also verifies the image data (if enabled) before returning. The + * image description is printed out on success. @data and @size will not be + * modified on faulure. + * + * Return: + * * 0 on success + * * -EINVAL if the image could not be verified + * * -ENOENT if there was a problem getting the data/size + * * Another negative error if there was a problem looking up the configuration + * or image node. + */ +int fit_get_data_conf_prop(const void *fit, const char *prop_name, + const void **data, size_t *size); + int fit_image_hash_get_algo(const void *fit, int noffset, const char **algo); int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value, int *value_len); From patchwork Fri Apr 22 17:38:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621049 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=YtBwhED3; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlM9L5zSrz9s0w for ; Sat, 23 Apr 2022 03:39:34 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 781E983DD4; Fri, 22 Apr 2022 19:39:23 +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="YtBwhED3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C280A83DE4; Fri, 22 Apr 2022 19:39:00 +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 autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::621]) (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 E172783D66 for ; Fri, 22 Apr 2022 19:38:56 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gUxqhylFESP1uknDEwtaewswi8q7c2JC7OmbMJvqFP0EvFwx2w+EociU9hoZZGvehcbbqbBK+O37YgYktcbL9fl44fDv8Kc9VTPW9V40bvHMrASl1pm2oUjal+hbCJs5dswNqJfsyqr2EEK2gxPULA2ipNg1qkxiFKSw8eQVdXbqaeOtmU/jl7mWNGtwTw6C8d/i3tOOQXqFJY0arUhmjlknlTFuzgJxb7HAqVWoo9tZCTF7Hq2Qha9UMagEkwmPOSXon8q8sIhc8MwRwHmPFauZVpvc6IBE3RmtPjpc8k3t9MakFdLv0TTCAHm6kGZHwJC2SmFqL0Bey0BSvg2C3g== 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=Y1tKezZecnhsicsWbtuAZ2wbMQmlUNQvg4n2WSI6Xwk=; b=i+heMRI50gEYabjuBc3N0iQgXUbu/Hc3RH4PrrSpClPO30IqBv7nCLVzHzxrYORg/gW2RyIO/y8hjqcPIig0EJhqlT31XkquRmiEJv3oTAo9WnKUeG6uGUKGDDmyx/QMThYMmK03rQfj5tMU8MmJXoKxiOAMcjYO1NzRmaXqBlYZbSnnSx6yzzhZrfXHhn4d5FcN6706hCWRz90gZva7eQ+E8FxmNfeK5BEiCh0slaIPfooqS7mtSrhuMGCHbCOYgum5NUjkV8nN3BjDw0sfLzgwzQQTN/+BEceG71WXPfgK/93j6jDEFdhG7MOY9zNKPpGSabehq8NYwd2qtsCT5Q== 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=Y1tKezZecnhsicsWbtuAZ2wbMQmlUNQvg4n2WSI6Xwk=; b=YtBwhED3OkM7LrwnMtnyek6l6AN2uzdgVkILpdy2VjFEYiwmVqQWvQr/TPNWdn44FnGb+bK6Qvv40z9t5VRbOdWsxe6XStpQNyMXOOMcYS5MbOBwLn8RpUVJUz2Bxp81UwvjXe1CkHrydTEFz1V5X+v8ByJPbyvKBjk6dqxPQ77O8l+ouTcmYAI+zRiaFZr/tZzFktnWPXcS0NflY5j+b/AaSZVV8/VibkNcwo6fsD29lR4ol14GQEOKCGxoZ1iOBSPwbZk/S8WRHkTlVAwwrntgps7ijSIgdx+a9+rf0C5i4s9SGpO5V4JpQDqYdkn9hBIi5ZKh9LGxPKXQU/CLng== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:38:55 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:38:55 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson Subject: [PATCH v2 3/6] ARMv8/sec_firmware: Convert to use fit_get_data_conf_prop Date: Fri, 22 Apr 2022 13:38:37 -0400 Message-Id: <20220422173840.2260582-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5e53a10f-c2a7-4934-ada1-08da2486f954 X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yP3BV63U1NfBFrvgvysK1aqeCdltWw8s/A5QwHLeZLRW2U6GK/B4wSPe/VreqvyhHZasuB+EVKNg0jLSIGSHj+0DBx5y+5t91/3qpz9t6fm1ZyR+btM/jMiYIf/a04CVt22sizR3M1cyAmDkt5KTB4S5Vj6isPwhhbydbvpYdwBDXUSRbbvYpqVbz1jGArdxR2Oc41J+ZYwgMpVv5IXQ2m6PFXQuI4HDBOpjnqhJOeEfTbJwu0xAARXMy/weo+wYhuwfmARE8g0NMJo0BbpVlI52cBMm5YlucdS3kipD8bkydikAhHtrf/NIY+64azy4qx7LudnLLliOm96OzEspIv07uV4kS5BIGFXqvnRNqZvQcZ0yisdqt4cqbkFyLmwG8cozTyTREK5KSlq/G7FvaXjfCUuk8lT8LK/ZNGhJEXZcr1Fp5L8kxnY0oh4H4B+ZhZ5LFZqknOYVHMgmRF8ZEfYwQbAdN0Ygp+lYf+cfDKwmFvIgQd/8vdVcEblrJj3k8GwxdBTjRrfPKkrUYy9gG5TmObMlpzUpixVJeoEY81OueyWsddhLojwqRG+xH5fUsUHKi1Gfhrz8UeA6ByT529VTtWiPYA4Xt6DeIsTSk+mRFxf+/hprPMaIOT9t2YR1eVLaEzwLFPF3O1+hH6c2te5+i0tIkdThIy+dlIXxDjOZt19HbF8lvssgy44tWG8NgCnelAexy4nFh/b4T91CXg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(107886003)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: M28AjU76UVgJYEs3ZYUZLpBrmeFneEkgC4mu4SDI8dpcN45egNQ1naAxloGYyPyHeNk7A9+2ahAx7GPbyFNKHi3+B9krN0BPpnKhqgWo/Nt9k+eAWWwBqGQ/B4EXioW7+AxwpLrYhv4/D3yD+02WcjAtXwGdRSLBgYZHBcuOVd6GE8b8e2CqBa0FD//RRCTWhOvoN8BypI2gpFi3g8ovTpz5IRlJFXLhf1vM0BHbUzq3zBKwOEeyarKV5/R/3/pTKDizm+AwTe+kterzW4whnqzE5PHUfHaGdMDsG0ddaVobEZEAlnhzYV3yCZHbBJPe+8bWsbTH7MYDvy6UBOsjelSqFnIk1qOsggkVigjZsnHlDzFqjjuvFMsUtF1WJOUutMmYy06T82I2kTXRtd1ViKhJrRhKINIC+vPWkvCFLEhFWZWGbe5Vm3bpvnxF0EQGw/Sx6pDKYw/14+MpXt0POy331Wuw+9MeKimv1EmAeUJBA7MiwBdRYuUUDPqcP1KQh6SRQ9p060NTUfo7Ln0iGtBysE+28oBU9A9N9xrk2lsErwmeQ3PwLH0mzC2z1w1eBFOlDA4XFNpusPuMU2/a59IIVD+tfdZOCnK12Dx1fcglRTkih/1EAj5VfPI95AObduoMc431zJPr7fC1+8Cbu4t8uRWD6QxJN/qP1cT3Sug+Qax1WAxYHaNB6KIqO7ePVJJlFGNSCzs/sfKOgY8srMJhmQzaiJGq7cffIYC2imRBpTJGiioS4kianRbl+yVFnLY58yFVxaO3X7XqSOGihy5RgQ/mX3db248VO6xZP+u/edYwAR/eKkWeuZ1nkV9H2hXbO4RoU8eDn4WutXgyQ/Ktwp+Iz24IoSGXNaXjdWno8Fpzwkv28wIqWxcLWKiAbZiip9fbei4BqwUPHoZEebj7yinaRIR/9rra6ysKtUP3HEVX4XRU7DicjK8WOHWhH/zUQIMRi78Ka7kxRcj9dpgaVzXlcbu9P0//b8ZQaTkwtC+FwF6lF7i2BYtCHnap9nwRn7KyMMq9B9OfaPUWB4HoHAxK32YBtYHkDCtSsHP5ICmlm3ZfGIc9K/2nGOfxeFVdDbILcJK8io+cxO69BpKIezxj3y/wbcy1EV0VK0vlQ6C/39Q8aUn3XFw+YdWBpouHRzybWj2+aIlRGkRhyyfqPCe5eh7Nx55mRrRSqbg5j8jxDzyrlvYJ3XSukmDQN7Ux7wz7wdRtdsacomEGoKV9P4kMqTmzDggz3gzbL2qw5ZmlUM6BSyhJWRoNX2QA+o6EFpo7rQIQ0wtnucmgOcqhfDK/Zxo90cCC8OzvN/pdu0cKiauAMSq6m/zlv7xpG/y9pjuDcau7PajeJsTUzm/5nMeHAgU7hXdMrsqQuc/PjIMxfB+L5d589k0Yjj6Op2CsJPgio1Cgv07Db/jQqbqO2RtruY8QG9zpOEapKexBpj9nbueqg0jdFfgvZRgnAr5gl2APM/bNXhcw+zUiruMa0ZS5SGr2tKc2aENXHFVIjWdtC2jhsEbssVa5nKMEslPSQb6GpgDTl2G4mD6UpsWmMjqs2kjdcg1l/rkv/Rc0UpcU+ceNBlqoOKE3rb0aKbxJdyDDSVZqxP4mB/9/gB/PtK15RSzUvmR65fGT2VKl3j2oRoKQTILRGeywHQTTmA2hbJt8p1iCW/Q0i8ScB51WPKCmEFvTk3qiMMFXgQuyj7ywXEJfYXjfyTB6+w0ZCFM/gPUqg1gQtSlsWI7utvVfHNt60Da50wMbmoyrfOc= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e53a10f-c2a7-4934-ada1-08da2486f954 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:38:55.7077 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: m0A3fVQ2vXTW9b4Hzlgqj/6hKHgNzpSl1nG7l0r1B1WIIXnf9JzyEPo36xC17BnX5EhCOwLg5wHnkcILIh14OA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean This reduces sec_firmware_get_data to a single call to fit_get_data_conf_prop. I think sec_firmware_check_copy_loadable could also be converted, but it does not map as straightforwardly, so I have left it for a future cleanup. Signed-off-by: Sean Anderson --- Changes in v2: - New arch/arm/cpu/armv8/sec_firmware.c | 39 ++----------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c index 41525a10d5..879eb6ec81 100644 --- a/arch/arm/cpu/armv8/sec_firmware.c +++ b/arch/arm/cpu/armv8/sec_firmware.c @@ -42,43 +42,8 @@ phys_addr_t sec_firmware_addr; static int sec_firmware_get_data(const void *sec_firmware_img, const void **data, size_t *size) { - int conf_node_off, fw_node_off; - char *desc; - int ret; - - conf_node_off = fit_conf_get_node(sec_firmware_img, NULL); - if (conf_node_off < 0) { - puts("SEC Firmware: no config\n"); - return -ENOENT; - } - - fw_node_off = fit_conf_get_prop_node(sec_firmware_img, conf_node_off, - SEC_FIRMWARE_FIT_IMAGE); - if (fw_node_off < 0) { - printf("SEC Firmware: No '%s' in config\n", - SEC_FIRMWARE_FIT_IMAGE); - return -ENOLINK; - } - - /* Verify secure firmware image */ - if (!(fit_image_verify(sec_firmware_img, fw_node_off))) { - printf("SEC Firmware: Bad firmware image (bad CRC)\n"); - return -EINVAL; - } - - if (fit_image_get_data(sec_firmware_img, fw_node_off, data, size)) { - printf("SEC Firmware: Can't get %s subimage data/size", - SEC_FIRMWARE_FIT_IMAGE); - return -ENOENT; - } - - ret = fit_get_desc(sec_firmware_img, fw_node_off, &desc); - if (ret) - printf("SEC Firmware: Can't get description\n"); - else - printf("%s\n", desc); - - return ret; + return fit_get_data_conf_prop(sec_firmware_img, SEC_FIRMWARE_FIT_IMAGE, + data, size); } /* From patchwork Fri Apr 22 17:38:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621050 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=iS6JUUAz; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlM9Y0n38z9s0w for ; Sat, 23 Apr 2022 03:39:45 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 145F183E28; Fri, 22 Apr 2022 19:39:26 +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="iS6JUUAz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6621A83DB8; Fri, 22 Apr 2022 19:39:05 +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 autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20618.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::618]) (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 3A66081D4B for ; Fri, 22 Apr 2022 19:38:58 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BbIs8yakDRs8LE1bFmenq7+GH5O7q67OHGO8EmNQ9LlYLa5nJ6Ek7Z44c7UFXMTr85tPSSz0eBHEEowwQ1JnXqD1GBHGupPR9yYMOHg9v9wkwhRwK6ZpQn387mSL+5f/THxm8VjV83zjRh4uu9WIsPO5G28vf2x1rgfP8x3fLuDpz6HkI8X533EjAKBv+fyD2TTQBAKUvoyaRgLUCdFX2VIM8asDfaHcXg0WAJU+z3DIXSXWQLM8wbWJDiFoU4SOCQ6hosWCXrXbhsH9xNUjtC6CWHKyJpsZb9aeSfxmo13PQRKJ8KpvN0Dar/WchS/n++z7FC7Ca78HOmXWxgFQjA== 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=Zepg91xovhfpbzysvBGvdvMSTag03+iniCEiGS7FPn0=; b=NulYq+9cfLqKAiDqPOU3/G1Fzfat0vYlA/Gx/dimdDLolY51SKc6WUGOTqOwNU/aUF2IdVNZjbQO0Pqe+hwMVpjrYXBwzN/YGsFSNa5Zge8mvXyXXiuljJPHMJDqNlDPaKvCfLERGoIJRuXQrohO7M87wtU4gDEeUWub3FPLOa3KYlyNE5vCei1UpnAdq3SHQgZjJ11y5EjcK+267Zf2/4/4iY5iZ0Q9FJg9Ozd9EcSvKru3NcRTvcgsY2WwlE/gS49A1OOxZCeDO6KHtfB7/XpBBgH3/bC5I/9RWURX3CVQ/hW6eFeSxDPzoRh6nf8Z6eGOCrtG9O0OHqA+bj25Dg== 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=Zepg91xovhfpbzysvBGvdvMSTag03+iniCEiGS7FPn0=; b=iS6JUUAziUlEjwSJBMImTU6M4M9fYbUq3BF92eo+ohIFH9XiTwwQ82+G/lenKPj1i69JKhfQwaNujT/I6U7SI8KDjdcidThctm6BTeOsFkTOig9xz/YehiYtQue3cTnEHXvTgJh0vcEhCrS81kOXVV5TTHqTZ2mXdG6Q8+t6V3uVh+mnmDV+E+aqOojWuupWVSvbMaAF/d3d86IVKTCzsXPz4J7AsVjC2rHtOJ7FC0StCTR6L/efGw++hP2zG3hkrQuhzoKxxtEsMqx+OmYopM6rtS9q9vvZSfexMQ126dImuV0GSsF+hnWfMiasfVW+tV2fbqrItTxjqJVyNz4wKw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:38:57 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:38:57 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson , Michal Simek Subject: [PATCH v2 4/6] cmd: fpga: Convert to use fit_get_data_node Date: Fri, 22 Apr 2022 13:38:38 -0400 Message-Id: <20220422173840.2260582-5-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a16d225f-01f7-41a1-ebd2-08da2486fa5a X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uMdE+36QftYD/vd3wl4lgmbhd8sN5+3I8TBOK9ZHj+3AI1UUSwFRghnv9/HHLoDWrT17KLZWRfDEg1kIJDoP8+fsKKZ1Gin607F51BGu8/1MOIILjsBpEdFtMuJzXhOdMPMTM6ffFHmfsSirVCeXiHw1qnW3Gm8T9bcbbfbPn6igeM529aeBd+VATHf7TOHMhs7lRTeEFCsfLcnlUlQlN3BLkbF6U9X2LJnoeRt4DzTTptxL8IHS226ScsyLItRJl7Xs3oj5CD6xair3rp1NGoA47RxeC+vGC3Oa3DuOa1t9Gv9VEkx9JeBKYtzEDWcjRnRrV8AsYOauEJAb13Yxd3MX03F2lpmPa2GKy1xgY2Ecqp/hPi1tCAygizUpWdzNO5fhHxG57JP4iXLQLEeWEbhtyvGbesudEZ3GVprwQ9iOQHiKHGNNImGfchfMi90osriQwPNanFiPT4gKE2F40L9SpmbPaI60VZ/nIP+ajnEVMqsPhpBDGzhDuARbNcEVTkkNRK7kvTtD2+bunZx/DbOz61WDmo/gj0I8e4Kl2HX28LS1WAzENrUW0frMEku3gG89jAmbXi/74+UYll2vvEq8mBpWZlp5CQCtw3rFc3VG715JCPj+gNaPvhnMYSpKoKyh81hb+AFvI9LsZ38DiVPd4E0vxaf7oo8YI8POSzMcUue2XSFF83cfZETfRmqOODNw1qllTp7B6f32QvOOZw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IbjlPP6tAzAheO0v9hpJk3Uoy0v2pLmOu4QDf7mnNyIsG7JLwhgosYqbD+46A2eqbKRtsZXaGPLvkwFUkjeVcWNB/moF4KMIeuGe6xjfvPbNP9esz9KcxqT6syVHbNVzXCtto3yTMFwh3d4Kerqa+I6Nm3c4xV31nL6iNdlqRhSu+AWWV6LcaSCkBHkVNrN5muK0qkJu4Nx451MH5Gli5dvWO5pDxl5RWtfdHLAAAAmr60JwjyCRdR1EkUE8bBXe6qLt+xeggFix3oHq3QVuQyRQtyO0E8oA8xJE9EObVJEMnYAOkA4sJu2l4H0rTWaTz42izP9j7IGj7spv2VVyNO+VvNIv3a6WIbCkzefrPLDIqAgu5yJFgl58LaPwfP+EXPTabYSVlyvlxJVO0+2LDlcrwqyDoowRGa5JHYm4VpzB5rFcSqw+AgIroCXPJFNktFG9XpSqw5RgVDQlgtpmiD0K1vqu/1KWN6BFhPl7YEbZIDB3hRC3Gp5yub6plvzbcS4nwUSg4ljTB3A9Rx4nFlcME42rgyEXpdgNYNYrKB7NbLCTpXaZQeA5ibuk8cCSB6a0EbXV2gIXWPBsICdFbgtZ73095waSbJnPII7c+Kws/DmogF9SCV45sEOPuJe3tF+cmfeAHp0Wfyrh7VDnG62vCIWJFTuUdY82cyPHTWj96kOkyYZSWaLP/47HkmD8c8bwSeUzdwn9+bl0I+7Do8sp3vYUa/ldX+ZaGGltn6P3lEA5WWJWC1KMpvIwEIrN24FEqxyrewsokzZIu1WbdWUCtTxF14Jzg0VTp/nvGqQ4kV9BeT7DieMM/kMWb3SHBUyqkZ6kYRN+Y7aKegW10/dXQh773P3o/pXeHxNpq/fbJ4hTTHt9OVTukOCZ20xumN/f2/ZvhrS5r3MwIYgWXIvU92ZnGMit9CIT0kWGrz5u69kXsRCirrBItmOUyIDzW+CBCVhmxxw08rIZKl98WmXFRvQYixc+NjMvJnaKM7GdqrS/X9F+axeK9hLlpaFGLhj67x+n9TiUvJ8IMhxy4GsSMEm+BJKa/sneJLNhrBuy4N4+fpotwAJC1JGVWSFkX4fRfdJNSz+D4inVRFCi7VeDl8WleRe6ZddzJ8QqltDfCEoyBR9zoWqriTypqcxlSr3/YFVjkSovP2puuDGnZSSJDR++C807s4N58ZSh4f6cno0BGrVUs8IxG9rhD9C30fS2vv7cp4CTcb1Kr+lt0A5l718TE/P0rGTXS8qinW28tnVVqcPVUEzn/+GJfOGTizsMj3KnelSz08YTgKI9FszlpmRNw3Ro2yPIYdS8N5vHAIsAD/k6owFhxZhlegLpI7Cqw6eKRCfrTLGw6rtugBlkMcILhIVpZgCiAuOU9uLYK1m0PgcvbVwgtEaP/UBdUy0y4W0B5ROLzcl466/3OGZDEaFfrNXJwoM3kdSiodxKfarqVCLL4I+woQ0+TslyWcU0ZquDvu+FPfUjdQ1VR2HKav3xlspkFLHldrY3bVp99eXQcu2ER/7WmHVoIPlekJUHuTNnyIOwLqrvgx9ItAInBuKboPxgXo6IOQpI8EgSrHsVA1jHPVE+/JNe+6br5Ts/iCJovUx965UanTYlt2v9bAEV8Qi/kX/UFjkuZgopo2bsMt0Utz0xZUVqgdAT4ZMp8imAOcBlURKbO7S2okjFjJ3rcs8AH1MylaYNEKWks+S3Hl/BpR0zaize124EyQZdcL6mOesHcrijaeGZ6OsOFs1V7/s4Bv4NlgOFbMs= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: a16d225f-01f7-41a1-ebd2-08da2486fa5a X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:38:57.2076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZMyAG1PfUhUk/YeG4NpoygAZ3HfBWnqrQTAX3aUNfpuC7DIR7RS4QAMc4ER9fsDuWu/Yeb6UCYH6vD8dEfflvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean This converts the FIT loading process of the fpga command to use fit_get_data_node. Signed-off-by: Sean Anderson --- Changes in v2: - New cmd/fpga.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/cmd/fpga.c b/cmd/fpga.c index 3fdd0b35e8..1102a84d76 100644 --- a/cmd/fpga.c +++ b/cmd/fpga.c @@ -322,7 +322,7 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc, case IMAGE_FORMAT_FIT: { const void *fit_hdr = (const void *)fpga_data; - int noffset; + int err; const void *fit_data; if (!fit_uname) { @@ -335,23 +335,11 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - /* get fpga component image node offset */ - noffset = fit_image_get_node(fit_hdr, fit_uname); - if (noffset < 0) { - printf("Can't find '%s' FIT subimage\n", fit_uname); - return CMD_RET_FAILURE; - } - - /* verify integrity */ - if (!fit_image_verify(fit_hdr, noffset)) { - puts("Bad Data Hash\n"); - return CMD_RET_FAILURE; - } - - /* get fpga subimage/external data address and length */ - if (fit_image_get_data_and_size(fit_hdr, noffset, - &fit_data, &data_size)) { - puts("Fpga subimage data not found\n"); + err = fit_get_data_node(fit_hdr, fit_uname, &fit_data, + &data_size); + if (err) { + printf("Could not load '%s' subimage (err %d)\n", + fit_uname, err); return CMD_RET_FAILURE; } From patchwork Fri Apr 22 17:38:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621053 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=Sh9ifL4Y; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlM9z51ZPz9s0w for ; Sat, 23 Apr 2022 03:40:07 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B3F5D82A3A; Fri, 22 Apr 2022 19:39: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="Sh9ifL4Y"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C827B83DB8; Fri, 22 Apr 2022 19:39:12 +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 autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::62d]) (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 1180A83DB7 for ; Fri, 22 Apr 2022 19:39:00 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K/mbNBHur8V7PFVIbsGeCiqp6RiZNufvZobaUHAWLOq8SqxXd9jMrUmXfLbG/z5X2mW3V9zOR2byf3s7ZSu+tHw/6A5dSF39VQ0SwV1wJkPHtzHEf61A2fEg0owkyRlufqEP1/j83ekfq8juwSh04dl016thCpre0IzPhXR12BwoLH0yIPL6+GYqUN1bj9LdWYEqrKvsPaB6n+9ioeKeY0Y1uvDou5/hYQwkV5V8i0HgxzfO3NWgODTfcunUr+at2fe72jkRlx3Hhs3LzoW8Ffxw4UQyZu6HLK6kD7r9aM9GlO8J8hxg6nCVw3PZkOBjRU/22xfMkFdG6dNvXO0NcA== 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=UiOwZmstk3twXE+LH0p/1yga1MbiOpoxADhRKde50GE=; b=iH4aP1PWzeYUM2Hs1qO73YUnHJ+BYcUoEL9N4v4mGSgOqQuGHgCEDHnf1C84PmRaAZtwTg8hMbopOFeXiUr0LMu8xSH6dw2eZuXcc3uILydkuZzbdmSv6jSGBDioS427DNvUMmqR/U1v2ozxJj4eonMzoA9ctKADJWU5fzpGUZhWViblOApUKgPqdnHvdnndIqFmLm/inwPsHHp+fOKytz1yGi7l0+Zdq8mIg6HzX4w/B6bDFkzAB9yRylb5bjn8F6CAD+7sJHZQZftr75xOMbj/fpcj7fEU+aDrcUm600ce7wrSIWTLhqA5itroZqWJ8tLpX81dwrxAqQz/ZUcFiA== 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=UiOwZmstk3twXE+LH0p/1yga1MbiOpoxADhRKde50GE=; b=Sh9ifL4YajS0WjbdibczIcsje4RxHKdQ+/9CesG0gZ80nUVSnL6ZAl+TrcXng22UL4O4fNj/dNhgfDjHsokri5cU/DOzOTEmDcBz9h/akOjMUTaFtwrtftIsTTDUEh2W1Nz4JAf0iKUfM9ZfOSX9hJ+bgWGBLps+TzHcAygZFsRoYOUdWnUJnRg1CDPZzgB8jRJWfB04qUjdrEZJkZ2E/pdKggqn0j5fL2U4SvMij3io1mhPYoxwOVCWx32qz7bis3s/7gr1m8kbQxyBrx4YZ7DclOXdJiUFSyz0fwRZDw3ayhaXC5wdd0ySx1QONzoiXbnvgr3FW0UPGK9XN2LkDA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:38:59 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:38:58 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson Subject: [PATCH v2 5/6] net: Convert fit verification to use fit_get_data_* Date: Fri, 22 Apr 2022 13:38:39 -0400 Message-Id: <20220422173840.2260582-6-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2249de9a-5227-470a-694f-08da2486fb1e X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M1Te2psFi+nTMNjj3gp2zyanSLtMYtd071egCD9mEY8+fW1dh6sOe1Y483sJ69Cwf38w+C2LKFDUkYAr+AoXBrm8zMBUczeFdw8Y0Feb/+upLfp23FLDs2YPRG6goql0PitZycUh5vpu0lfrS6xQELjwOApYjK8ahlI6UMPV4MuySH/f2qpJwxYKu5LWAZY7W/HLOGoqNVs4XgmoPv1mMubTAXbYEgGSIktEvhFmPQEV68lq3ycdUXsKPv59RnW5xve1l9fKUyTYE8ndCkU2lf0RRfjeo/eIRUn6rFyZnf4LY9mNsYlkIaJh73415mywjHANRa1Qespe/Uor82Fxvol6AHN9nMuuWE1zBzmnBhIjwSCfNvsZaXUmGJ6K/4ZfPK1EF+IAC6a1c8wA7767ndkGyOJhlfo/Faq6z9c82aGg6IT+dFGneTCy4qulJaTzCPr6Awm/ZtdlP2QMCh2+wSOwRbP61/2p7LoaReibuqZCDG8hwLmYiuldeWfXTusrHkK6eReBtxFPaoyw8g9ROS50XyqoSUllmATBvMuv6XBDePSMDkEK9w4OvS3FveFQ8jtx5tt+E453d/CznLiZg7JNkQX2olDSR+Wv+Xih/zlvQIVD5Ggpj0jWHg54+XPlqLQ1hIrVava/3ZM19b0Wz/HshGUlBZmnNuFeUQ02BAp7mVtrRPCL3sIj2Ip8HfSa6k6VOWx7tlu65g62zqUjvw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(15650500001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(107886003)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JDMvZ3jO2dI58ob5NnNB5ACj7Zg1VTew7Q/yntnyopvYh4qMz337IVILS+yghoOjgnKpb/J0J0ZodwIysF1dpnjQYg7lmAUZOu8DuozXO7Ab2vSCkiWwAsMweOvMnBXA0aoOrq19D9OYkFMjRzSS/Dl1eRwjUA4n6ozYgY9u5aXO1K7iB5r794Gfu2ldKkX5Lp1G4CnMyIoKABrrO4jOTfukDNqsQBvjUo2+NcSWxNO+GgTGHjKRbIdBhK9OjERkE+DdHjunCRk8K5uFIWHnuMiqPcElzbUJEH6u+m2WoKwUqbIhhT1Dy81BoQy/u0bTJbf7ArBw2aOln6+ylrWH81xFL5NKM5eVr497oz9q6yUtSosMh/qgCdE35YPH7VPqa3YVslXu2SNwU9Runa4FnHcA4xqDczbcBZPLv+BuINK9yYR+Qn3cAEqMlZEJZKnGXMnqF+RVQvB1ZApCSicMv3u/MzWSzsm4Z1vErUqO2k0LlLeCNJtB40AP1vVYH3xhcZz+vinwvgCr5+UuUhIeVHNTadD0XhUbMl+N/byOInOgC3voUeowadVHhngyJlxukJP5VsuMqoCuSobfj4pMeKtLDg6OxhsPy5e1h2rgs6lhmZeVyfS0tK6WQXwOVFhfzjNQKFtUusY/WXPduafk92F4GaIrp5j0Yp0nQ3ffDXeTO6ZgQVcSoDlQ6RmoeIzPKMMG1A9jYIGK7Ne6yGPPE2+zeyOsOjMu/7VsN8HNPzJiT6PO8bOrA0MNyiXwf29cGEK3clkNMdmiXQQQaGNs2oyxnHkYvBPJGszCoob/Ma7aiblJOZn8aIhICFot9/hI+DDHiHGyIDnPvumAWfajfb8L2tui7Sa+sV9vYFTxEofHfwsPihJdUaJHJCCF9Wn4sbnFJeOUDCcBEcwxbnAAZ67q3Aex6fpIrOrqslBgmf7yFgWt/sy1DcEWWGzfMat+JzrvLvDqexG3UdlhcAbk1e71RRJjfRBqm0FOZcAkmJG3fUgZbs9NLqLTHrmqYGtrLDWurj0IM6IIOj4rMGpNiJk4H5cvMq9WYNMcrjk1XUiunwekxsT2ATL6UXVuHSP2o0NhxSN8a/hj+dlSym/Fc/R1p4PomvdVhpgEEi1//dpml1vy8ql27cQ9l+ciCkeDCwfdmOku126Sra/gUCFJiDqAdF+t06l226B1qiwtJU2pPVjLYZlhnkyZUjBDi4i+4Y2BHOqV0b4brYGy1F91K1Sxtz5hcpfBXyO1iqqsWGr0gxmuNsFFXfiGW/3YaijK0tQ3VirpMNcsGVcXT1eOyZkmu+/qkNi62+SQXG99cxGUxO8+l/CvNZvHSxo57koZXCotdY44JycBoIcb59ITUQ2HBbAeK3WxceFz5yErjgxOCvnXNMBiMrEVDJxzQyaeCRC7YoirKE+/Ewdh1yBJUMsxC+ke5ma77fUBNt0X4Rl/BAkukHEMFQ5/bH6wXbLXJqocR71fehcmS+5VFWfgOc/OmroXjquQWNg3mYvKpILutVZZ39IYaFB0cBHpYQCTxPFkuFJhxbkj4udQCTQ0j6h7WlEL7em4f61EpELUJayEWDZWjlXgXuruI1iaTc7qPFstq53/w+GvRhvWkil/4feSxIWStM6iVhK1loemOrhzA1/kdUqMK4xNBo0tBhFj1QVRTsI1HTobO2nZpNgj6flFkyHVE23iSryDF+pOClV38GGYMeF3qWlLDxi5IFfb1KD59/bE6Eho/4iKHEeDOw7+FZsJDFWxHMLhTkayx+c= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2249de9a-5227-470a-694f-08da2486fb1e X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:38:58.4732 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uL1vzICNW8jni5YSVOioyG5aCh6EBF4XekUdBTxnVYl/iuzH15cW+JNLSpdfl7c8wWQxLV560dJ2fELokGECeA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean Several ethernet drivers load firmware from FIT images. Convert them to use the fit_get_data helpers. Signed-off-by: Sean Anderson --- Changes in v2: - New drivers/net/fsl-mc/mc.c | 30 +++------------------- drivers/net/pfe_eth/pfe_firmware.c | 40 +----------------------------- 2 files changed, 4 insertions(+), 66 deletions(-) diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index bc1c31d467..68833f9ddd 100644 --- a/drivers/net/fsl-mc/mc.c +++ b/drivers/net/fsl-mc/mc.c @@ -137,13 +137,7 @@ int parse_mc_firmware_fit_image(u64 mc_fw_addr, size_t *raw_image_size) { int format; - void *fit_hdr; - int node_offset; - const void *data; - size_t size; - const char *uname = "firmware"; - - fit_hdr = (void *)mc_fw_addr; + void *fit_hdr = (void *)mc_fw_addr; /* Check if Image is in FIT format */ format = genimg_get_format(fit_hdr); @@ -158,26 +152,8 @@ int parse_mc_firmware_fit_image(u64 mc_fw_addr, return -EINVAL; } - node_offset = fit_image_get_node(fit_hdr, uname); - - if (node_offset < 0) { - printf("fsl-mc: ERR: Bad firmware image (missing subimage)\n"); - return -ENOENT; - } - - /* Verify MC firmware image */ - if (!(fit_image_verify(fit_hdr, node_offset))) { - printf("fsl-mc: ERR: Bad firmware image (bad CRC)\n"); - return -EINVAL; - } - - /* Get address and size of raw image */ - fit_image_get_data(fit_hdr, node_offset, &data, &size); - - *raw_image_addr = data; - *raw_image_size = size; - - return 0; + return fit_get_data_node(fit_hdr, "firmware", raw_image_addr, + raw_image_size); } #endif diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c index 6669048181..adaa139219 100644 --- a/drivers/net/pfe_eth/pfe_firmware.c +++ b/drivers/net/pfe_eth/pfe_firmware.c @@ -104,45 +104,7 @@ err: static int pfe_get_fw(const void **data, size_t *size, char *fw_name) { - int conf_node_off, fw_node_off; - char *conf_node_name = NULL; - char *desc; - int ret = 0; - - conf_node_name = PFE_FIRMWARE_FIT_CNF_NAME; - - conf_node_off = fit_conf_get_node(pfe_fit_addr, conf_node_name); - if (conf_node_off < 0) { - printf("PFE Firmware: %s: no such config\n", conf_node_name); - return -ENOENT; - } - - fw_node_off = fit_conf_get_prop_node(pfe_fit_addr, conf_node_off, - fw_name); - if (fw_node_off < 0) { - printf("PFE Firmware: No '%s' in config\n", - fw_name); - return -ENOLINK; - } - - if (!(fit_image_verify(pfe_fit_addr, fw_node_off))) { - printf("PFE Firmware: Bad firmware image (bad CRC)\n"); - return -EINVAL; - } - - if (fit_image_get_data(pfe_fit_addr, fw_node_off, data, size)) { - printf("PFE Firmware: Can't get %s subimage data/size", - fw_name); - return -ENOENT; - } - - ret = fit_get_desc(pfe_fit_addr, fw_node_off, &desc); - if (ret) - printf("PFE Firmware: Can't get description\n"); - else - printf("%s\n", desc); - - return ret; + return fit_get_data_conf_prop(pfe_fit_addr, fw_name, data, size); } /* From patchwork Fri Apr 22 17:38:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1621054 X-Patchwork-Delegate: van.freenix@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=wDspn3rT; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KlMBB6x1Bz9s0w for ; Sat, 23 Apr 2022 03:40:18 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 148AB83E0F; Fri, 22 Apr 2022 19:39: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=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="wDspn3rT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E9ED883E07; Fri, 22 Apr 2022 19:39:15 +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 autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20624.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::624]) (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 4FAD783DD4 for ; Fri, 22 Apr 2022 19:39:01 +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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GQstJrmuHOAOdVI2YyYPrXauuPAV+uFOfoUtQbuJcb9zNopRnI8Cec1F0asPQ90zSbLM0MBkaiyUTbttCSVdHjuoT1pdy0jyDjh6GU4Y16+Rs2VyjlSYEYovLWopItRcdSoMTNhc/ym/0e5alEfIdP1xLtx0EtH8XfYewtHnZP5up40qnUYCRzWrCHyJoEiqupocH/OYSNwTLX06XCNHU33lf90EKt+q9g/9Y+nvtbWKeYXvyoCFO8egpgc0hjhUFj2BNIsonjbYF5V+0mgse99BXoOz4wsxSD7snmdRcFxsJ7mcm80FXprm6Kea0O5+izjm49Fyg66/SmqZEXlPtQ== 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=h8h3Wsmo2EztsiBONgVIm9ZYupsfIxgnfWBYqYy67gI=; b=kDz5w+uRv1fJ9kJkNHlp8DN42MVY7TfqkwXH8ne/3Rnr+VQCtwuZyvAdI+HqciryKquNkUdwRjV/rDpy/DIkloN5gWVMtVV8xZK0StSJlaA+Q2EVAESEq+BJYHXw3S7YxPkw/f5EgrG9sfnHJFRKI8IbUjzLeJTved9+eiyMSiYjZCY8Hs9THJBH++CITkqe0fi3zNVo56SUUNYas8aNQwZwHU4c5H+wU98OoA2QQc7ArCfscAaH1hFhDGnCN0/59tECtMXyg6DleaQJ5y4FgIO/sl+Mgsv2M1QjexW37AB51Oe3YmjzZU2D/dYYhZ+RApK+LYVdUD12zECR2RZUPA== 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=h8h3Wsmo2EztsiBONgVIm9ZYupsfIxgnfWBYqYy67gI=; b=wDspn3rTnPDl1+5KAhA6sI0M9/v767G4KA3yHOOrJ3nXoRbt4WzZmer1uN8RuwS3QLpea170KdKa6qHwPY5ww8M5Z0mNlqF33v9/yEUmtm1MnmCC2IF90EJmTKgzxlGiZdhKAq2I23wojBwgSqEz85J55VX4fmKIjSGdySmEP2NaV5QBDsEfhKZYYcJcdxxmq1Mk9G8lPWK8jPVg7NCkr+YaZyr7xW5zgnMGL4D9/qyNvZxiu3ViXGinUK0kenA9rnchVqbj6xEWK7W55pPRsxRohs8rPsBAl9FZdbGK26wKGLrlT40s2ktJKU7I+aXRVqNQ5XhY1BqPNQLRy+wDXg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by PAXPR03MB7806.eurprd03.prod.outlook.com (2603:10a6:102:201::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.15; Fri, 22 Apr 2022 17:39:00 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::714d:2b6:a995:51bd%4]) with mapi id 15.20.5186.015; Fri, 22 Apr 2022 17:39:00 +0000 From: Sean Anderson To: Joe Hershberger , Ramon Fried , u-boot@lists.denx.de Cc: Simon Glass , Priyanka Jain , York Sun , Sean Anderson Subject: [PATCH v2 6/6] net: fm: Add support for FIT firmware Date: Fri, 22 Apr 2022 13:38:40 -0400 Message-Id: <20220422173840.2260582-7-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220422173840.2260582-1-sean.anderson@seco.com> References: <20220422173840.2260582-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR18CA0009.namprd18.prod.outlook.com (2603:10b6:208:23c::14) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac241709-2d54-4faa-4331-08da2486fc41 X-MS-TrafficTypeDiagnostic: PAXPR03MB7806:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R3RRRcwSyA79OSjlrc45U9UJ/zg2xC5Ts2rg83qCHw985YTePp0hzi2C2CwylcX/w/oS4984GIodiScNlCTklYW4K0aTZ21KzvY+hl+JuH3lLcqfos9JLfHnMl9JeXloxAVeHUjOC3xlkL3ur254WHt1epV9mfYkLyeYuDxozXtf4AY6AkNCJdHNAjwRLiYn5P6iKEyRTK4hAIjZOAWZLb6rWH7bAZb1XlY1f86XjrbLTaIfk7DR9CrJLmnunUrqwR8kUk2bDl+3UahCNY7vDM8m+e7n7KtfqKWCIo4JgRK0Ka4f6epSKJClN7jKXrQc3suvzhN7AIkYPacBll9kG4yNfcVAJN58OLjQ/NVMgy14bATLIcmAwrnqx9RKZbbe6u0CqACI+E0WMxzO25gfMo2KGkXrfcTrojKExiD68fWCbBcuqvB3731P7xUbPKxcTxITs6rKhc3xLTDOSLwGruQBBFuKuMpZiJuug0/oPmWlSaJgvTdYufl37R9rt2bQMEGfsXrkINrAxj8lkJ9esHQ5wGqW25dPBk6dB3doNdPbNOdTPpqkzpQeG4yCB9Ah/NNbAj1QdjRuYa6VrP1Qhjt+47FFHv64KLdNfBE8y2/SGKUsSuTV63KgBfzYCORr+h/7m8p9/M1IOB845EV6pi/T3Doc+FP4PvfIKQXb2KcVU2412PLg/yy+aeYsOwn6rgp0w0Tak61PVvmcQ5J/SQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(6486002)(5660300002)(38350700002)(52116002)(2906002)(86362001)(6666004)(26005)(6512007)(8936002)(6506007)(508600001)(186003)(1076003)(66946007)(66476007)(8676002)(66556008)(4326008)(2616005)(38100700002)(110136005)(44832011)(107886003)(54906003)(316002)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: np13eiSD7TwGffyBQ9k4tj0T7JHH2LwOAAlRix9rrjKsX7m2vi+aQWqFTJVvAqfuNhW9B8IaJCKX01CMCVAsLgej8ZL0fo2yAYiePpInk8C+1zFSLmS6GLyoKuJrYjPipPU6/pNtEFcB5cUNXyXoOl3/A6bl8iTh4QFYm7vFVs2QmQZACICUVoVKAICa7jmb5f1ZZ/N8Ce1NX5XK8wHQmXaaAiiepIc6ujYo8+UJzs2bGGQbVzRHYxfUm4zXhmM2k6+l1OR17Ij1vjGxBMZBcNL8/DSZLYt4JYbxQC1pAxAogDlbiLmRQpGVovhfns5qbKkgiTYTs/nT/6HtM1DQBXquWJ3hVqeRdu6dRdgIf38v0F/Nzg06aNh/50ThWYj0SLztaW/0CVCyjskUoCuYR+6Ksh8QrEAtPJP2zk2VWEnWtIwu0fuWzK+220T3+PKuLBvrx7e9HGdnPqCvMUFwNSygM3kzBKwmPZk6pzT7DzEmRy407QZ3MFnRRZR2DeNN5ZHEpcjwBStgdaBV5HdG5OnkhlbO1bS863wbOUHJ9B0FK4/1mDkkML7YWKNznHgX2BevFsBDUFZrqZ9yP6xkgnWhLh+Lkoc2F3i9NlqLlNNFinsUvg1IfCOhhm0B9GGUr6kyS2xDjXLRb8SA3e/1/memN/PAT3mOeRZOeZew5tidQjVDdL6m/8WN34CPzzIDbxD3DXX/1veIlVEEim3g4YcHmp7hh1vqqoNOFWzOdZtiWEWfB32zgdl1wbxl5AxZdZ5lvfyZPvNNelwBzucURgl4yCrUznB7Eev/BTipdNyvEe7q9tjjhNUXyLpyLSboyDBCCqCIJKXpUOTdIsE+hBzrtjvZ2mGjYAEVY2yDlsM0lpGme+YTKMTzWPfDGWnpsVxvZ0g+QgLK/chEbaAuNcwWBO6T63H1mr9p5RT08SPGWbLrhFq4MfTLv26dIRlueq5xxu7f3XOhrgU8/UlXx/A2hXVDrG49hBRK++r+3u4+GPNdPs0yMpJp2DuJVGX7L3FXcybSZx0x625UhM0Q+o4ldIgiPL/mBXeYLFvPIGSKy+ch5PidCyjPLSIUUpmYKtTI/G93rW1QAQEvjswQDfL3cLYVmH70WWL1B4TzjND0jrgaT1nUHesSzYpOPOXE1ga4b2kVphrBMeQqoc8cuZvmRapl47ImtkI/08qqnCGbCVouFv7VOXNnVW49BU0u6hjA2lZCPWaI54V9eeIBaW8zldefFteBsb75PyTHFgnyGs6t2GgujG/ihee9Jtn0zVe4eIib2RPjl1ZmW+ktOEIXQj2kubeiMw9be3hQ3xGFSJJKPn74Am8010E5E+P3Pdrtyg0DjAv+YhxJZNvn+Cb1MYM02nTG27tallcTJzsnVxlZ+3ZJcNwUIuqbGoYDSgXd1uzW6yYkd6F7/8uLNzT0Y53epwQj+e1z5Fd8wSPWZlHGhVwu6MgN/SuZNXgEoGYUO4BihovaCkNWjd3pQYfyUq+EzhSQfRtvbEdTHt8uYwuD476cIEvHicD8lpk1OKGx9ktamMuDK90zI/tYxuVr3CzL5lhBEOxoUGI7KjfsFcAY6rWH6D0mKUP4Z9mteKUO2hG6U+sgSMIfv3GcBCG8OM1fgDs1gh8WKpJoXaryY7uRHGATXuUfcUp9MgdK3/fFUjBZWXGUiH1QYgl/Tv99WrYSdfMbUE0wHv5nzHnAt/9FzdWGpbMOYviOEaaMRNolJXWwF9Usxp9OVJVtLFYC9BN26QtahuSFopq7WNE= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac241709-2d54-4faa-4331-08da2486fc41 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2022 17:39:00.3949 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kHWh0aj77uHzIa7n06u8iGey6sZsAeT7loHjt0prrlwhdjHofwO0xcCZl816S6u972HBLCuv9gB2qjwF5qyNvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7806 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.5 at phobos.denx.de X-Virus-Status: Clean Fman microcode is executable code (AFAICT) loaded into a coprocessor. As such, if verified boot is enabled, it must be verified like other executable code. However, this is not currently done. This commit adds verified boot functionality by encapsulating the microcode in a FIT, which can then be signed/verified as normal. By default we allow fallback to unencapsulated firmware, but if CONFIG_FIT_SIGNATURE is enabled, then we make it mandatory. Because existing Layerscape do not use this config (instead enabling CONFIG_CHAIN_OF_TRUST), this should not break any existing boards. An example (mildly-abbreviated) its is provided below: / { #address-cells = <1>; images { firmware { data = /incbin/(/path/to/firmware); type = "firmware"; arch = "arm64"; compression = "none"; signature { algo = "sha256,rsa2048"; key-name-hint = "your key name"; }; }; }; configurations { default = "conf"; conf { description = "Load FMAN microcode"; fman = "firmware"; }; }; }; Signed-off-by: Sean Anderson --- (no changes since v1) drivers/net/fm/fm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index 39b939cb97..09e13506bf 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -537,6 +538,23 @@ int fm_init_common(int index, struct ccsr_fman *reg, const char *firmware_name) void *addr = NULL; #endif + rc = fit_check_format(addr, CONFIG_SYS_QE_FMAN_FW_LENGTH); + if (!rc) { + size_t unused; + const void *new_addr; + + rc = fit_get_data_conf_prop(addr, "fman", &new_addr, &unused); + if (rc) + return rc; + addr = (void *)new_addr; + } else if (CONFIG_IS_ENABLED(FIT_SIGNATURE)) { + /* + * Using a (signed) FIT wrapper is mandatory if we are + * doing verified boot. + */ + return rc; + } + /* Upload the Fman microcode if it's present */ rc = fman_upload_firmware(index, ®->fm_imem, addr); if (rc)