Module Name:    src
Committed By:   cegger
Date:           Thu Aug 26 07:04:05 UTC 2010

Modified Files:
        src/usr.sbin/fwctl: fwcontrol.c

Log Message:
show crom:
Print calculated crc. When crc does not match then print expected crc.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/fwctl/fwcontrol.c

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/fwctl/fwcontrol.c
diff -u src/usr.sbin/fwctl/fwcontrol.c:1.9 src/usr.sbin/fwctl/fwcontrol.c:1.10
--- src/usr.sbin/fwctl/fwcontrol.c:1.9	Tue Aug 24 08:41:24 2010
+++ src/usr.sbin/fwctl/fwcontrol.c	Thu Aug 26 07:04:04 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwcontrol.c,v 1.9 2010/08/24 08:41:24 cegger Exp $	*/
+/*	$NetBSD: fwcontrol.c,v 1.10 2010/08/26 07:04:04 cegger Exp $	*/
 /*
  * Copyright (C) 2002
  * 	Hidetoshi Shimokawa. All rights reserved.
@@ -34,7 +34,7 @@
  */
 #include <sys/cdefs.h>
 //__FBSDID("$FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.c,v 1.23 2006/10/26 22:33:38 imp Exp $");
-__RCSID("$NetBSD: fwcontrol.c,v 1.9 2010/08/24 08:41:24 cegger Exp $");
+__RCSID("$NetBSD: fwcontrol.c,v 1.10 2010/08/26 07:04:04 cegger Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -401,6 +401,15 @@
 }
 
 static void
+show_crc(uint16_t crc, uint16_t good_crc)
+{
+	if (crc == good_crc)
+		printf("(OK)\n");
+	else
+		printf("(NG, 0x%x)\n", good_crc);
+}
+
+static void
 show_crom(uint32_t *crom_buf)
 {
 	int i;
@@ -422,16 +431,13 @@
 	if (hdr->info_len == 1) {
 		/* minimum ROM */
 		reg = (struct csrreg *)hdr;
-		printf("verndor ID: 0x%06x\n",  reg->val);
+		printf("vendor ID: 0x%06x\n", reg->val);
 		return;
 	}
-	printf("info_len=%d crc_len=%d crc=0x%04x",
-		hdr->info_len, hdr->crc_len, hdr->crc);
 	crc = crom_crc(crom_buf+1, hdr->crc_len);
-	if (crc == hdr->crc)
-		printf("(OK)\n");
-	else
-		printf("(NG)\n");
+	printf("info_len=%d crc_len=%d crc=0x%04x ",
+		hdr->info_len, hdr->crc_len, crc);
+	show_crc(crc, hdr->crc);
 	parse_bus_info_block(crom_buf+1);
 
 	crom_init_context(&cc, crom_buf);
@@ -440,13 +446,10 @@
 		printf("no root directory - giving up\n");
 		return;
 	}
-	printf("root_directory: len=0x%04x(%d) crc=0x%04x",
-			dir->crc_len, dir->crc_len, dir->crc);
 	crc = crom_crc((uint32_t *)&dir->entry[0], dir->crc_len);
-	if (crc == dir->crc)
-		printf("(OK)\n");
-	else
-		printf("(NG)\n");
+	printf("root_directory: len=0x%04x(%d) crc=0x%04x ",
+			dir->crc_len, dir->crc_len, crc);
+	show_crc(crc, dir->crc);
 	if (dir->crc_len < 1)
 		return;
 	while (cc.depth >= 0) {

Reply via email to