From patchwork Wed Dec 2 15:22:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1409790 X-Patchwork-Delegate: sjg@chromium.org 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=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=gHzVSSqH; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (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 4CmN4v0zRjz9sRK for ; Thu, 3 Dec 2020 02:22:39 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A1754825A1; Wed, 2 Dec 2020 16:22:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de 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; secure) header.d=gmx.net header.i=@gmx.net header.b="gHzVSSqH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 813FE8269C; Wed, 2 Dec 2020 16:22:31 +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=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B26C6822C7 for ; Wed, 2 Dec 2020 16:22:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1606922546; bh=abllI7zgvtdfvhHyAOg9p41h68mje5oPnXAIP7xeZho=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=gHzVSSqHoj3f4rbIb1fYzdhRfzuD5Rc/jcf4x2uTBW52zsFFBuA1tVLJMp9VwIRAV GHu/dnulxMYCZLjRv/NVu7pzU2IuROAaaNpDtIoK3wbPR8opTtGHez9xAiQhyn8e55 4tUgA/kCXJsreT58KCUOcq+AeDHvr+5kQdj6CbjY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from workstation5.fritz.box ([62.143.246.89]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MMofc-1kRrBG2rpc-00Iibv; Wed, 02 Dec 2020 16:22:26 +0100 From: Heinrich Schuchardt To: Simon Glass Cc: Alexander Graf , Anatolij Gustschin , Sean Anderson , u-boot@lists.denx.de, Heinrich Schuchardt Subject: [PATCH 1/1] sandbox: implement runtime system reset Date: Wed, 2 Dec 2020 16:22:11 +0100 Message-Id: <20201202152211.486380-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-Provags-ID: V03:K1:VCbXadkQJ9frFE5c+ECHYLiqva80IGNzxxnxP21sV0FU26NPB7G OXknZeuLz3CCbRRBsAhSkpS2kbpOm5SpJos3kaK/vaaXvUBA5GcD78gW4/O3lJQYY5xTUN0 d2dBlhcCjsBd2SLkUFa3Wi/cBffLKQPa6VpmYQ1iUk79Fau/49zP0VyEx10Qt3lONkSO7W8 lowPH9EuybEOULBy4reMQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:ljQNSflCuGI=:WttS0kWvClzycL3S/gQw+h y788mVPlgcUXtV6jboACBo3f0oA1LpJdkAWbIrMMjDd1q/Tryktf3UJH6ibO7jAZ63zdYNxuX ywTsH1x81vhoihPIkbVRW5XnvWBe6URdmgclTFwNdIrq8tcFcp0OpEb9QzOKCuG2zqH0LQ3aC qJJQfj1zhSc1JxUyw9CopyEPg9PKY8yCiyyytdMdiDmXZh4ps3iFpx50Qq/WfCvggHwMBx2yi 2cTrvcbydmnVernM+kdWfshKtWHQ3QPMGta0Ft8eNfjNyanvByCGgUX1BUosa4/VK+XY/XUQh /yl/uqwe/R86NmBoHy3M2LJoQBiMFQUV94Fd+IbIhL81tcCG4GB46JyPBLSgCuyjN7ehcLFYN Sno5vJSXGvB0Lb1KOsFx9IzDYkesGaGcnGalHr4soFjbR8yYDuBJpGUTTL2jfuM8y3Keflr2U 5strr7jU9I1ydAR6Iat+TCgYnO0PoZ9nleQGm58mzkVVCdWvzP7gh8+wfqwu7CGkKohYbDOPk JWttmqMWLm0iwQ2zSELt7bjbjND+qLX3WL6lz/Lkj/2VQvuROZHsl7ttqwZRjRTAMqBAbFi+U 2MBhRFzcjPr8OEgyvNGGzZN/1TI6IO3uR91JgC+ZniojOZd1DgsvcxtxeNq2qW55/TGmZqIE+ fuZunoK3mS3doZqd1IRzbBKfjJvqc+tDo9PavoS6E3mfHiX8IdNCrt35N2cFG2RdCARl1tgf4 6dgVKw3Wi1RWtFLqx6JJfrNymGM0dTrxhA0uWf9o93dt38rYzGzTOk2jyxhGFkeMzMKZTt5ir rnKJTAeBgYArdJgnoPuRmvpZB3L/VmYzDXn6J57DauaevqCtmysn3CazX7dSQc7fks4Xii6w/ j+lTbmaWutGDFaHolCwg== 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.3 at phobos.denx.de X-Virus-Status: Clean Implement a reset function that we can call after ExitBootServices(), when all driver model devices are gone. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- arch/sandbox/cpu/start.c | 10 ++++++++++ lib/efi_loader/Kconfig | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) -- 2.29.2 diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index a03e5aa0b3..cd324767d0 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -406,6 +407,15 @@ void state_show(struct sandbox_state *state) printf("\n"); } +void __efi_runtime EFIAPI efi_reset_system( + enum efi_reset_type reset_type, + efi_status_t reset_status, + unsigned long data_size, void *reset_data) +{ + os_fd_restore(); + os_relaunch(os_argv); +} + void sandbox_reset(void) { /* Do this here while it still has an effect */ diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index 7fd3a3c90c..31da8800e0 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -165,7 +165,8 @@ config EFI_HAVE_RUNTIME_RESET # bool "Reset runtime service is available" bool default y - depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86 + depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || \ + SANDBOX || SYSRESET_X86 config EFI_GRUB_ARM32_WORKAROUND bool "Workaround for GRUB on 32bit ARM"