From patchwork Fri Apr 21 14:24:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 753445 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3w8dVj6vfbz9s2x for ; Sat, 22 Apr 2017 00:32:29 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="siJ7uYYD"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id 8A501C21D1B; Fri, 21 Apr 2017 14:26:25 +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=FREEMAIL_FROM, 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 CD1C4C21D2E; Fri, 21 Apr 2017 14:23:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BDED9C21BE5; Fri, 21 Apr 2017 14:21:43 +0000 (UTC) Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by lists.denx.de (Postfix) with ESMTPS id B9888C21D0E for ; Fri, 21 Apr 2017 14:21:39 +0000 (UTC) Received: by mail-wm0-f68.google.com with SMTP id u65so5169849wmu.3 for ; Fri, 21 Apr 2017 07:21:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=z7AqYrk8vqOM8woQr25Ed2E1qTiebQRoH3XX5pM26DQ=; b=siJ7uYYDn93rLF+VsaslINRt7RAWi8b/et3Kb/SoDudIbpqYwCFvAmHRJvjFG7nhPf PO2J+pJC+flVbk1un0zJ3Qr1//Cb5QpM4juV24LCoaSgRViPr0jruCwm10YQBc4h7F1j v+gCW5qRneOSCAFEWBzP+1ytCPzICCrqN0314K8gf9Ap0J8HAP8zLjNj6hFKn96Vp72H JWMyCl8UvRhdo5LwHSsJ7X1vQxFm86LCAxavVFTmM5rr719zxRZF3PvyeOmYd1bKMXCs 29EWkgCnKt63DDZQgYI+LViH1BEtuxh47Jm4JtExvtXBnWaaqUnBMs73nUt062t8qave G0uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=z7AqYrk8vqOM8woQr25Ed2E1qTiebQRoH3XX5pM26DQ=; b=NaFnkPBetF5zInrAT3T1RPR3bUsMySO9w3sJXdKBwqgLZiYL7c4ydxi/oX6zAEythE D1RR3ACyoDhFuryzjQir6bJiEwT18+FFCgX+R1kvatcxtxZBhMExQ05SFPbfyRzEKd9P oqQssFc3zMUcAV341DxNMWFFv0F3Yw0tD0odZFVbvK7ppRlv5m7ZrIQoi9AjIXYDGUct UcKD5nssK6LTbnMN7hTpPVomPtFm0jluUHqJ5qqF7Yxk7cRutxK4FW0b5GD9c1e9dHOx vDBkaYp/tqjyydaiofE7MNgWd6pzTBQpCaAdwiBI4HNaxsoxJueF6V4NE/ql+CACQN2C HQDQ== X-Gm-Message-State: AN3rC/6Q4XsFyLxSmAp5EuBWIV2kqzD2GS7RC+kXkr8BcG+IkDo3shLJ Dx+f/KOSsTpNEA== X-Received: by 10.80.144.203 with SMTP id d11mr58215eda.162.1492784499415; Fri, 21 Apr 2017 07:21:39 -0700 (PDT) Received: from ala-d2121-lx1.wrs.com (unknown-157-139.windriver.com. [147.11.157.139]) by smtp.gmail.com with ESMTPSA id 4sm464843edt.64.2017.04.21.07.21.37 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 21 Apr 2017 07:21:38 -0700 (PDT) From: Bin Meng To: Simon Glass , Stefan Roese , U-Boot Mailing List Date: Fri, 21 Apr 2017 07:24:49 -0700 Message-Id: <1492784689-15701-23-git-send-email-bmeng.cn@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1492784689-15701-1-git-send-email-bmeng.cn@gmail.com> References: <1492784689-15701-1-git-send-email-bmeng.cn@gmail.com> Subject: [U-Boot] [PATCH v2 22/22] x86: Document ACPI S3 support 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" Now that we have ACPI S3 support on Intel MinnowMax board, document some generic information of S3 and how to test it. Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- Changes in v2: - add some notes about testing S3 resume on Windows - rebase on u-boot/master doc/README.x86 | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/doc/README.x86 b/doc/README.x86 index a38cc1b..c69dc1c 100644 --- a/doc/README.x86 +++ b/doc/README.x86 @@ -1014,12 +1014,12 @@ compile ACPI DSDT table written in ASL format to AML format. You can get the compiler via "apt-get install iasl" if you are on Ubuntu or download the source from [17] to compile one by yourself. -Current ACPI support in U-Boot is not complete. More features will be added -in the future. The status as of today is: +Current ACPI support in U-Boot is basically complete. More optional features +can be added in the future. The status as of today is: * Support generating RSDT, XSDT, FACS, FADT, MADT, MCFG tables. * Support one static DSDT table only, compiled by Intel ACPI compiler. - * Support S0/S5, reboot and shutdown from OS. + * Support S0/S3/S4/S5, reboot and shutdown from OS. * Support booting a pre-installed Ubuntu distribution via 'zboot' command. * Support installing and booting Ubuntu 14.04 (or above) from U-Boot with the help of SeaBIOS using legacy interface (non-UEFI mode). @@ -1027,9 +1027,6 @@ in the future. The status as of today is: of SeaBIOS using legacy interface (non-UEFI mode). * Support ACPI interrupts with SCI only. -Features not supported so far (to make it a complete ACPI solution): - * S3 (Suspend to RAM), S4 (Suspend to Disk). - Features that are optional: * Dynamic AML bytecodes insertion at run-time. We may need this to support SSDT table generation and DSDT fix up. @@ -1046,6 +1043,21 @@ command from the OS. For other platform boards, ACPI support status can be checked by examining their board defconfig files to see if CONFIG_GENERATE_ACPI_TABLE is set to y. +The S3 sleeping state is a low wake latency sleeping state defined by ACPI +spec where all system context is lost except system memory. To test S3 resume +with a Linux kernel, simply run "echo mem > /sys/power/state" and kernel will +put the board to S3 state where the power is off. So when the power button is +pressed again, U-Boot runs as it does in cold boot and detects the sleeping +state via ACPI register to see if it is S3, if yes it means we are waking up. +U-Boot is responsible for restoring the machine state as it is before sleep. +When everything is done, U-Boot finds out the wakeup vector provided by OSes +and jump there. To determine whether ACPI S3 resume is supported, check to +see if CONFIG_HAVE_ACPI_RESUME is set for that specific board. + +Note for testing S3 resume with Windows, correct graphics driver must be +installed for your platform, otherwise you won't find "Sleep" option in +the "Power" submenu from the Windows start menu. + EFI Support ----------- U-Boot supports booting as a 32-bit or 64-bit EFI payload, e.g. with UEFI.