From patchwork Wed Dec 27 12:26:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 122800 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp2137456qgn; Wed, 27 Dec 2017 04:49:32 -0800 (PST) X-Google-Smtp-Source: ACJfBot6hrjopkSQ53NhJzOYVHux+kVxFqioFwOojRB7hN6uVuZ3hWuZeuGuhlPIVRg9234kjbOa X-Received: by 10.80.178.35 with SMTP id o32mr26375395edd.293.1514378972075; Wed, 27 Dec 2017 04:49:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514378972; cv=none; d=google.com; s=arc-20160816; b=aGwThcrDbGhadKZ24d6X2FZkZf6bsW0VQL2l1s6+cOl7cJz7VSc8zissc6iyOVh/JL kSIqRZopp2CXEo+Up9W6qhiV17AWbpQGjq2kt5YotXo+2rBFdDr8h6yUjduiIxzakz+f Pt8al9t67D9odc6iE4rRDKajo6vQboBwAVqeO/m7zma6490PZkyx9IVRRMa9NUjo4N54 OAJxGeB4Xy60jshYLmM4tm/NDeNsvJFapaVd2/AFsDLzIMLMe3zOvpVTDx2RY/CJ3n5O tVVmp8n/DkGIMnZNir0uf8dKpYoSEd92eVzRTIouPz0zYUZWLaDCACBfjZ6yrNn3A4rU 14Bg== 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=piHf/Bvinv1QBm7NeAxU1OZk4Ciuh5/cG1/WaUcbBBM=; b=iDpoJ9DnuDHj0zAvnTQaEljliSTdl9RSj+zcKhu5v+fUSmF8BBnVvF2FUnt9g7i1qC TIlUDIqiizf5m6uMj9bG5x+aAWSTbcO9ISCj80l2nJNYX57vfobwjxaVCU/Qm18sKIsz 3oBT1/CQqmMvPR+N0w6AfA/oyapRPT/5m0/liitE3T5MbcgJmctUa2vOBj/7pnvuqEdT QqIEynwgUSOGqK50+Uc3ZDKHaPjWVYUFaso970kXC3N14CIUSSBNP5345AYa9hYHvIhi i33YFpUogYIfGoMBDviK0Gey6yCPgdJgJecV+zIW+W1uhRNwOl/Gi+oaqtAxjDxIy5NM dDBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=Ypm7w7MK; 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 a39si6702997eda.495.2017.12.27.04.49.31; Wed, 27 Dec 2017 04:49:32 -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=Ypm7w7MK; 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 B00C1C21E43; Wed, 27 Dec 2017 12:39:43 +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 42E22C21F09; Wed, 27 Dec 2017 12:33:19 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 06038C21D5D; Wed, 27 Dec 2017 12:26:44 +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 AD47EC21C4A for ; Wed, 27 Dec 2017 12:26:44 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id 64so39015815wme.3 for ; Wed, 27 Dec 2017 04:26:44 -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=IKp9FO4QDPNjgvUIpzRFTTdgLl4MPkSrQx+R1NNx5Oo=; b=Ypm7w7MKAdA7yrKjm9iaohzIAnAWwbZLo0FQy8jn7YiY/VFNZ4HkbEd0EdZF/yK0Pp vK/L6cCvlIWoKUTaIpnXGTUr33GBb1lOD7lWXJmI6GNM/39dIYmuqFU013FJCQLroQYl S6MhLl4clYsmK3Wxe2XrjnBjvBeD0clI8qH5Y= 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=IKp9FO4QDPNjgvUIpzRFTTdgLl4MPkSrQx+R1NNx5Oo=; b=I5vj3OeUV8PKZ3YeZ9K/8XEBuV6vyonfQYhL7kINL0id9dVsfRbWsa/9bI0zY7TjqH JCO0+v2JLS+UcYvYcnP8E8FijxUFG14knKF5vTJMsAoTicHJfILsVb3cL4Wu8zNOG8ak JG2hADK7+w+GK58Y9M5s1CPXCUXnNiPAAIYX5ED883o0x8dCkKAz8sUmO8y8/lQ/afdN r3hk3fub22ZbhxgiRv9y4XvtDMXTa65/fUbADn7dDQcqDym/JbK1oRLOlbtig0pgP5gk sodmMa1BG8dntBP+HfD7oRQ5AiwDI3qATM0zKw/OIdJJLic/6tzLZpEI+GFHeLvy6XQY OGdw== X-Gm-Message-State: AKGB3mIimblc41KLJ3dcF+/eqcefgVJMDqV10nTSCHaHIhADlOL+ybGe hzAP3tSFJ6zj4y+dif6B+5y3Sj/b9LE= X-Received: by 10.80.190.135 with SMTP id b7mr35723003edk.282.1514377604114; Wed, 27 Dec 2017 04:26:44 -0800 (PST) Received: from localhost.localdomain ([109.255.42.2]) by smtp.gmail.com with ESMTPSA id a5sm28388838edm.47.2017.12.27.04.26.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 27 Dec 2017 04:26:43 -0800 (PST) From: Bryan O'Donoghue To: u-boot@lists.denx.de Date: Wed, 27 Dec 2017 12:26:04 +0000 Message-Id: <1514377566-28512-22-git-send-email-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1514377566-28512-1-git-send-email-bryan.odonoghue@linaro.org> References: <1514377566-28512-1-git-send-email-bryan.odonoghue@linaro.org> X-Mailman-Approved-At: Wed, 27 Dec 2017 12:32:59 +0000 Cc: Fabio Estevam Subject: [U-Boot] [PATCH 21/23] 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 --- 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)