
On 12/19/23 14:41, Bin Meng wrote:
Hi Heinrich,
On Tue, Dec 19, 2023 at 8:25 PM Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
Provide a configuration fragment to enable ACPI on QEMU.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com Acked-by: Ilias Apalodimas ilias.apalodimas@linaro.org Reviewed-by: Simon Glass sjg@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 sjg@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.schuchardt...
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