Author: myles Date: 2009-05-08 21:39:15 +0200 (Fri, 08 May 2009) New Revision: 4262
Modified: trunk/coreboot-v2/util/cbfstool/Makefile trunk/coreboot-v2/util/cbfstool/add.c trunk/coreboot-v2/util/cbfstool/cbfstool.c trunk/coreboot-v2/util/cbfstool/cbfstool.h trunk/coreboot-v2/util/cbfstool/create.c trunk/coreboot-v2/util/cbfstool/extract.c trunk/coreboot-v2/util/cbfstool/fs.c trunk/coreboot-v2/util/cbfstool/print.c trunk/coreboot-v2/util/cbfstool/resize.c trunk/coreboot-v2/util/cbfstool/tools/Makefile Log: Add -Werror to help us keep the code clean. Change sizes from unsigned int to int. Clean up some usage and parameter checking.
Signed-off-by: Myles Watson mylesgw@gmail.com Acked-by: Ronald G. Minnich rminnich@gmail.com
Modified: trunk/coreboot-v2/util/cbfstool/Makefile =================================================================== --- trunk/coreboot-v2/util/cbfstool/Makefile 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/Makefile 2009-05-08 19:39:15 UTC (rev 4262) @@ -9,7 +9,7 @@ INC=cbfstool.h cbfs.h
CC=gcc -CFLAGS=-g -Wall # -W -Werror +CFLAGS=-g -Wall -W -Werror
DESTDIR ?= /usr/local/bin
Modified: trunk/coreboot-v2/util/cbfstool/add.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/add.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/add.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -205,25 +205,25 @@
void add_usage(void) { - printf("add [FILE] [NAME] [TYPE]\tAdd a component\n"); + printf("add FILE NAME TYPE\tAdd a component\n"); }
void add_stage_usage(void) { - printf("add-stage [FILE] [NAME] [OPTIONS]\tAdd a stage to the ROM\n"); + printf("add-stage FILE NAME [OPTIONS]\tAdd a stage to the ROM\n"); }
void add_payload_usage(void) { printf - ("add-payload [FILE] [NAME] [OPTIONS]\tAdd a payload to the ROM\n"); + ("add-payload FILE NAME [OPTIONS]\tAdd a payload to the ROM\n"); }
int add_handler(struct rom *rom, int argc, char **argv) { unsigned int type = CBFS_COMPONENT_NULL;
- if (argc < 2) { + if (argc != 3) { add_usage(); return -1; } @@ -235,15 +235,13 @@
/* There are two ways to specify the type - a string or a number */
- if (argc == 3) { - if (isdigit(*(argv[2]))) - type = strtoul(argv[2], 0, 0); + if (isdigit(*(argv[2]))) + type = strtoul(argv[2], 0, 0); + else { + ERROR("String types (%s) aren't implemented yet.\n", argv[2]); + return -1; }
- if (type == CBFS_COMPONENT_NULL) - WARN("No file type was given for %s - using default\n", - argv[0]); - return add_blob(rom, argv[0], argv[1], type); }
Modified: trunk/coreboot-v2/util/cbfstool/cbfstool.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/cbfstool.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/cbfstool.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -66,7 +66,7 @@ "extract", extract_handler, extract_usage}, { "print", print_handler, print_usage}, { "resize", resize_handler, resize_usage}, { -"", NULL},}; +"", NULL, NULL},};
static struct rom rom;
Modified: trunk/coreboot-v2/util/cbfstool/cbfstool.h =================================================================== --- trunk/coreboot-v2/util/cbfstool/cbfstool.h 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/cbfstool.h 2009-05-08 19:39:15 UTC (rev 4262) @@ -67,15 +67,15 @@
/* fs.c */
-struct cbfs_file *rom_find(struct rom *rom, unsigned int offset); +struct cbfs_file *rom_find(struct rom *rom, int offset); struct cbfs_file *rom_find_first(struct rom *); struct cbfs_file *rom_find_next(struct rom *, struct cbfs_file *); int rom_add(struct rom *rom, const char *name, void *, int size, int type); int rom_set_header(struct rom *rom, struct cbfs_file *c, const char*name, int size, int type); -int rom_extract(struct rom *rom, const char *name, void **buf, unsigned long *size); +int rom_extract(struct rom *rom, const char *name, void **buf, int *size); int rom_remove(struct rom *rom, const char *name); -unsigned int rom_used_space(struct rom *rom); +int rom_used_space(struct rom *rom); int rom_exists(struct rom *rom);
#endif
Modified: trunk/coreboot-v2/util/cbfstool/create.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/create.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/create.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -24,7 +24,7 @@
void create_usage(void) { - printf("create SIZE BOOTBLOCKSIZE [ALIGN] [BOOTBLOCK]\tCreate a ROM file\n"); + printf("create SIZE BOOTBLOCKSIZE BOOTBLOCK [ALIGN]\tCreate a ROM file\n"); }
int create_handler(struct rom *rom, int argc, char **argv) @@ -33,7 +33,7 @@ char *bootblock = NULL; int bootblocksize;
- if (argc < 2) { + if (argc < 3) { create_usage(); return -1; } @@ -42,11 +42,10 @@
bootblocksize = get_size(argv[1]);
- if (argc == 3) { - bootblock = argv[2]; - } else if (argc >= 4) { - align = strtoul(argv[2], NULL, 0); - bootblock = argv[3]; + bootblock = argv[2]; + + if (argc >= 4) { + align = strtoul(argv[3], NULL, 0); }
if (size < bootblocksize) {
Modified: trunk/coreboot-v2/util/cbfstool/extract.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/extract.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/extract.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -28,7 +28,7 @@ { void *buf; int fd, ret; - unsigned long size; + int size;
ret = rom_extract(rom, name, &buf, &size);
@@ -43,7 +43,7 @@ }
if (write(fd, buf, size) != size) { - ERROR("Couldn't write %ld bytes!\n", size); + ERROR("Couldn't write %d bytes!\n", size); ret = -1; }
Modified: trunk/coreboot-v2/util/cbfstool/fs.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/fs.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/fs.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -152,7 +152,7 @@ return ((struct cbfs_file *)ROM_PTR(rom, ret)); }
-struct cbfs_file *rom_find(struct rom *rom, unsigned int offset) +struct cbfs_file *rom_find(struct rom *rom, int offset) { while (offset < rom->fssize) { struct cbfs_file *c = @@ -195,7 +195,7 @@ return NULL; }
-unsigned int rom_used_space(struct rom *rom) +int rom_used_space(struct rom *rom) { struct cbfs_file *c = rom_find_first(rom); unsigned int ret = 0; @@ -235,7 +235,7 @@ return 0; }
-int rom_extract(struct rom *rom, const char *name, void** buf, unsigned long *size ) +int rom_extract(struct rom *rom, const char *name, void** buf, int *size ) { struct cbfs_file *c = rom_find_by_name(rom, name); unsigned int csize; @@ -265,8 +265,8 @@ int rom_add(struct rom *rom, const char *name, void *buffer, int size, int type) { struct cbfs_file *c = rom_alloc(rom, size); - unsigned int offset; - unsigned int csize; + int offset; + int csize;
if (rom_find_by_name(rom, name)) { ERROR("Component %s already exists in this rom\n", name);
Modified: trunk/coreboot-v2/util/cbfstool/print.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/print.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/print.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -27,6 +27,9 @@
int print_handler(struct rom *rom, int argc, char **argv) { + if (argc > 0 || argv[1] != NULL) + printf("print\t\t\t\tShow the contents of the ROM\n"); + printf("%s: %d kB, bootblocksize %d, romsize %d, offset 0x%x\n", rom->name, rom->size / 1024, ntohl(rom->header->bootblocksize), ntohl(rom->header->romsize), ntohl(rom->header->offset)); printf("Alignment: %d bytes\n\n", ntohl(rom->header->align)); @@ -48,6 +51,9 @@ case CBFS_COMPONENT_OPTIONROM: strcpy(type, "optionrom"); break; + case CBFS_COMPONENT_NULL: + strcpy(type, "free"); + break; default: sprintf(type, "0x%8.8x", htonl(c->type)); break;
Modified: trunk/coreboot-v2/util/cbfstool/resize.c =================================================================== --- trunk/coreboot-v2/util/cbfstool/resize.c 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/resize.c 2009-05-08 19:39:15 UTC (rev 4262) @@ -32,7 +32,8 @@
int resize_handler(struct rom *rom, int argc, char **argv) { - unsigned int size, align, offset; + unsigned int align, offset; + int size; char null = '\0'; int bootblocksize = ntohl(rom->header->bootblocksize);
Modified: trunk/coreboot-v2/util/cbfstool/tools/Makefile =================================================================== --- trunk/coreboot-v2/util/cbfstool/tools/Makefile 2009-05-08 19:23:00 UTC (rev 4261) +++ trunk/coreboot-v2/util/cbfstool/tools/Makefile 2009-05-08 19:39:15 UTC (rev 4262) @@ -1,6 +1,8 @@ tobj ?= $(shell pwd) tsrc ?= $(shell pwd)
+CFLAGS=-g -Wall + TARGETS += $(tobj)/cbfs-mkstage $(tobj)/cbfs-mkpayload
tools: $(tobj)/cbfs-mkstage $(tobj)/cbfs-mkpayload