From patchwork Sat Dec 30 01:08:57 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: 122997 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5328892qgn; Fri, 29 Dec 2017 17:31:22 -0800 (PST) X-Google-Smtp-Source: ACJfBotFW7uC4oYg2mqCxQmKUflsVX7Hmgics536ek3yvMPoMTqx4m50FsfJppinmdLw7m/4nRdt X-Received: by 10.80.164.144 with SMTP id w16mr45463638edb.130.1514597481946; Fri, 29 Dec 2017 17:31:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514597481; cv=none; d=google.com; s=arc-20160816; b=Ft3FryRY3tfDFgmZiyzwJhl+LBd1E3bYrytXRSLTKVuGHytd9o+2j5koi8xSQbRlzq PEn8auu6nZHKXlw9Fofm56rdqJ3gdxXVMWGW8BiOWhE/fRm1iDiQ7r88Pq5kADKIUVVP 5iDTcbWQfb1ZLx4gL+Ry305U+xPG0MLHs+L/4GUm9CaG2Rs6Soi8ZX+i0uwohd1ZyFhC iMFG+IgBtZlEBli2RInkVSGzdlfxm0aqQgdQqB/V3SJmxjA5f42RaHrOwIab+wjWEjDr tixJNrII0Edq8EKW6gGHTMJUxDUPKw6PMEbanr3lqTCMIG02mjXxL+MzvszDgttELPJi nguA== 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=nEiq0xect4AoWDmrA6PY0pIBd0aNAXXS+iZ9gzfxaCI=; b=DoHb7VZuiVb/L/eu4aQxQKJB8WiX1geFWhbQI3VWSWJMDR/0G3o5EfPI0hfjoaWZjt iJxX+s+hl7kg//y4H9LBnteOE63jaRBRDIldNNmNnR2b/wTMU4BJO15iD0jO13fGacte IOz5S8eRUYPT18XguynbH1eCoOBJVZlLK5H8OaHtXvDg1PfAAk1nuo+j3KOVHFzZBONz LTB51MnSsmZBwLOqn0BMizD2iBmChMVVZIeiVIySxfvpsUfsw9Tk8xRqNbsdfSw99GD3 NhfC+m1IGMuA3WaLLGvz3wuMxjI88Hpx3LXg47VffVklET+qSfeldlf42+dYYAaeLPLi YSag== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=dUEYWLgN; 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 v13si2815990edj.433.2017.12.29.17.31.21; Fri, 29 Dec 2017 17:31:21 -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=dUEYWLgN; 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 68956C21D5D; Sat, 30 Dec 2017 01:24:04 +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 CBF63C21DB2; Sat, 30 Dec 2017 01:17:29 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1BCDAC21E31; Sat, 30 Dec 2017 01:09:40 +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 BD4DBC21DB5 for ; Sat, 30 Dec 2017 01:09:36 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id n138so50414209wmg.2 for ; Fri, 29 Dec 2017 17:09:36 -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=cYwMYV7HIFFPZjWLmuiyD2xuH7kQg/RPLyU9z34NM2o=; b=dUEYWLgN5lOmRp2qAm1LxLuuz76ffEbbAo2Ij10p+UTIt9pTr6gxg2zwnruolj+Q90 UsEMpfN4gy5MBOx0Ogf1B6fFR5alX2kYIq+JmEvsf6VaLlEvA0V7Ts/cMojTrCbzGuXA PeM7iz+8yw8MNIuXGhj40gsugbdqepdIauKgI= 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=cYwMYV7HIFFPZjWLmuiyD2xuH7kQg/RPLyU9z34NM2o=; b=uCs95u+r4WqiO/APH54XfOAggQjhDQYUOipM2N8wheE/VTX929VE/w0mvkABnsvTYt YQU6ztYYhSDX1a+hl6Hjb6kerxio3rz7tc0WnydqCC//2B0mez48XWcPLFkpmZrGfYf9 nS3Jsckw6ZRQ2d9m+9o2ZOnNWRH0CcKYuM4gGvYgOejrp+81760Qr9kXBkFTOkmYinM0 OOfPh+UHaWBbr0Q6aKdSw4yRw4q6VdEL7ic8ck8m/DjOn6t/cZftEPgL6wk6jZ8zWT2h H6L1p6T9iJpqCAJ711XpR8h4v0nDlcdDuRGXHVJIXXthgOlxUhH4HO8bOb8zNrqhuF61 48Gg== X-Gm-Message-State: AKGB3mK0h+Q3xHYmW7W5cvj/FidqZnkUlbw9sOT5XOfEWQXnQPSyvk2b Ppu/fKSvfd1dEmFL5XiOM8FjNaAusuk= X-Received: by 10.80.173.170 with SMTP id a39mr46500857edd.49.1514596176184; Fri, 29 Dec 2017 17:09:36 -0800 (PST) Received: from localhost.localdomain ([109.255.42.2]) by smtp.gmail.com with ESMTPSA id f9sm26484148edm.83.2017.12.29.17.09.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Dec 2017 17:09:35 -0800 (PST) From: Bryan O'Donoghue To: u-boot@lists.denx.de, brenomatheus@gmail.com Date: Sat, 30 Dec 2017 01:08:57 +0000 Message-Id: <1514596142-22050-29-git-send-email-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1514596142-22050-1-git-send-email-bryan.odonoghue@linaro.org> References: <1514596142-22050-1-git-send-email-bryan.odonoghue@linaro.org> Cc: Fabio Estevam Subject: [U-Boot] [PATCH v3 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 --- 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)