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