Subject: ACPI: Check whether XSDT exists before dump ACPI tables
From: Zhao Yakui <[EMAIL PROTECTED]>

The acpidump tool of 20070714 version has some problems on some
machines.First it will first search XSDT table to
dump ACPI tables. If XSDT exists it will continue search RSDT and
only dump ACPI info that doesn't be dumped through XSDT.
But if XSDT doesn't exist it will report that ACPI tables
can't be found and exit.

So it is necessary to first check whether XSDT table exists.
If XSDT exists(Not check the integrity of XSDT), it will be used to dump
ACPI tables. Otherwise RSDT table will be used.


Signed-off-by: Zhao Yakui  <[EMAIL PROTECTED]>
---
 acpidump/acpidump.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Index: pmtools-20070714/acpidump/acpidump.c
===================================================================
--- pmtools-20070714.orig/acpidump/acpidump.c
+++ pmtools-20070714/acpidump/acpidump.c
@@ -521,8 +521,11 @@ int main(int argc, char **argv)
        if (connect) {
                lseek(fd, sizeof(struct acpi_rsdp_descriptor), SEEK_SET);
        }
-       if (!acpi_dump_XSDT(fd, &rsdpx))
-               goto not_found;
+       if (rsdpx.revision > 1 && rsdpx.xsdt_physical_address) {
+               /* ACPIDUMP uses xsdt table */
+               if (!acpi_dump_XSDT(fd, &rsdpx))
+                       goto not_found;
+       }
        if (!acpi_dump_RSDT(fd, &rsdpx))
                goto not_found;
        if (connect) {
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to