Module Name: src Committed By: jmcneill Date: Thu Feb 17 10:18:05 UTC 2011
Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c acpidump.c acpidump.h Log Message: - when dumping table bytes, make sure to dump our header and not the next one - also dump tables with bad checksums, unless the -s flag is specified To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/acpitools/acpidump/acpi.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/acpitools/acpidump/acpidump.c \ src/usr.sbin/acpitools/acpidump/acpidump.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.7 src/usr.sbin/acpitools/acpidump/acpi.c:1.8 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.7 Thu Feb 17 02:55:16 2011 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Feb 17 10:18:05 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.7 2011/02/17 02:55:16 jmcneill Exp $ */ +/* $NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: acpi.c,v 1.7 2011/02/17 02:55:16 jmcneill Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $"); #include <sys/param.h> #include <sys/endian.h> @@ -1884,9 +1884,11 @@ { printf(" "); acpi_print_string(sdp->Signature, ACPI_NAME_SIZE); - printf(": Length=%d, Revision=%d, Checksum=%d,\n", + printf(": Length=%d, Revision=%d, Checksum=%d", sdp->Length, sdp->Revision, sdp->Checksum); - printf("\tOEMID="); + if (acpi_checksum(sdp, sdp->Length)) + printf(" (Incorrect)"); + printf(",\n\tOEMID="); acpi_print_string(sdp->OemId, ACPI_OEM_ID_SIZE); printf(", OEM Table ID="); acpi_print_string(sdp->OemTableId, ACPI_OEM_TABLE_ID_SIZE); @@ -1902,7 +1904,7 @@ unsigned int i; uint8_t *p; - p = (uint8_t *)sdp + sizeof(*sdp); + p = (uint8_t *)sdp; printf("\n\tData={"); for (i = 0; i < sdp->Length; i++) { if (cflag) { @@ -2221,7 +2223,8 @@ if (acpi_checksum(sdp, sdp->Length)) { warnx("RSDT entry %d (sig %.4s) is corrupt", i, sdp->Signature); - continue; + if (sflag) + continue; } if (!memcmp(sdp->Signature, ACPI_SIG_FADT, 4)) acpi_handle_fadt(sdp); Index: src/usr.sbin/acpitools/acpidump/acpidump.c diff -u src/usr.sbin/acpitools/acpidump/acpidump.c:1.3 src/usr.sbin/acpitools/acpidump/acpidump.c:1.4 --- src/usr.sbin/acpitools/acpidump/acpidump.c:1.3 Thu Feb 17 02:55:16 2011 +++ src/usr.sbin/acpitools/acpidump/acpidump.c Thu Feb 17 10:18:05 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: acpidump.c,v 1.3 2011/02/17 02:55:16 jmcneill Exp $ */ +/* $NetBSD: acpidump.c,v 1.4 2011/02/17 10:18:05 jmcneill Exp $ */ /*- * Copyright (c) 2000 Mitsuru IWASAKI <iwas...@freebsd.org> @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: acpidump.c,v 1.3 2011/02/17 02:55:16 jmcneill Exp $"); +__RCSID("$NetBSD: acpidump.c,v 1.4 2011/02/17 10:18:05 jmcneill Exp $"); #include <sys/param.h> @@ -42,18 +42,19 @@ #include "acpidump.h" +int cflag; /* Dump unknown table data as characters */ int dflag; /* Disassemble AML using iasl(8) */ +int sflag; /* Skip tables with bad checksums */ int tflag; /* Dump contents of SDT tables */ int vflag; /* Use verbose messages */ -int cflag; /* Dump unknown table data as characters */ static void usage(void) { const char *progname = getprogname(); - fprintf(stderr, "usage: %s [-c] [-d] [-t] [-h] [-v] [-f dsdt_input] " - "[-o dsdt_output]\n", progname); + fprintf(stderr, "usage: %s [-c] [-d] [-s] [-t] [-h] [-v] " + "[-f dsdt_input] [-o dsdt_output]\n", progname); fprintf(stderr, "To send ASL:\n\t%s -dt | gzip -c9 > foo.asl.gz\n", progname); exit(EXIT_FAILURE); @@ -79,6 +80,9 @@ case 'd': dflag = 1; break; + case 's': + sflag = 1; + break; case 't': tflag = 1; break; Index: src/usr.sbin/acpitools/acpidump/acpidump.h diff -u src/usr.sbin/acpitools/acpidump/acpidump.h:1.3 src/usr.sbin/acpitools/acpidump/acpidump.h:1.4 --- src/usr.sbin/acpitools/acpidump/acpidump.h:1.3 Thu Feb 17 02:55:16 2011 +++ src/usr.sbin/acpitools/acpidump/acpidump.h Thu Feb 17 10:18:05 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: acpidump.h,v 1.3 2011/02/17 02:55:16 jmcneill Exp $ */ +/* $NetBSD: acpidump.h,v 1.4 2011/02/17 10:18:05 jmcneill Exp $ */ /*- * Copyright (c) 1999 Doug Rabson @@ -83,6 +83,7 @@ /* Command line flags */ extern int cflag; extern int dflag; +extern int sflag; extern int tflag; extern int vflag;