On 12/19/23 14:41, Bin Meng wrote:
Hi Heinrich,

On Tue, Dec 19, 2023 at 8:25 PM Heinrich Schuchardt
<heinrich.schucha...@canonical.com> wrote:

Provide a configuration fragment to enable ACPI on QEMU.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
Reviewed-by: Simon Glass <s...@chromium.org>
---
v3:
         no change
v2:
         no change
---
  MAINTAINERS                         |  1 +
  board/emulation/configs/acpi.config |  3 +++
  doc/board/emulation/acpi.rst        | 23 +++++++++++++++++++++++
  doc/board/emulation/index.rst       |  1 +
  4 files changed, 28 insertions(+)
  create mode 100644 board/emulation/configs/acpi.config
  create mode 100644 doc/board/emulation/acpi.rst

diff --git a/MAINTAINERS b/MAINTAINERS
index 25f2bb80de..bf437b253b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -53,6 +53,7 @@ Maintainers List (try to look for most precise areas first)
  ACPI:
  M:     Simon Glass <s...@chromium.org>
  S:     Maintained
+F:     board/emulation/configs/acpi.config
  F:     cmd/acpi.c
  F:     lib/acpi/

diff --git a/board/emulation/configs/acpi.config 
b/board/emulation/configs/acpi.config
new file mode 100644
index 0000000000..b7ed811e33
--- /dev/null
+++ b/board/emulation/configs/acpi.config
@@ -0,0 +1,3 @@
+CONFIG_CMD_QFW=y
+CONFIG_ACPI=y
+CONFIG_GENERATE_ACPI_TABLE=y
diff --git a/doc/board/emulation/acpi.rst b/doc/board/emulation/acpi.rst
new file mode 100644
index 0000000000..e1208ca51e
--- /dev/null
+++ b/doc/board/emulation/acpi.rst
@@ -0,0 +1,23 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+ACPI on QEMU
+============
+
+QEMU can provide ACPI tables on ARM, RISC-V, and x86.

ACPI support on RISC-V landed on QEMU in a pretty recent version.
Would you mind documenting its version?

7da2fb240f97 ("hw/riscv/virt: Enable basic ACPI infrastructure") appeared first in QEMU v8.0.0.

f5d8c8cd792b ("hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM")
made it into QEMU v2.4.0


I haven't checked QEMU yet. Is ACPI default on in QEMU for Arm and
RISC-V virt? If not, we should document QEMU commands to enable ACPI.

It is enabled by default in the virt machine. You can switch it off with '-M virt,acpi=off'. See

[PATCH 1/1] docs/system/riscv: document acpi parameter of virt machine
https://lore.kernel.org/qemu-devel/20231219143829.8961-1-heinrich.schucha...@canonical.com/T/#u

Best regards

Heinrich


+
+The following settings are needed::
+
+    CONFIG_CMD_QFW=y
+    CONFIG_ACPI=y
+    CONFIG_GENERATE_ACPI_TABLE=y
+
+On x86 these settings are already included in the defconfig files. ARM and
+RISC-V default to use device-trees.
+
+Instead of updating the configuration manually you can add the configuration
+fragment `acpi.config` to the make command for initializing the configuration.
+E.g.
+
+.. code-block:: bash
+
+    make qemu-riscv64_smode_defconfig acpi.config
diff --git a/doc/board/emulation/index.rst b/doc/board/emulation/index.rst
index 932c65adeb..d3d6b8f3d8 100644
--- a/doc/board/emulation/index.rst
+++ b/doc/board/emulation/index.rst
@@ -6,6 +6,7 @@ Emulation
  .. toctree::
     :maxdepth: 1

+   acpi
     blkdev
     ../../usage/semihosting
     qemu-arm
--

Regards,
Bin

Reply via email to