get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2218274/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2218274,
    "url": "http://patchwork.ozlabs.org/api/patches/2218274/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260331191853.44549-1-gary@garyguo.net/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260331191853.44549-1-gary@garyguo.net>",
    "list_archive_url": null,
    "date": "2026-03-31T19:18:51",
    "name": "efi_loader: support EFI_OS_INDICATIONS_BOOT_TO_FW_UI",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "6d522d52dd6df200d66ae0d7850c7efc51419e4a",
    "submitter": {
        "id": 76823,
        "url": "http://patchwork.ozlabs.org/api/people/76823/?format=api",
        "name": "Gary Guo",
        "email": "gary@garyguo.net"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260331191853.44549-1-gary@garyguo.net/mbox/",
    "series": [
        {
            "id": 498251,
            "url": "http://patchwork.ozlabs.org/api/series/498251/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498251",
            "date": "2026-03-31T19:18:51",
            "name": "efi_loader: support EFI_OS_INDICATIONS_BOOT_TO_FW_UI",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498251/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2218274/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218274/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=garyguo.net header.i=@garyguo.net header.a=rsa-sha256\n header.s=selector1 header.b=vz1IroeF;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=garyguo.net",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=garyguo.net header.i=@garyguo.net header.b=\"vz1IroeF\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=garyguo.net",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=gary@garyguo.net",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=garyguo.net;"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4flgkh0RZ0z1yCp\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 01 Apr 2026 08:10:35 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id C7FF584020;\n\tTue, 31 Mar 2026 23:10:32 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 48BD883F5B; Tue, 31 Mar 2026 21:19:07 +0200 (CEST)",
            "from LO2P265CU024.outbound.protection.outlook.com\n (mail-uksouthazlp170110003.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c205::3])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 37C9883AA9\n for <u-boot@lists.denx.de>; Tue, 31 Mar 2026 21:19:05 +0200 (CEST)",
            "from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:488::16)\n by LO2P265MB3609.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:1b5::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Tue, 31 Mar\n 2026 19:19:02 +0000",
            "from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM\n ([fe80::1c3:ceba:21b4:9986]) by LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM\n ([fe80::1c3:ceba:21b4:9986%4]) with mapi id 15.20.9769.014; Tue, 31 Mar 2026\n 19:19:02 +0000"
        ],
        "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,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=V3+sY0U4MTttV0Lgb/oaXVSyc3A6bI15z+7DOpFZmwK2ExDgNOU8gv6xKQC5N9h/UmgfbKrSZ+/FmuqOtZTwfTvpeoDtySLN0bMZademPBcyjp5rWK7JbLh7vsStIOLIUSzDBeMDGGKtZ3BtPhOTOKu/XdcZNDFfKbSc5kZuJ1NoYPqiQlJI8R9TaFpOwbj2tnnShiccVENFwy0aH2dmGSSEVwZJAjMilhe81ragNQagLKCZlLfYYfOQd/zKPDMVo2UAMLc94kPSguIrdr89yzZ8gaBMd7xo+rV1icVlVGb3/S2msg+jYNrpWyQ2plKeTBnh71K/htx+8083fl2kCw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=49SYE5aS3m+IKqFZ2yxqfx0bBw+TigmNtmQXm7GokKw=;\n b=R9Abm5iVI0siX+FJEbcI6Rq9rwb0dTWxpdbYgZPVwpkYPesNXuc60KNKYJ1DGoV707WJKC+h00KzLDmO6gQ3rcKG2/u4s4F4fNEgRwAolpK1s0avIDcixiRgf62jZQPHOAnQDwdYxrHXowVra9EMT9bdHl7cFA2xbwxS2eK67pWHFWag4jHlubkOJ6e3Ih/8ind23aATC9IkKJAP+4OWhTdGsmuQfFjz3Ay+Xyvt+5cFxrUruz1MBl3PiZR9fng5nF21Deb2eXZKI5KKraCbu07v5Kt3dLE6IyeN9UFO0YH5R0p59E64j7PdKdhS2bRbrLr4l10hZd1xJlLK04MfHQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=garyguo.net; dmarc=pass action=none header.from=garyguo.net;\n dkim=pass header.d=garyguo.net; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=garyguo.net;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=49SYE5aS3m+IKqFZ2yxqfx0bBw+TigmNtmQXm7GokKw=;\n b=vz1IroeFUPzLF1Hn4XvhQNrYpuOQ+AKFX4ZPwSMlt9l2xbR3lweeI22uC8Tcxxp91n8dgyIJj0fYSBz2dTF9EZvuAaYWfMf6LbmIZkuNzUYfs2lmg4//ns1wjWJT8bIJawjuDwEo3B2xV03+00EuRUDkNETM7pQjJVr98X0QZcE=",
        "From": "Gary Guo <gary@garyguo.net>",
        "To": "Tom Rini <trini@konsulko.com>, Heinrich Schuchardt <xypron.glpk@gmx.de>,\n Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n David Zang <davidzangcs@gmail.com>,\n Sam Protsenko <semen.protsenko@linaro.org>, Gary Guo <gary@garyguo.net>,\n \"Ying-Chun Liu (PaulLiu)\" <paul.liu@linaro.org>,\n Adriano Cordova <adrianox@gmail.com>, Simon Glass <sjg@chromium.org>,\n Javier Tia <javier.tia@linaro.org>,\n Martyn Welch <martyn.welch@collabora.com>",
        "Cc": "u-boot@lists.denx.de",
        "Subject": "[PATCH] efi_loader: support EFI_OS_INDICATIONS_BOOT_TO_FW_UI",
        "Date": "Tue, 31 Mar 2026 20:18:51 +0100",
        "Message-ID": "<20260331191853.44549-1-gary@garyguo.net>",
        "X-Mailer": "git-send-email 2.51.2",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "DUZPR01CA0083.eurprd01.prod.exchangelabs.com\n (2603:10a6:10:46a::19) To LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM\n (2603:10a6:600:488::16)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "LOVP265MB8871:EE_|LO2P265MB3609:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "c5fd4b94-108d-4416-1fa6-08de8f5a5e50",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|366016|376014|7416014|1800799024|18002099003|56012099003|921020;",
        "X-Microsoft-Antispam-Message-Info": "\n YRjvAug7GflenV/2bvlt9455jeOk+fsGgbGB/33Xj9zele6+OvSi/spM/NgiybufmX2gCtDJYfpNGCopv3+/sZAhR7aN6gFq13c6nb1I3C6KQkLciZca6e7gOSd47/VhxOWQVGCYLBXE1aUsxtyVJ2GyDYbLQRd4xXLJ8trTr/0cBwAErw879Q2HPw4kmjV9MczTIxsAOvLx28ZfzTYS1k+oolrBsTxGqnx2Stkz9vAQDMWDfes49ubrm9MC3lx50pOPq4qFlH9fG2O5uSxPnWprBQDF9wcI87h1z0qSkVbyTnBvw4dB2BukxYcqtR7/xa/uy1ukUs6uZFddFG2As1SQTaQSsRF9DC3QQzvZG1bq3cpw5K+w4/LvJSpultH1pxC//bkYnTGUBxZQvD3aMGlIkNBe2cXP5V5FXhBjJZN2ZKlUqxO0pUpE7hdv3hLQ7OzLdnFtwxOIxUZxnDik9yIz72BYreqj/5aUE4dcVN11kuqJSov2HjATSABgaMg/ev+ewJHhe0DvAvKP5iY45GOQMrg+Q5zH/bFNGTRzAf61vDFFn/Uh8M7w3Gfp4hsLXLXhcPsH+VFO907VBaa7YfitcuobopNjg9IN85GaxXG/+XXCFJdd0EGs8aKkdCPQdR+XqYXEP7CuyJJlBtWsN+fcfpPpJQVQcwfq1zxCX3rqKGCpnyZ2AEuXTsRiUXq0Gqpxu0LYd0Xa0oB2XJGOWLH3K9PZfNSskzirlYyqlQCxstZc9NuGFj19p7Wh83LbXpBhVsZ8OmB/AKWnBvsZBw==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(376014)(7416014)(1800799024)(18002099003)(56012099003)(921020);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n yQA2Vw5hkbGbkbUFKt7Yme/xpTfPEBFUPBnAZmlSMM/P6jFPmn0UybWv4hrh/bJrQyNLueTzXmVkkSVEOpB765sJcgVvC8NQROsw3Y2T8nxh2GX+YunhTgXI3HW6UjOj4Pu7HT5CxEJA2L9msRjihWOy+s7UiGqguCsKc50uCnWIYY1gG5bMbhJ4aOuZinxVmnEcpjXj0tQ+tiEIe3bfFBNJmSTAg7yI0Z9c794rrtZaIOxBypCaziuKNzkcgEfB2LVKnHReF/H2C0Z65WvtY0GkUMrVuuC3634tH3DDM865BIsKOLPDp/z2GQNkzLI+TqL5xLutIXAY5X4sIz9mrfnoccJ03W1hHB44pbo5YbyDy9/AZu8LHb5iKlx5god/xgOsCS0HCZYC6d4NPQ2PD93sUGYgEhmnnpApgdi5nFXjyghVNcYQXgh6KNNMWOaDN/0Cbgoepv4mTGdg6PbXOSXrNR4LS+qtGrgg0Oxm8oLkEE9AadmxzzjCKzItwGcwSs6rHLHyo5x4VO2fOS8jdQmROJfGEwoCkwBu38yl53VqqdkSqSt+XGBTxopiLz5ZrKS1+lMAQYIiyzxxGPOGzXFfcDDhsnE7UbiuJvHs/dYMv+Mb8VBO7CQOUQRtWy+TbYOtEGnZwmVDxPKpewbBOPJr/tuZcvYW+AZaSQP62uoz0fO0W636t4YB0+4oElRSLHz3p/iCKohzT7WuRB/FAuRi68Q3fJAgQZFX4KXNocsbHk1HSIT0fWktXgRHJe2mrfHIda78SxljvmVh3lFR0c9NbirKKRPt0u2NFITf2ToeEmsWs6wnodarZJVP3ng+utM4HIM8BlZherZFVo4nvd7nww5heifqGL+29tqFwbI337WExtIiAWmIhhpOriWA3Hp9/AdcsJLmyE0dPUD61IbKi+Gz8XAAMzil5R6AdLBWnlHevGUe+8qXdwfAlK0NaFOTpIxypF/QeIyM+VtYdLQSjunvR8j35oXlUbuEBBoorvbS8ZZW8+7IcOOdBBrHtrP5zgaVE7uKFMUNngtem4RYN/mLKgCu3M1kvSXlfhLI8us1HVW+G/ohE9AdSu+dmzfHnfBkUN7ukUFoUAudMbKii+i5RH2OhzN8hy2e2vGqxEDry0E6RaIjdx+m4OC6Y4nZbfCUNCkxKVRwyP0ETQJR+7Au3OjJfjIllXXG9/xDW6a1hHLlwWwQZCzUtyQNgBYqbfzeX3mTMxjUyrthMf45SEl1Cs08OIIW9Ax5vJjl4cqNFJ1hiziF2qKLdA+c9KR4QV8j7tDdx46ddqeZt1/SfCa0JJQCADOQ+aksYxsgahr64kZ3u9u8KVqrNxr3fUXpdI+ZFDn9+yi5i5YYN/wQNSOiq1K5+IQgshPNeKvCblXi4yCHVMGQCNz/ERRcM0YLrnMoeDFHY6Z2C7nDjERlNyieBwdgpeMj2iZByY2jpNfy2hs6XRSVidJUWb2m7qpNPthA4HDjxk5k2XRD7HERVDE/OofkrvgcyNnEc6Q94wskKcDELz9d1i52zsNbOwMtkxGiup9cjKylbimnbtqae4rvnYtX/gJyaszIly0BUUXsNAYQC2CRvn1VtHeq4W7S+/E1tul5XTjkrSa+L73GXL15NXxtoqRu878lmEK8AtAyKxku7vCA8eCPPuP4MxEORWqRG9coS/t1U5X0aEfJ9pbHze/KAaKeJ/5IaU/4N3MGIGDP8L21cUmCrSFu",
        "X-OriginatorOrg": "garyguo.net",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n c5fd4b94-108d-4416-1fa6-08de8f5a5e50",
        "X-MS-Exchange-CrossTenant-AuthSource": "LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Mar 2026 19:19:02.6535 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "bbc898ad-b10f-4e10-8552-d9377b823d45",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n s9gGadWOiqh+iLMmiKmurmPDb2sTtZSptujQxtPhBDXF+F1x/gZjTmeRy5brqiqOVTLf6XEpQqcXwvEe2VOEHA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "LO2P265MB3609",
        "X-Mailman-Approved-At": "Tue, 31 Mar 2026 23:10:31 +0200",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "EFI variable OsIndications have a bit EFI_OS_INDICATIONS_BOOT_TO_FW_UI\nindicating that the OS (or next stage bootloader) requests booting into\nfirmware UI instead of continuing autoboot process.\n\nSupport it by having autoboot.c asking EFI bootmgr if boot should continue,\nwhich checks and clear the bit (so the next boot continue as normal).\n\nWith this change, systemd-boot will show a \"Reboot Into Firmware Interface\"\noption which will be able to drop back to u-boot. This can be useful if\nbootdelay is configured to be -2.\n\nSigned-off-by: Gary Guo <gary@garyguo.net>\n---\n common/autoboot.c            |  4 +++-\n include/efi_loader.h         |  2 ++\n lib/efi_loader/efi_bootmgr.c | 45 ++++++++++++++++++++++++++++++++++++\n lib/efi_loader/efi_setup.c   |  4 ++++\n 4 files changed, 54 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/common/autoboot.c b/common/autoboot.c\nindex 1783ef92c94c..b889407612dc 100644\n--- a/common/autoboot.c\n+++ b/common/autoboot.c\n@@ -11,6 +11,7 @@\n #include <cli.h>\n #include <command.h>\n #include <console.h>\n+#include <efi_loader.h>\n #include <env.h>\n #include <errno.h>\n #include <fdtdec.h>\n@@ -503,7 +504,8 @@ void autoboot_command(const char *s)\n {\n \tdebug(\"### main_loop: bootcmd=\\\"%s\\\"\\n\", s ? s : \"<UNDEFINED>\");\n \n-\tif (s && (stored_bootdelay == -2 ||\n+\tif (s && !(IS_ENABLED(CONFIG_EFI_BOOTMGR) && efi_should_abort_autoboot()) &&\n+\t    (stored_bootdelay == -2 ||\n \t\t (stored_bootdelay != -1 && !abortboot(stored_bootdelay)))) {\n \t\tbool lock;\n \t\tint prev;\ndiff --git a/include/efi_loader.h b/include/efi_loader.h\nindex 3e70ac070550..449697ad13b3 100644\n--- a/include/efi_loader.h\n+++ b/include/efi_loader.h\n@@ -583,6 +583,8 @@ efi_status_t efi_bootmgr_get_unused_bootoption(u16 *buf,\n efi_status_t efi_bootmgr_update_media_device_boot_option(void);\n /* Delete selected boot option */\n efi_status_t efi_bootmgr_delete_boot_option(u16 boot_index);\n+/* Check if autoboot should be aborted based on EFI vars */\n+bool efi_should_abort_autoboot(void);\n /* Invoke EFI boot manager */\n efi_status_t efi_bootmgr_run(void *fdt);\n /* search the boot option index in BootOrder */\ndiff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c\nindex a687f4d8e85c..39f255ac9de4 100644\n--- a/lib/efi_loader/efi_bootmgr.c\n+++ b/lib/efi_loader/efi_bootmgr.c\n@@ -1290,6 +1290,51 @@ out:\n \treturn ret;\n }\n \n+/**\n+ * efi_should_abort_autoboot() - check if autoboot should be aborted per EFI vars\n+ *\n+ * Return:\ttrue if autoboot should abort\n+ */\n+bool efi_should_abort_autoboot(void)\n+{\n+\tefi_status_t ret;\n+\tu64 os_indications = 0x0;\n+\tefi_uintn_t size;\n+\tefi_status_t r;\n+\n+\t/* Initialize EFI drivers */\n+\tret = efi_init_obj_list();\n+\tif (ret != EFI_SUCCESS) {\n+\t\tlog_err(\"Error: Cannot initialize UEFI sub-system, r = %lu\\n\",\n+\t\t\tret & ~EFI_ERROR_MASK);\n+\t\treturn false;\n+\t}\n+\n+\tsize = sizeof(os_indications);\n+\tr = efi_get_variable_int(u\"OsIndications\", &efi_global_variable_guid,\n+\t\t\t\t NULL, &size, &os_indications, NULL);\n+\tif (r != EFI_SUCCESS || size != sizeof(os_indications))\n+\t\treturn false;\n+\n+\tif (!(os_indications & EFI_OS_INDICATIONS_BOOT_TO_FW_UI))\n+\t\treturn false;\n+\n+\t/* Clear the BOOT_TO_FW_UI so next boot returns to normal */\n+\tos_indications &= ~EFI_OS_INDICATIONS_BOOT_TO_FW_UI;\n+\tr = efi_set_variable_int(u\"OsIndications\",\n+\t\t\t\t &efi_global_variable_guid,\n+\t\t\t\t EFI_VARIABLE_NON_VOLATILE |\n+\t\t\t\t EFI_VARIABLE_BOOTSERVICE_ACCESS |\n+\t\t\t\t EFI_VARIABLE_RUNTIME_ACCESS,\n+\t\t\t\t sizeof(os_indications),\n+\t\t\t\t &os_indications, false);\n+\n+\tif (r != EFI_SUCCESS)\n+\t\tlog_err(\"Setting %ls failed\\n\", L\"OsIndications\");\n+\n+\treturn true;\n+}\n+\n /**\n  * efi_bootmgr_run() - execute EFI boot manager\n  * @fdt:\tFlat device tree\ndiff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c\nindex f06cf49e4435..0ad02e9fe0dd 100644\n--- a/lib/efi_loader/efi_setup.c\n+++ b/lib/efi_loader/efi_setup.c\n@@ -156,6 +156,10 @@ static efi_status_t efi_init_os_indications(void)\n {\n \tu64 os_indications_supported = 0;\n \n+\tif (IS_ENABLED(CONFIG_EFI_BOOTMGR))\n+\t\tos_indications_supported |=\n+\t\t\tEFI_OS_INDICATIONS_BOOT_TO_FW_UI;\n+\n \tif (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))\n \t\tos_indications_supported |=\n \t\t\tEFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED;\n",
    "prefixes": []
}