On 11/12/23 21:01, Simon Glass wrote:
On Sun, 12 Nov 2023 at 00:03, Heinrich Schuchardt
<[email protected]> 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.

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 <[email protected]>
---
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     | 48 +++++++++++++++++++++++++++++-------------------
  test/dm/acpi.c | 18 +++++++++---------
  2 files changed, 38 insertions(+), 28 deletions(-)

Reviewed-by: Simon Glass <[email protected]>

The patch does not consider that

    map_sysmem(0, 0) != NULL

on the sandbox.

list_rsdp() needs to be changed to pass rsdt or xsdt as NULL if rsdt_address or xsdt_address is zero when invoking list_rsdt().

So this needs a respin.

Best regards

Heinrich

Reply via email to