On Tue, 21 Nov 2023 at 07:41, Heinrich Schuchardt <heinrich.schucha...@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.schucha...@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 <s...@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!