From patchwork Tue Mar 2 12:13:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jose Marinho X-Patchwork-Id: 1445995 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=leCgl9Bl; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=leCgl9Bl; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dqbfb3TPjz9sWC for ; Tue, 2 Mar 2021 23:14:47 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 32E4382047; Tue, 2 Mar 2021 13:14:39 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="leCgl9Bl"; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="leCgl9Bl"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B980B82047; Tue, 2 Mar 2021 13:14:35 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::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 CE25981F9E for ; Tue, 2 Mar 2021 13:14:31 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Jose.Marinho@arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IX3Uja9DSrlyd9NKEfy6vuPUlbIFpFm4l8B6p55qtrk=; b=leCgl9BlJkdixgd4k4arm9K1zJIh9dtlbLxYwdTHsXb/BoDKByvbhOITc7osfD59adTkpXKb7Wl9LLaBal+y3rITUt+RlWbRuwkk+i6L0yQU8gm0IbGqPg9Wb0RRqjY44bF84ACBCy86ucCZLP6+na+tqm1ESU5CCvqq73tU6YM= Received: from AM6P195CA0016.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::29) by AM6PR08MB3656.eurprd08.prod.outlook.com (2603:10a6:20b:51::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.28; Tue, 2 Mar 2021 12:14:23 +0000 Received: from VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:81:cafe::18) by AM6P195CA0016.outlook.office365.com (2603:10a6:209:81::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Tue, 2 Mar 2021 12:14:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; lists.denx.de; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;lists.denx.de; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT022.mail.protection.outlook.com (10.152.18.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Tue, 2 Mar 2021 12:14:22 +0000 Received: ("Tessian outbound 282f66859e77:v71"); Tue, 02 Mar 2021 12:14:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c90468f0963910af X-CR-MTA-TID: 64aa7808 Received: from 4a8eb5838f23.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F2ACC21E-660C-4EBC-B5C6-991FD3D25C92.1; Tue, 02 Mar 2021 12:14:16 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4a8eb5838f23.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 02 Mar 2021 12:14:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k7viCKXDPkD9gBu85F6g0ORfyPmiZX3snLlMHu3xq1xQoPDJ1PRVXJuNMmWRY5lEcccHKqDwGfPI6Ki2xstlXMHCFhQmWQOlx3BIetDxgKQlDEHwWDM1lRDaDQsLgPtMfjCdFaV/gLCZj7Y5M7y88dYJzvUm1aEUF4nCeNtUDE6kUsRjvge7zZ4PjrTUejN0HcpcegH7ZC0PdVN7fs0mYne7GaO6sPE11rsTNUrnk0iufqWAW4IZmecDYRX10WPRWkHi3aC5wJkKu+yW9w4kAEDLw7UMjriaT+chNsfnBiDw6AYgRP1bJgxcyKGuHNCNDL4lObuCvIC89IlvU1xY1w== 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-SenderADCheck; bh=IX3Uja9DSrlyd9NKEfy6vuPUlbIFpFm4l8B6p55qtrk=; b=bFTNDiHVJqyd5WzgG/kCZ94HmNvmlDLUitM0zg0lNa6whTZSdh7grzP6gzUaFYNu8zO05MyJvRDvP6qYAxve8VvjAIwMZkGwzV38cs0JyPgjbxSQvD3/nUMT1M5tSiEHmlK2HN7d8N+GwW0p/e1s5v8v2Fl8S3DxwCF+E/a0XVKR4CP77KraUYYJryzrkaeZUP+ivr7+UXICXUKrobjtHSPW5qJcV2p7zIBTV5twIfKYIAfwsc5fucSPqEdFmBMhFrKFiNFzU8ORa/sEa+cowOpoSJ+J8bto/g8R+e/eUzhXFQngGbSkGlFUdXKNaeHcmQpQUqLDZAZ7navEreW18A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IX3Uja9DSrlyd9NKEfy6vuPUlbIFpFm4l8B6p55qtrk=; b=leCgl9BlJkdixgd4k4arm9K1zJIh9dtlbLxYwdTHsXb/BoDKByvbhOITc7osfD59adTkpXKb7Wl9LLaBal+y3rITUt+RlWbRuwkk+i6L0yQU8gm0IbGqPg9Wb0RRqjY44bF84ACBCy86ucCZLP6+na+tqm1ESU5CCvqq73tU6YM= Authentication-Results-Original: lists.denx.de; dkim=none (message not signed) header.d=none; lists.denx.de; dmarc=none action=none header.from=arm.com; Received: from DBBPR08MB6012.eurprd08.prod.outlook.com (2603:10a6:10:205::9) by DBBPR08MB4872.eurprd08.prod.outlook.com (2603:10a6:10:d9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.20; Tue, 2 Mar 2021 12:14:15 +0000 Received: from DBBPR08MB6012.eurprd08.prod.outlook.com ([fe80::5d51:f66c:7554:6920]) by DBBPR08MB6012.eurprd08.prod.outlook.com ([fe80::5d51:f66c:7554:6920%4]) with mapi id 15.20.3890.029; Tue, 2 Mar 2021 12:14:15 +0000 From: Jose Marinho To: u-boot@lists.denx.de Cc: Jose Marinho , Heinrich Schuchardt , Sughosh Ganu , AKASHI Takahiro , Ilias Apalodimas , Andre Przywara , Alexander Graf , nd@arm.com Subject: [PATCH 0/3 v5] Add ESRT and test ESRT creation Date: Tue, 2 Mar 2021 12:13:51 +0000 Message-Id: <20210302121354.23009-1-jose.marinho@arm.com> X-Mailer: git-send-email 2.17.1 X-Originating-IP: [217.140.106.54] X-ClientProxiedBy: LO2P265CA0117.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::33) To DBBPR08MB6012.eurprd08.prod.outlook.com (2603:10a6:10:205::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from josmar02Desktop.cambridge.arm.com (217.140.106.54) by LO2P265CA0117.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Tue, 2 Mar 2021 12:14:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4651af5e-ae1d-4377-3d78-08d8dd74b6ab X-MS-TrafficTypeDiagnostic: DBBPR08MB4872:|AM6PR08MB3656: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:923;OLM:923; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: EEHSdDsKTRVK7xuYbhROPWupZaLcxVIdpvLGOAgSUgUsa3X4OkzpSwFj/CfW2rqu7vT33n1FZ23fNNEOfOqJo1iKXi/2Mf9upoxWwBsEDO3By68Z8hpqJWuCvIZVjq0DMLVV4HxB+FLa9O3nKcV5vRxt8mfgvlEvPpH3G1exxGKHo6V2S0LebQINf9rLJcUuTO4dB2evtj/KzJAOIkz+HRhFMCv5L52lckW3DdrPidmghDVwB7F1uh1c/EtcdqTUlXMIMuZe+DsgIjh4T6qw8SxAqL6BjXRCPbrVMmuN4ejZf73RK5f1T9dxDPqXTgOJS6VjIIuVUhnmaN2SWSHuu/GBxtggyMJg9blr0fbEq45Sb4vYa6021F11Y0Nt0ryOJkIXobaK3tx9D7vz/h5tTE+dw5Sw9J7sTMg8AAOsaSiINpnU42DkSB/aIFG+p6KLwj1ZH/VLvphnYq/4Cr33d1ldu3xHl7URwQo8aRvEdH2m7sL9/nR0fOf53U2aOhyWSmyfM+gV8fSlFg6VP3rCxw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB6012.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(366004)(346002)(39860400002)(396003)(136003)(2906002)(6666004)(54906003)(36756003)(2616005)(956004)(44832011)(316002)(478600001)(8676002)(6916009)(8936002)(5660300002)(86362001)(4326008)(7696005)(52116002)(186003)(16526019)(26005)(1076003)(6486002)(83380400001)(66556008)(66946007)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: EIVFtVoTrIqta8wbw4Tf9OlnXjIl8Y0091m/le6WDKgOE5KOw9iI57tofzJg7YQTQeEl552HOygmebhQ7tnQapq+E/8SdOmavCA5HYW6+IGoawiWQ49lQjAGyhDM+Zktip9TmZAfH4mlUH7sYO1NbdcdbQ1UK+qgsVDM/oClkWHiC5OhgEBHRGnKFA7u6uHRIA2af5sUgOFgVCeYTcIfL13IVaW2BGPd3B1WlN2KKhukoQ4E32f95s514f7v9bkhZWHSB2Ux9b6uC98PGEsK0vMxiPsJYgBBkbEPnm7+2VcTuPvOUiUFabvaSFXBuiVXqQ47aE8RuKWbuYuOmDfoVSGL6dju0jrfhnr3yqTtdq5q5TFaPaIWWVR1Zq9T/Eqwwjr8Js2IojmcuXZh6EMMxqM7RynNrgj467gv9ZplgZ15YgbkTt0nLLrFZNf77utwIJ7OI+7TVzgKhIW/MrbSPP+nxy3NxqDSmyfsyeZy/FLJy/xf0kQt6OmSdyf4XU99VSmy2x7x2pIIkh0wuPcSTStmFW5CXUhKZZk7T+tAILeOWaIeq48Zt5d/kSlIu76Z2cxN4y3vJshxTvy2iWWuqLcIMSTVi2t35kWopikgxCPvyVf3EPEal4iN4LCZmwpBnQJVSvAvl0Zdk68vT7QY4PAe/naIwibdU3RXVppB08zBUzRzAmQc4TzRziXf6EgHOUznYptWRVjzYo7mG5npFHdjUiDxQ0mO1OLVHkK3ksj6NiDFWfChyUMPdAqAK44jLG+ZEGyLTREQMPn+IzeHBE7unX8hGt3+GtgMmNLA2u3xiDXmiO5Er+7ZnRDpcMNjHHsaq7lw5LmwFNl3omaW2P8M6/Qd/6Ti+8GKkGIa31Ho6RlsLNFrB5wlbK7l5DYAUjHJk9/R/G7ivl+1unoCaTd+0ZQtcYB9rup7Nocv5EnBZ++97gJYsk30PWjDaf8w2Igld2NdgRWbFGFnnMcsUs5V3SjMMLeGds75nw6wnf+12g3huvZW8+2R/cYKdGqoiFyuEI507efCKRceSyWIFuUJ7Nchwj8ibmxEK46L0JvSaXdGB5Vkl1rhszpxtjgHq5mRQ0XkYP1y6vs95rFM3vg9KHKI+D1WzTdrECvPSmwf6z2U9hVEsvBej9CHamBo+pb+nCk3oaY2niX2i5w4FYi2sMZ0cx6RlwgxzU8pd3DT3lXknfvrREMjDHBJne8gwk8Bl1jc71rkmD6p+sTJJvLiJ9w8EhpSmQKGlnB2SA1pdsaBXVcbQz9eZx0j+EhGEkJDJd4zErILkiEG6WkORKwX2cT1XbiKfQijkIflWLGY7gIz+3hjwv9EMCs1Uv3M X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4872 Original-Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none; lists.denx.de; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 9fbfb68a-4973-4b2a-e945-08d8dd74b21c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hlke+VsLssp+fPDDGg0xgXcKguzT3l/u8RyFtpTCOpHq9tsAwWf68Fw38uMLGA4F81zhASs7fchWLc258zHwwK8zsIUDkO/jwGqXW2pYYwjaLGRIlFarRcBk/HmOchhrvgC+64/EA/k5vX64q455aVAd+7VdxUU5/5mgeqr7cXjm1YMNl4YS+JM9ksjeg6b6X2pLiPGrNrwKnV+h0CtQPh+pIFkVbUWJUtEX+g8FpbdRfoej9sepTzwsSvuP3xoMcv+D+9PBpQ8nwnozrqOJHypRAaYZ3gAbUMKF+3JuXC8nYe6MZTOQpebt0BXialzQjVBA5cObdLC6Kuy+YaptL00oEF5SNQ8kNXxPipkwVYlzHWFOJT0UvM1oCokEpk7Sf0I4FO9mSoyasmbI4dnMcLE0pOZAQZykq/Savw7fanxXL07khemNTSlUQtEeSID3VqaPHH4Z7eVMkEwnpLsd6AmDUc7o/2GjtefLq1oQw3wTRIPpfFZocf3qv1Mbw7eVSF5DLKyE1e+rDLBOosW0dj0VZKRw5RAi+GtQL+UnqwCGUZdGX3Hj50dye35FYUbG+aUhRYpNqDL1gmycIbGTaMQCqyvNFMjXJw/wKTYUTLbB5s0nHa1hlchjXgvptgiiGhff6saOGqe11NzaaFCA4MVkYZBYo1DCXYCoIPI6bSY= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(346002)(39860400002)(136003)(376002)(36840700001)(46966006)(6916009)(82310400003)(70586007)(478600001)(8936002)(26005)(8676002)(7696005)(16526019)(83380400001)(956004)(36756003)(4326008)(2616005)(36860700001)(1076003)(70206006)(2906002)(6666004)(336012)(186003)(5660300002)(81166007)(54906003)(44832011)(316002)(356005)(6486002)(86362001)(47076005)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2021 12:14:22.2297 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4651af5e-ae1d-4377-3d78-08d8dd74b6ab X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3656 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.4 at phobos.denx.de X-Virus-Status: Clean The following 3 commits add the ESRT and provide a test of the functionality. The first commit adds the ESRT as defined in the UEFI 2.8 specification. An empty ESRT is created during the execution of the efi_init_obj_list(). The ESRT is updated when: 1) a FMP protocol is installed in the system: this will add the corresponding entries to the ESRT. 2) a capsule is installed via UpdateCapsule: this should update entries already present in the ESRT. This implementation of the ESRT creation takes input from FMP only. It is assumed that the FMP will maintain the following values across reboot: - LastAttemptVersion. - LastAttemptStatus. The second commit introduces a helper cmd function to print the ESRT in the u-boot shell. The third commit enables testing the ESRT creation in the sandbox platform. That commit is composed of 2 tests. - Test 1 executes from the u-boot shell with "bootefi selftest". - Test 2 executes in the pytest environment. Patch v5: - Address v4 comments. - split the v4 2/2 commit into the v5 2/3 (debug print ESRT) and 3/3 ESRT tests. Patch v4: - update stale [Patch 1/2 v3] commit message. Patch v3: - Address v2 comments. Patch v2: - The ESRT is now regenerated from scratch at every FMP EVT_NOTIFY_SIGNAL and whenever a capsule is updated. - Extended TestEfiCapsuleFirmwareFit::test_efi_capsule_fw3 to verify that the ESRT is correctly populated after an UpdateCapsule. - Addressed v1 comments. Patch v1: - reworked the ESRT creation code, allowing table to resize as FMPs are installed. - registered a callback for the FMP protocol install. - Created a unit test running on the sandbox platform. rfc: initial patch submission CC: Heinrich Schuchardt CC: Sughosh Ganu CC: AKASHI Takahiro CC: Ilias Apalodimas CC: Andre Przywara CC: Alexander Graf CC: nd@arm.com Jose Marinho (3): efi: Add ESRT to the EFI system table cmd: efi: ESRT table debug print efi: ESRT creation tests cmd/efidebug.c | 68 +++ include/efi_api.h | 21 + include/efi_loader.h | 24 + lib/efi_loader/Kconfig | 7 + lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_boottime.c | 7 +- lib/efi_loader/efi_capsule.c | 8 + lib/efi_loader/efi_esrt.c | 510 ++++++++++++++++++ lib/efi_loader/efi_setup.c | 6 + lib/efi_selftest/Makefile | 2 + lib/efi_selftest/efi_selftest_esrt.c | 227 ++++++++ .../test_efi_capsule/test_capsule_firmware.py | 4 + 12 files changed, 881 insertions(+), 4 deletions(-) create mode 100644 lib/efi_loader/efi_esrt.c create mode 100644 lib/efi_selftest/efi_selftest_esrt.c