public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Bin Meng <bmeng.cn@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 28/28] x86: doc: Document ACPI support
Date: Sat,  7 May 2016 07:46:37 -0700	[thread overview]
Message-ID: <1462632397-11224-29-git-send-email-bmeng.cn@gmail.com> (raw)
In-Reply-To: <1462632397-11224-1-git-send-email-bmeng.cn@gmail.com>

Remove ACPI from the TODO list and add a new section to document
current ACPI support in U-Boot.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

---

Changes in v2:
- Update ACPI support status in more details: what's supported,
  what's not supported, what's optional.

 doc/README.x86 | 44 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/doc/README.x86 b/doc/README.x86
index 732d375..ce806ee 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -958,12 +958,52 @@ transformations. Remember to add attribution to coreboot for new files added
 to U-Boot. This should go at the top of each file and list the coreboot
 filename where the code originated.
 
+ACPI Support Status
+-------------------
+Advanced Configuration and Power Interface (ACPI) [16] aims to establish
+industry-standard interfaces enabling OS-directed configuration, power
+management, and thermal management of mobile, desktop, and server platforms.
+
+Linux can boot without ACPI with "acpi=off" command line parameter, but
+with ACPI the kernel gains the capabilities to handle power management.
+For Windows, ACPI is a must-have firmware feature since Windows Vista.
+CONFIG_GENERATE_ACPI_TABLE is the config option to turn on ACPI support in
+U-Boot. This requires Intel ACPI compiler to be installed on your host to
+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:
+
+ * 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 booting a pre-installed Ubuntu distribution via 'zboot' command.
+ * 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).
+ * Install and boot Ubuntu 14.04 (or above) from U-Boot with legacy interface.
+ * Install and boot Windows 8.1/10 from U-Boot with legacy interface.
+
+Features that are optional:
+ * ACPI global NVS support. We may need it to simplify ASL code logic if
+   utilizing NVS variables. Most likely we will need this sooner or later.
+ * Dynamic AML bytecodes insertion at run-time. We may need this to support
+   SSDT table generation and DSDT fix up.
+ * SMI support. Since U-Boot is a modern bootloader, we don't want to bring
+   those legacy stuff into U-Boot. ACPI spec allows a system that does not
+   support SMI (a legacy-free system).
+
+So far ACPI is enabled on BayTrail based boards. Testing was done by booting
+a pre-installed Ubuntu 14.04 from a SATA drive. Most devices seem to work
+correctly and the board can respond a reboot/shutdown command from Ubuntu.
 
 TODO List
 ---------
 - Audio
 - Chrome OS verified boot
-- SMI and ACPI support, to provide platform info and facilities to Linux
 
 References
 ----------
@@ -982,3 +1022,5 @@ References
 [13] http://events.linuxfoundation.org/sites/events/files/slides/elce-2014.pdf
 [14] http://www.seabios.org/SeaBIOS
 [15] doc/device-tree-bindings/misc/intel,irq-router.txt
+[16] http://www.acpi.info
+[17] https://www.acpica.org/downloads
-- 
1.8.2.1

  parent reply	other threads:[~2016-05-07 14:46 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-07 14:46 [U-Boot] [PATCH v2 00/28] x86: Initial ACPI support for Intel BayTrail Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 01/28] x86: Drop asm/acpi.h Bin Meng
2016-05-07 18:45   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 02/28] x86: Fix build warning in tables.c when CONFIG_SEABIOS Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 03/28] x86: acpi: Fix compiler warnings in write_acpi_tables() Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 04/28] x86: irq: Reserve IRQ9 for ACPI in PIC mode Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 05/28] x86: irq: Enable SCI on IRQ9 Bin Meng
2016-05-08  8:17   ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 06/28] x86: dts: Update to include ACTL register details Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 07/28] acpi: Change build log for ASL files Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:17     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 08/28] acpi: Explicitly spell out dsdt.c in the make rule Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 09/28] acpi: Specify U-Boot include path for ASL files Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 10/28] acpi: Output all errors/warnings/remarks when compiling ASL Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 11/28] x86: acpi: Remove unused codes Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 12/28] x86: acpi: Various changes to acpi_table.h Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 13/28] x86: acpi: Reorder code in acpi_table.h Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 14/28] x86: acpi: Remove acpi_create_ssdt_generator() Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 15/28] x86: acpi: Change fill_header() Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 16/28] x86: acpi: Adjust order in acpi_table.c Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 17/28] x86: acpi: Use u32 in table write routines Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  4:26     ` Bin Meng
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 18/28] x86: acpi: Align FACS table to a 64 byte boundary Bin Meng
2016-05-07 18:46   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 19/28] x86: acpi: Clean up table header revisions Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 20/28] x86: acpi: Add some generic ASL libraries Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:18     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 21/28] x86: acpi: Return table length in acpi_create_madt_lapics() Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 22/28] x86: baytrail: Add platform ASL files Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 23/28] x86: baytrail: Generate ACPI FADT/MADT tables Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 24/28] x86: baytrail: Enable ACPI table generation for all boards Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 25/28] x86: baytrail: Add .gitignore for ACPI enabled boards Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 26/28] x86: Remove acpi=off boot parameter when ACPI is on Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` [U-Boot] [PATCH v2 27/28] x86: doc: Minor update for accuracy Bin Meng
2016-05-07 18:47   ` Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 14:46 ` Bin Meng [this message]
2016-05-07 18:47   ` [U-Boot] [PATCH v2 28/28] x86: doc: Document ACPI support Simon Glass
2016-05-08  8:19     ` Bin Meng
2016-05-07 18:45 ` [U-Boot] [PATCH v2 00/28] x86: Initial ACPI support for Intel BayTrail Simon Glass
2016-05-08  1:27   ` Bin Meng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1462632397-11224-29-git-send-email-bmeng.cn@gmail.com \
    --to=bmeng.cn@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox