From owner-p4-projects@FreeBSD.ORG Mon Sep 8 22:22:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78D2716A4C1; Mon, 8 Sep 2003 22:22:08 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C43D16A4BF for ; Mon, 8 Sep 2003 22:22:08 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF6C543F75 for ; Mon, 8 Sep 2003 22:22:06 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h895M60U039644 for ; Mon, 8 Sep 2003 22:22:06 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h895M63X039641 for perforce@freebsd.org; Mon, 8 Sep 2003 22:22:06 -0700 (PDT) Date: Mon, 8 Sep 2003 22:22:06 -0700 (PDT) Message-Id: <200309090522.h895M63X039641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 37807 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 05:22:09 -0000 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);