[PATCH v3 8/9] configs: qemu: add config fragment for ACPI

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Tue Dec 19 15:51:26 CET 2023


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



More information about the U-Boot mailing list