From patchwork Fri Jan 12 12:40:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 124324 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp2022921qgn; Fri, 12 Jan 2018 04:51:30 -0800 (PST) X-Google-Smtp-Source: ACJfBosZ7I+ifqSAOC7GflJXLSDrikhnYOmpnu6YGmc2XC/mClsfU3oWTYRsxNEY+W+Sf96oQmDx X-Received: by 10.80.146.29 with SMTP id i29mr2496052eda.27.1515761490659; Fri, 12 Jan 2018 04:51:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515761490; cv=none; d=google.com; s=arc-20160816; b=lAZXBK0/RxeL2dSb1aMIq45NPI7PH+XThLAisTrrrV5l7Eu1R7NAZxvplolllsolqH ZtqHq5324OrA35qxJbYXOuOUI5KZ4CIGwIxikR1wLDg7Vj3HfWJE7mF70zxcVToiLH8n 7RbAhfa9VurkmbHWT0W2YkyHGusO3JL8B+VwjwwRjCQ7eqeZydKkMH3bEUx6Wkn25N6L MfvtlEgzWNGxHFTHaulIsD3EvvV+LPJifwVepInZb00vGg/AleGWIcr3MLJ++CU0YPHj PBA0iYDCdWiKZdCjds8jQo89vQRLlDf6YTf1/IqJw35RbHznd8CejzmMV97NnGq0Y8gf Q+UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:references:in-reply-to:message-id :date:to:from:dkim-signature:arc-authentication-results; bh=TMvpKY5oWKLJd6N4BAh6sQYU0cYie0xq/NJfpDQ10e8=; b=fUk+YJ27J+j4fMtDmAEWuHa5qCXXjidaDKj82auW0NNJjF3T78hM5I0EkJt50MHPWT Ag4W0eTfGy2KyUBzzUJEGnboQDS8RAi242pxMC7MtyEg5+9b7QO3RDx/v10xNmTTDK14 x0miRGjLnCLQaC8Gzi6/kqtQqYtpuq15EjvyyOlRZoFBh/IRFZucaqPeRovxsO6LBowc GnVa9O1/gsd1iiW/kLWNsoK9KQMkMJ4pDWdGVBpJXw1vOncA89AQC6oatE23N9HejrqW 19MhBU9hxQHUJOwagHCW8eA3Tv9XxWlH+iD/MrLXWdgpjXB4MdKsILpLRgwcQezgueNQ 1a6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=eDDuTEjW; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id i19si7082600eda.254.2018.01.12.04.51.30; Fri, 12 Jan 2018 04:51:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=eDDuTEjW; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.denx.de (Postfix, from userid 105) id 30CB1C22195; Fri, 12 Jan 2018 12:44:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 00976C221DF; Fri, 12 Jan 2018 12:41:17 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3349FC2215C; Fri, 12 Jan 2018 12:40:54 +0000 (UTC) Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by lists.denx.de (Postfix) with ESMTPS id 51784C22194 for ; Fri, 12 Jan 2018 12:40:50 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id g1so11799929wmg.2 for ; Fri, 12 Jan 2018 04:40:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8GsFNs0jtgkX613BljerM4ScjYw1l7gJAwQ/uaGeca0=; b=eDDuTEjWjN6KuBysgAxSqXK+Dns8Vq+VJosogg6T/pskGxoo1GWBvR8i3ygZHMAB6Y 1mXTM/HwWPV49DbibnukWyDGIde5aV4bg0VaazvCBWJVpv2q93r28iO9PcM3UZM9wy7e egyCfMqmZtFenqYk9seGYgbl+1T4Tc9WJs3tU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8GsFNs0jtgkX613BljerM4ScjYw1l7gJAwQ/uaGeca0=; b=okmSrpRvXnflyCcYJroSIx/k3lXe7ryUlHoJh8uPZzfUmBqcnMp2JNTWkRbbmkeS+q LAgVJUzMIuZG7O88vkCteJOXm1O6PBWPorsg9NLceP9O9HGAvA+6fKi9wFEkJpW5hf8h K9eaYJrVvO6490knmnDGjH8WyxMr6VsB4Jd36DfGV0l9lC8dxVX4YyD7WjvOTobYD53m 6XlycBCnL3drthja7md7ywz6oas46kyPxNuSoDkF3D6UEk1k77X1D46Pp4XWeshYXNYU h6DWxpVXwgu7BcsDck0T4P+2AsG4pgk1OBpkE2y6wDbFFL6iPpkF5a747clKiFD9x+c8 ocWQ== X-Gm-Message-State: AKwxytcVI1f9KUZ0NCepKRN5zzAAvxCIsPL/XHMdNL+oljyDkPZ325sp pM/28HRLLQA4gWhfM5Ngho5SgY36mKk= X-Received: by 10.80.144.233 with SMTP id d38mr547599eda.291.1515760849816; Fri, 12 Jan 2018 04:40:49 -0800 (PST) Received: from localhost.localdomain ([109.255.42.2]) by smtp.gmail.com with ESMTPSA id w2sm13893585edb.4.2018.01.12.04.40.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 12 Jan 2018 04:40:49 -0800 (PST) From: Bryan O'Donoghue To: u-boot@lists.denx.de, brenomatheus@gmail.com Date: Fri, 12 Jan 2018 12:40:17 +0000 Message-Id: <1515760819-15116-24-git-send-email-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515760819-15116-1-git-send-email-bryan.odonoghue@linaro.org> References: <1515760819-15116-1-git-send-email-bryan.odonoghue@linaro.org> Cc: Fabio Estevam Subject: [U-Boot] [PATCH v6 23/25] arm: imx: hab: Define rvt_failsafe() X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" The hab_rvt_failsafe() callback according to the HABv4 documentation: "This function provides a safe path when image authentication has failed and all possible boot paths have been exhausted. It is intended for use by post-ROM boot stage components, via the ROM Vector Table." Once invoked the part will drop down to its BootROM USB recovery mode. Should it be the case that the part is in secure boot mode - only an appropriately signed binary will be accepted by the ROM and subsequently executed. Signed-off-by: Bryan O'Donoghue Cc: Stefano Babic Cc: Fabio Estevam Cc: Peng Fan Cc: Albert Aribaud Cc: Sven Ebenfeld Cc: George McCollister Cc: Breno Matheus Lima Tested-by: Breno Lima Reviewed-by: Fabio Estevam --- arch/arm/include/asm/mach-imx/hab.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/include/asm/mach-imx/hab.h b/arch/arm/include/asm/mach-imx/hab.h index 5c13aff..a0cb19d 100644 --- a/arch/arm/include/asm/mach-imx/hab.h +++ b/arch/arm/include/asm/mach-imx/hab.h @@ -140,6 +140,7 @@ typedef void *hab_rvt_authenticate_image_t(uint8_t, ptrdiff_t, void **, size_t *, hab_loader_callback_f_t); typedef enum hab_status hab_rvt_check_target_t(enum hab_target, const void *, size_t); +typedef void hab_rvt_failsafe_t(void); typedef void hapi_clock_init_t(void); #define HAB_ENG_ANY 0x00 /* Select first compatible engine */ @@ -170,6 +171,7 @@ typedef void hapi_clock_init_t(void); #define HAB_RVT_AUTHENTICATE_IMAGE (*(uint32_t *)(HAB_RVT_BASE + 0x10)) #define HAB_RVT_REPORT_EVENT (*(uint32_t *)(HAB_RVT_BASE + 0x20)) #define HAB_RVT_REPORT_STATUS (*(uint32_t *)(HAB_RVT_BASE + 0x24)) +#define HAB_RVT_FAILSAFE (*(uint32_t *)(HAB_RVT_BASE + 0x28)) #define HAB_RVT_REPORT_EVENT_NEW (*(uint32_t *)0x000000B8) #define HAB_RVT_REPORT_STATUS_NEW (*(uint32_t *)0x000000BC)