[PATCH v4 2/2] cmd: acpi: fix acpi list command

Simon Glass sjg at chromium.org
Wed Dec 13 21:39:05 CET 2023


On Tue, 21 Nov 2023 at 07:41, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> ACPI tables may comprise either RSDT, XSDT, or both. The current code fails
> to check the presence of the RSDT table before accessing it. This leads to
> an exception if the RSDT table is not provided.
>
> The XSDT table takes precedence over the RSDT table.
>
> The return values of list_rsdt() and list_rsdp() are always zero and not
> checked. Remove the return values.
>
> Addresses in the XSDT table are 64-bit. Adjust the output accordingly.
>
> As the RSDT table has to be ignored if the XSDT command is present there is
> no need to compare the tables in a display command. Anyway the
> specification does not require that the sequence of addresses in the RSDT
> and XSDT table are the same.
>
> The FACS table header does not provide revision information. Correct the
> description of dump_hdr().
>
> Adjust the ACPI test to match the changed output format of the 'acpi list'
> command.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> v4:
>         deduplicate code in list_rsdt()
> v3:
>         consider map_sysmem(0, 0) != NULL on the sandbox
>         adjust signature of list_rsdt() and list_rsdp()
> v2:
>         add unit test for offset of field Entry in RSDT, XSDT
>         merge patch 2 and 3
>         remove leading zeros from address output
> ---
>  cmd/acpi.c     | 64 +++++++++++++++++++++++++++-----------------------
>  test/dm/acpi.c | 18 +++++++-------
>  2 files changed, 43 insertions(+), 39 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

I really don't like using 16 characters for a 64-bit address. I wonder
if there is a better solution? But at least it is leading spaces, not
zeroes.

Applied to u-boot-dm/next, thanks!


More information about the U-Boot mailing list