Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Sep 2003 22:22:06 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 37807 for review
Message-ID:  <200309090522.h895M63X039641@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=37807

Change 37807 by marcel@marcel_nfs on 2003/09/08 22:21:28

	Patch 4: Grab the right DSDT pointer from the FACP. We still
	need to print the FACP right.

Affected files ...

.. //depot/projects/ia64/usr.sbin/acpi/acpidump/acpi.c#17 edit

Differences ...

==== //depot/projects/ia64/usr.sbin/acpi/acpidump/acpi.c#17 (text+ko) ====

@@ -85,13 +85,9 @@
 static void
 acpi_handle_facp(struct FACPbody *facp)
 {
-	struct	ACPIsdt *dsdp;
 
 	acpi_print_facp(facp);
-	dsdp = (struct ACPIsdt *)acpi_map_sdt(facp->dsdt_ptr);
-	if (acpi_checksum(dsdp, dsdp->len))
-		errx(1, "DSDT is corrupt");
-	acpi_print_dsdt(dsdp);
+	acpi_print_dsdt(dsdt_from_facp(facp));
 }
 
 static void
@@ -627,7 +623,11 @@
 {
 	struct	ACPIsdt *sdt;
 
-	sdt = (struct ACPIsdt *)acpi_map_sdt(facp->dsdt_ptr);
+	assert(addr_size > 0);
+
+	sdt = (addr_size == sizeof(uint32_t))
+	    ? (struct ACPIsdt *)acpi_map_sdt(facp->dsdt_ptr)
+	    : (struct ACPIsdt *)acpi_map_sdt(facp->x_dsdt);
 	if (acpi_checksum(sdt, sdt->len))
 		errx(1, "DSDT is corrupt\n");
 	return (sdt);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309090522.h895M63X039641>