[coreboot] Patch set updated for coreboot: 1efff26 Fix warnings in coreboot utilities.

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Fri Mar 30 19:08:24 CEST 2012


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/752

-gerrit

commit 1efff2687bff946fd09d6f7f7d54419e3f70fe83
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Mon Nov 14 12:40:34 2011 -0800

    Fix warnings in coreboot utilities.
    
    - Fix some poor programming practice (breaks of strict aliasing as well
      as not checking the return value of read)
    - Use PRIx64 instead of %llx to prevent compilation warnings with both
      32bit and 64bit compilers
    - Use same compiler command options when linking inteltool and when
      detecting libpci for inteltool
    
    Change-Id: I08b2e8d1bbc908f6b1f26d25cb3a4b03d818e124
    Signed-off-by: Stefan Reinauer <reinauer at google.com>
---
 util/inteltool/Makefile        |    4 ++--
 util/inteltool/cpu.c           |    7 +++----
 util/inteltool/inteltool.c     |    4 +++-
 util/inteltool/memory.c        |    5 +++--
 util/inteltool/pcie.c          |    7 ++++---
 util/nvramtool/cli/nvramtool.c |    6 +++++-
 6 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/util/inteltool/Makefile b/util/inteltool/Makefile
index 6a01173..d754005 100644
--- a/util/inteltool/Makefile
+++ b/util/inteltool/Makefile
@@ -42,7 +42,7 @@ endif
 all: pciutils dep $(PROGRAM)
 
 $(PROGRAM): $(OBJS)
-	$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
+	$(CC) $(CFLAGS) -o $(PROGRAM) $(OBJS) $(LDFLAGS)
 
 clean:
 	rm -f $(PROGRAM) *.o *~
@@ -59,7 +59,7 @@ pciutils:
 		   printf "struct pci_access *pacc;\n";		\
 		   printf "int main(int argc, char **argv)\n";	\
 		   printf "{ pacc = pci_alloc(); return 0; }\n"; ) > .test.c )
-	@$(CC) $(CFLAGS) $(LDFLAGS) .test.c -o .test &>/dev/null &&	  \
+	@$(CC) $(CFLAGS) .test.c -o .test $(LDFLAGS) &>/dev/null &&	  \
 		printf "found.\n" || ( printf "not found.\n\n"; 	  \
 		printf "Please install pciutils-devel and zlib-devel.\n"; \
 		printf "See README for more information.\n\n";		  \
diff --git a/util/inteltool/cpu.c b/util/inteltool/cpu.c
index 20748bd..f018381 100644
--- a/util/inteltool/cpu.c
+++ b/util/inteltool/cpu.c
@@ -57,7 +57,7 @@ int msr_readerror = 0;
 
 msr_t rdmsr(int addr)
 {
-	uint8_t buf[8];
+	uint32_t buf[2];
 	msr_t msr = { 0xffffffff, 0xffffffff };
 
 	if (lseek(fd_msr, (off_t) addr, SEEK_SET) == -1) {
@@ -67,9 +67,8 @@ msr_t rdmsr(int addr)
 	}
 
 	if (read(fd_msr, buf, 8) == 8) {
-		msr.lo = *(uint32_t *)buf;
-		msr.hi = *(uint32_t *)(buf + 4);
-
+		msr.lo = buf[0];
+		msr.hi = buf[1];
 		return msr;
 	}
 
diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c
index 6b99605..e5c2b86 100644
--- a/util/inteltool/inteltool.c
+++ b/util/inteltool/inteltool.c
@@ -21,6 +21,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <inttypes.h>
 #include <getopt.h>
 #include <fcntl.h>
 #include <sys/mman.h>
@@ -99,7 +100,8 @@ void *map_physical(uint64_t phys_addr, size_t len)
 		    fd_mem, (off_t) phys_addr);
 
 	if (virt_addr == MAP_FAILED) {
-		printf("Error mapping physical memory 0x%08lx[0x%zx]\n", phys_addr, len);
+		printf("Error mapping physical memory 0x%08" PRIx64 "[0x%zx]\n",
+			phys_addr, len);
 		return NULL;
 	}
 
diff --git a/util/inteltool/memory.c b/util/inteltool/memory.c
index 9230419..18300ac 100644
--- a/util/inteltool/memory.c
+++ b/util/inteltool/memory.c
@@ -20,6 +20,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <inttypes.h>
 #include "inteltool.h"
 
 /*
@@ -130,9 +131,9 @@ int print_mchbar(struct pci_dev *nb, struct pci_access *pacc)
 	}
 
 	if (nb->device_id == PCI_DEVICE_ID_INTEL_82865)
-		printf("BAR6 = 0x%08llx (MEM)\n\n", mchbar_phys);
+		printf("BAR6 = 0x%08" PRIx64 " (MEM)\n\n", mchbar_phys);
 	else
-		printf("MCHBAR = 0x%08llx (MEM)\n\n", mchbar_phys);
+		printf("MCHBAR = 0x%08" PRIx64 " (MEM)\n\n", mchbar_phys);
 
 	for (i = 0; i < size; i += 4) {
 		if (*(uint32_t *)(mchbar + i))
diff --git a/util/inteltool/pcie.c b/util/inteltool/pcie.c
index 4913150..ea23835 100644
--- a/util/inteltool/pcie.c
+++ b/util/inteltool/pcie.c
@@ -19,6 +19,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <inttypes.h>
 #include "inteltool.h"
 
 /*
@@ -72,7 +73,7 @@ int print_epbar(struct pci_dev *nb)
 		exit(1);
 	}
 
-	printf("EPBAR = 0x%08llx (MEM)\n\n", epbar_phys);
+	printf("EPBAR = 0x%08" PRIx64 " (MEM)\n\n", epbar_phys);
 	for (i = 0; i < size; i += 4) {
 		if (*(uint32_t *)(epbar + i))
 			printf("0x%04x: 0x%08x\n", i, *(uint32_t *)(epbar+i));
@@ -135,7 +136,7 @@ int print_dmibar(struct pci_dev *nb)
 		exit(1);
 	}
 
-	printf("DMIBAR = 0x%08llx (MEM)\n\n", dmibar_phys);
+	printf("DMIBAR = 0x%08" PRIx64 " (MEM)\n\n", dmibar_phys);
 	for (i = 0; i < size; i += 4) {
 		if (*(uint32_t *)(dmibar + i))
 			printf("0x%04x: 0x%08x\n", i, *(uint32_t *)(dmibar+i));
@@ -213,7 +214,7 @@ int print_pciexbar(struct pci_dev *nb)
 		return 1;
 	}
 
-	printf("PCIEXBAR: 0x%08llx\n", pciexbar_phys);
+	printf("PCIEXBAR: 0x%08" PRIx64 "\n", pciexbar_phys);
 
 	pciexbar = map_physical(pciexbar_phys, (max_busses * 1024 * 1024));
 
diff --git a/util/nvramtool/cli/nvramtool.c b/util/nvramtool/cli/nvramtool.c
index 11a1a70..bcb10bb 100644
--- a/util/nvramtool/cli/nvramtool.c
+++ b/util/nvramtool/cli/nvramtool.c
@@ -143,7 +143,11 @@ int main(int argc, char *argv[])
 
 		if (fd_stat.st_size < 128) {
 			lseek(fd, 127, SEEK_SET);
-			write(fd, "\0", 1);
+			if (write(fd, "\0", 1) != 1) {
+				fprintf(stderr, "Unable to extended '%s' to its full size.\n",
+						nvramtool_op_modifiers[NVRAMTOOL_MOD_USE_CMOS_FILE].param);
+				exit(1);
+			}
 			fsync(fd);
 		}
 




More information about the coreboot mailing list