Hung-Te Lin (hun...@chromium.org) just uploaded a new patch set to gerrit, 
which you can find at http://review.coreboot.org/2196

-gerrit

commit 64e4f58f066a6c771f1c27fff600accb90ba1692
Author: Hung-Te Lin <hun...@chromium.org>
Date:   Mon Jan 28 14:39:43 2013 +0800

    cbfstool: Enable -v (verbose) output.
    
    Added -v (verbose) to every commands, and allowing debug messages.
    
    Example:
        cbfstool coreboot.rom print -v
        cbfstool coreboot.rom add -f file -n file -t raw -v -v
    
    Change-Id: I167617da1a6eea2b07075b0eb38e3c9d85ea75dc
    Signed-off-by: Hung-Te Lin <hun...@chromium.org>
---
 util/cbfstool/cbfs-mkpayload.c |   4 +-
 util/cbfstool/cbfs-mkstage.c   |  10 ++--
 util/cbfstool/cbfstool.c       | 110 ++++++++++++++++++++---------------------
 util/cbfstool/common.c         |  90 ++++++++++++++++-----------------
 util/cbfstool/common.h         |   8 +++
 util/cbfstool/compress.c       |   2 +-
 6 files changed, 114 insertions(+), 110 deletions(-)

diff --git a/util/cbfstool/cbfs-mkpayload.c b/util/cbfstool/cbfs-mkpayload.c
index 0d3986e..fc119d2 100644
--- a/util/cbfstool/cbfs-mkpayload.c
+++ b/util/cbfstool/cbfs-mkpayload.c
@@ -48,13 +48,13 @@ int parse_elf_to_payload(unsigned char *input, unsigned 
char **output,
        int i;
 
        if(!iself(input)){
-               fprintf(stderr, "E: The payload file is not in ELF format!\n");
+               ERROR("The payload file is not in ELF format!\n");
                return -1;
        }
 
        if (!((ehdr->e_machine == EM_ARM) && (arch == CBFS_ARCHITECTURE_ARMV7)) 
&&
            !((ehdr->e_machine == EM_386) && (arch == CBFS_ARCHITECTURE_X86))) {
-               fprintf(stderr, "E: The payload file has the wrong 
architecture\n");
+               ERROR("The payload file has the wrong architecture\n");
                return -1;
        }
 
diff --git a/util/cbfstool/cbfs-mkstage.c b/util/cbfstool/cbfs-mkstage.c
index 0541d4b..743ea38 100644
--- a/util/cbfstool/cbfs-mkstage.c
+++ b/util/cbfstool/cbfs-mkstage.c
@@ -68,13 +68,13 @@ int parse_elf_to_stage(unsigned char *input, unsigned char 
**output,
                return -1;
 
        if (!iself(input)) {
-               fprintf(stderr, "E: The stage file is not in ELF format!\n");
+               ERROR("The stage file is not in ELF format!\n");
                return -1;
        }
 
        if (!((ehdr->e_machine == EM_ARM) && (arch == CBFS_ARCHITECTURE_ARMV7)) 
&&
            !((ehdr->e_machine == EM_386) && (arch == CBFS_ARCHITECTURE_X86))) {
-               fprintf(stderr, "E: The stage file has the wrong 
architecture\n");
+               ERROR("The stage file has the wrong architecture\n");
                return -1;
        }
 
@@ -130,7 +130,7 @@ int parse_elf_to_stage(unsigned char *input, unsigned char 
**output,
        }
 
        if (data_end <= data_start) {
-               fprintf(stderr, "E: data ends before it starts. Make sure the "
+               ERROR("data ends before it starts. Make sure the "
                        "ELF file is correct and resides in ROM space.\n");
                exit(1);
        }
@@ -139,7 +139,7 @@ int parse_elf_to_stage(unsigned char *input, unsigned char 
**output,
        buffer = calloc(data_end - data_start, 1);
 
        if (buffer == NULL) {
-               fprintf(stderr, "E: Unable to allocate memory: %m\n");
+               ERROR("Unable to allocate memory: %m\n");
                return -1;
        }
 
@@ -169,7 +169,7 @@ int parse_elf_to_stage(unsigned char *input, unsigned char 
**output,
        out = calloc(sizeof(struct cbfs_stage) + data_end - data_start, 1);
 
        if (out == NULL) {
-               fprintf(stderr, "E: Unable to allocate memory: %m\n");
+               ERROR("Unable to allocate memory: %m\n");
                return -1;
        }
 
diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c
index 901396b..5e3ebf9 100644
--- a/util/cbfstool/cbfstool.c
+++ b/util/cbfstool/cbfstool.c
@@ -56,30 +56,30 @@ static int cbfs_add(void)
        void *rom, *filedata, *cbfsfile;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        if (param.type == 0) {
-               fprintf(stderr, "E: You need to specify a valid -t/--type.\n");
+               ERROR("You need to specify a valid -t/--type.\n");
                return 1;
        }
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
 
        filedata = loadfile(param.filename, &filesize, 0, SEEK_SET);
        if (filedata == NULL) {
-               fprintf(stderr, "E: Could not load file '%s'.\n",
+               ERROR("Could not load file '%s'.\n",
                        param.filename);
                free(rom);
                return 1;
@@ -90,7 +90,7 @@ static int cbfs_add(void)
        free(filedata);
 
        if (add_file_to_cbfs(cbfsfile, filesize, param.baseaddress)) {
-               fprintf(stderr, "E: Adding file '%s' failed.\n", 
param.filename);
+               ERROR("Adding file '%s' failed.\n", param.filename);
                free(cbfsfile);
                free(rom);
                return 1;
@@ -113,25 +113,25 @@ static int cbfs_add_payload(void)
        unsigned char *payload;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
 
        filedata = loadfile(param.filename, &filesize, 0, SEEK_SET);
        if (filedata == NULL) {
-               fprintf(stderr, "E: Could not load file '%s'.\n",
+               ERROR("Could not load file '%s'.\n",
                        param.filename);
                free(rom);
                return 1;
@@ -139,7 +139,7 @@ static int cbfs_add_payload(void)
 
        filesize = parse_elf_to_payload(filedata, &payload, param.algo);
        if (filesize <= 0) {
-               fprintf(stderr, "E: Adding payload '%s' failed.\n",
+               ERROR("Adding payload '%s' failed.\n",
                        param.filename);
                free(rom);
                return 1;
@@ -152,7 +152,7 @@ static int cbfs_add_payload(void)
        free(payload);
 
        if (add_file_to_cbfs(cbfsfile, filesize, param.baseaddress)) {
-               fprintf(stderr, "E: Adding payload '%s' failed.\n",
+               ERROR("Adding payload '%s' failed.\n",
                        param.filename);
                free(cbfsfile);
                free(rom);
@@ -177,25 +177,25 @@ static int cbfs_add_stage(void)
        unsigned char *stage;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
 
        filedata = loadfile(param.filename, &filesize, 0, SEEK_SET);
        if (filedata == NULL) {
-               fprintf(stderr, "E: Could not load file '%s'.\n",
+               ERROR("Could not load file '%s'.\n",
                        param.filename);
                free(rom);
                return 1;
@@ -210,7 +210,7 @@ static int cbfs_add_stage(void)
        free(stage);
 
        if (add_file_to_cbfs(cbfsfile, filesize, param.baseaddress)) {
-               fprintf(stderr, "E: Adding stage '%s' failed.\n",
+               ERROR("Adding stage '%s' failed.\n",
                        param.filename);
                free(cbfsfile);
                free(rom);
@@ -239,23 +239,23 @@ static int cbfs_add_flat_binary(void)
        int doffset, len = 0;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        if (param.loadaddress == 0) {
-               fprintf(stderr, "E: You need to specify a valid "
+               ERROR("You need to specify a valid "
                        "-l/--load-address.\n");
                return 1;
        }
 
        if (param.entrypoint == 0) {
-               fprintf(stderr, "E: You need to specify a valid "
+               ERROR("You need to specify a valid "
                        "-e/--entry-point.\n");
                return 1;
        }
@@ -266,14 +266,14 @@ static int cbfs_add_flat_binary(void)
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
 
        filedata = loadfile(param.filename, &filesize, 0, SEEK_SET);
        if (filedata == NULL) {
-               fprintf(stderr, "E: Could not load file '%s'.\n",
+               ERROR("Could not load file '%s'.\n",
                        param.filename);
                free(rom);
                return 1;
@@ -282,7 +282,7 @@ static int cbfs_add_flat_binary(void)
        /* FIXME compressed file size might be bigger than original file */
        payload = calloc((2 * sizeof(struct cbfs_payload_segment)) + filesize, 
1);
        if (payload == NULL) {
-               fprintf(stderr, "E: Could not allocate memory.\n");
+               ERROR("Could not allocate memory.\n");
                free(filedata);
                free(rom);
                return 1;
@@ -320,7 +320,7 @@ static int cbfs_add_flat_binary(void)
        free(payload);
 
        if (add_file_to_cbfs(cbfsfile, final_size, param.baseaddress)) {
-               fprintf(stderr, "E: Adding payload '%s' failed.\n",
+               ERROR("Adding payload '%s' failed.\n",
                        param.filename);
                free(cbfsfile);
                free(rom);
@@ -342,19 +342,19 @@ static int cbfs_remove(void)
        void *rom;
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
 
        if (remove_file_from_cbfs(param.name)) {
-               fprintf(stderr, "E: Removing file '%s' failed.\n",
+               ERROR("Removing file '%s' failed.\n",
                        param.name);
                free(rom);
                return 1;
@@ -372,17 +372,17 @@ static int cbfs_remove(void)
 static int cbfs_create(void)
 {
        if (param.size == 0) {
-               fprintf(stderr, "E: You need to specify a valid -s/--size.\n");
+               ERROR("You need to specify a valid -s/--size.\n");
                return 1;
        }
 
        if (!param.bootblock) {
-               fprintf(stderr, "E: You need to specify -b/--bootblock.\n");
+               ERROR("You need to specify -b/--bootblock.\n");
                return 1;
        }
 
        if (arch == CBFS_ARCHITECTURE_UNKNOWN) {
-               fprintf(stderr, "E: You need to specify -m/--machine arch\n");
+               ERROR("You need to specify -m/--machine arch\n");
                return 1;
        }
 
@@ -395,12 +395,12 @@ static int cbfs_locate(void)
        uint32_t filesize, location;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
@@ -419,7 +419,7 @@ static int cbfs_print(void)
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
@@ -436,18 +436,18 @@ static int cbfs_extract(void)
        int ret;
 
        if (!param.filename) {
-               fprintf(stderr, "E: You need to specify -f/--filename.\n");
+               ERROR("You need to specify -f/--filename.\n");
                return 1;
        }
 
        if (!param.name) {
-               fprintf(stderr, "E: You need to specify -n/--name.\n");
+               ERROR("You need to specify -n/--name.\n");
                return 1;
        }
 
        rom = loadrom(param.cbfs_name);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
+               ERROR("Could not load ROM image '%s'.\n",
                        param.cbfs_name);
                return 1;
        }
@@ -459,15 +459,15 @@ static int cbfs_extract(void)
 }
 
 static const struct command commands[] = {
-       {"add", "f:n:t:b:h?", cbfs_add},
-       {"add-payload", "f:n:t:c:b:h?", cbfs_add_payload},
-       {"add-stage", "f:n:t:c:b:h?", cbfs_add_stage},
-       {"add-flat-binary", "f:n:l:e:c:b:h?", cbfs_add_flat_binary},
-       {"remove", "n:h?", cbfs_remove},
-       {"create", "s:B:a:o:m:h?", cbfs_create},
-       {"locate", "f:n:a:h?", cbfs_locate},
-       {"print", "h?", cbfs_print},
-       {"extract", "n:f:h?", cbfs_extract},
+       {"add", "f:n:t:b:vh?", cbfs_add},
+       {"add-payload", "f:n:t:c:b:vh?", cbfs_add_payload},
+       {"add-stage", "f:n:t:c:b:vh?", cbfs_add_stage},
+       {"add-flat-binary", "f:n:l:e:c:b:vh?", cbfs_add_flat_binary},
+       {"remove", "n:vh?", cbfs_remove},
+       {"create", "s:B:a:o:m:vh?", cbfs_create},
+       {"locate", "f:n:a:vh?", cbfs_locate},
+       {"print", "vh?", cbfs_print},
+       {"extract", "n:f:vh?", cbfs_extract},
 };
 
 static struct option long_options[] = {
@@ -490,10 +490,10 @@ static struct option long_options[] = {
 
 static void usage(char *name)
 {
-       printf
-           ("cbfstool: Management utility for CBFS formatted ROM images\n\n"
+       LOG("cbfstool: Management utility for CBFS formatted ROM images\n\n"
             "USAGE:\n" " %s [-h]\n"
-            " %s FILE COMMAND [PARAMETERS]...\n\n" "OPTIONs:\n"
+            " %s FILE COMMAND [-v] [PARAMETERS]...\n\n" "OPTIONs:\n"
+            "  -v              Provide verbose output\n"
             "  -h              Display this help message\n\n"
             "COMMANDs:\n"
             " add -f FILE -n NAME -t TYPE [-b base-address]               "
@@ -567,8 +567,8 @@ int main(int argc, char **argv)
                        /* filter out illegal long options */
                        if (strchr(commands[i].optstring, c) == NULL) {
                                /* TODO maybe print actual long option instead 
*/
-                               printf("%s: invalid option -- '%c'\n",
-                                       argv[0], c);
+                               ERROR("%s: invalid option -- '%c'\n",
+                                     argv[0], c);
                                c = '?';
                        }
 
@@ -582,7 +582,7 @@ int main(int argc, char **argv)
                                else
                                        param.type = strtoul(optarg, NULL, 0);
                                if (param.type == 0)
-                                       printf("W: Unknown type '%s' ignored\n",
+                                       WARN("Unknown type '%s' ignored\n",
                                                        optarg);
                                break;
                        case 'c':
@@ -591,8 +591,8 @@ int main(int argc, char **argv)
                                else if (!strncasecmp(optarg, "none", 5))
                                        param.algo = CBFS_COMPRESS_NONE;
                                else
-                                       printf("W: Unknown compression '%s'"
-                                                       " ignored.\n", optarg);
+                                       WARN("Unknown compression '%s'"
+                                            " ignored.\n", optarg);
                                break;
                        case 'b':
                                param.baseaddress = strtoul(optarg, NULL, 0);
@@ -642,7 +642,7 @@ int main(int argc, char **argv)
                return commands[i].function();
        }
 
-       printf("Unknown command '%s'.\n", cmd);
+       ERROR("Unknown command '%s'.\n", cmd);
        usage(argv[0]);
        return 1;
 }
diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c
index 97bf168..8b4b4b4 100644
--- a/util/cbfstool/common.c
+++ b/util/cbfstool/common.c
@@ -27,8 +27,6 @@
 #include "cbfs.h"
 #include "elf.h"
 
-#define dprintf(x...)
-
 size_t getfilesize(const char *filename)
 {
        size_t size;
@@ -55,15 +53,15 @@ void *loadfile(const char *filename, uint32_t * romsize_p, 
void *content,
        if (!content) {
                content = malloc(*romsize_p);
                if (!content) {
-                       fprintf(stderr, "E: Could not get %d bytes for file 
%s\n",
-                              *romsize_p, filename);
+                       ERROR("Could not get %d bytes for file %s\n",
+                             *romsize_p, filename);
                        exit(1);
                }
        } else if (place == SEEK_END)
                content -= *romsize_p;
 
        if (!fread(content, *romsize_p, 1, file)) {
-               fprintf(stderr, "E: Failed to read %s\n", filename);
+               ERROR("Failed to read %s\n", filename);
                return NULL;
        }
        fclose(file);
@@ -138,14 +136,14 @@ int find_master_header(void *romarea, size_t size)
 void recalculate_rom_geometry(void *romarea)
 {
        if (find_master_header(romarea, romsize)) {
-               fprintf(stderr, "E: Cannot find master header\n");
+               ERROR("Cannot find master header\n");
                exit(1);
        }
 
        /* Update old headers */
        if (master_header->version == CBFS_HEADER_VERSION1 &&
            ntohl(master_header->architecture) == CBFS_ARCHITECTURE_UNKNOWN) {
-               dprintf("Updating CBFS master header to version 2\n");
+               DEBUG("Updating CBFS master header to version 2\n");
                master_header->architecture = htonl(CBFS_ARCHITECTURE_X86);
        }
 
@@ -165,7 +163,7 @@ void recalculate_rom_geometry(void *romarea)
                     sizeof(struct cbfs_header)) & 0xffffffff;
                break;
        default:
-               fprintf(stderr, "E: Unknown architecture\n");
+               ERROR("Unknown architecture\n");
                exit(1);
        }
 
@@ -185,13 +183,13 @@ int writerom(const char *filename, void *start, uint32_t 
size)
 {
        FILE *file = fopen(filename, "wb");
        if (!file) {
-               fprintf(stderr, "Could not open '%s' for writing: ", filename);
+               ERROR("Could not open '%s' for writing: ", filename);
                perror("");
                return 1;
        }
 
        if (fwrite(start, size, 1, file) != 1) {
-               fprintf(stderr, "Could not write to '%s': ", filename);
+               ERROR("Could not write to '%s': ", filename);
                perror("");
                return 1;
        }
@@ -247,9 +245,9 @@ void print_supported_filetypes(void)
        int i, number = ARRAY_SIZE(filetypes);
 
        for (i=0; i<number; i++) {
-               printf(" %s%c", filetypes[i].name, (i==(number-1))?'\n':',');
+               LOG(" %s%c", filetypes[i].name, (i==(number-1))?'\n':',');
                if ((i%8) == 7)
-                       printf("\n");
+                       LOG("\n");
        }
 }
 
@@ -273,11 +271,12 @@ uint64_t intfiletype(const char *name)
 
 void print_cbfs_directory(const char *filename)
 {
-       printf
-               ("%s: %d kB, bootblocksize %d, romsize %d, offset 0x%x\n"
-                "alignment: %d bytes, architecture: %s\n\n",
-                basename((char *)filename), romsize / 1024, 
ntohl(master_header->bootblocksize),
-                romsize, ntohl(master_header->offset), align, 
arch_to_string(arch));
+       printf("%s: %d kB, bootblocksize %d, romsize %d, offset 0x%x\n"
+              "alignment: %d bytes, architecture: %s\n\n",
+              basename((char *)filename), romsize / 1024,
+              ntohl(master_header->bootblocksize),
+              romsize, ntohl(master_header->offset), align,
+              arch_to_string(arch));
        printf("%-30s %-10s %-12s Size\n", "Name", "Offset", "Type");
        uint32_t current = phys_start;
        while (current < phys_end) {
@@ -301,7 +300,7 @@ void print_cbfs_directory(const char *filename)
                case CBFS_COMPONENT_STAGE:
                {
                        struct cbfs_stage *stage = CBFS_SUBHEADER(thisfile);
-                       dprintf("    %s compression, entry: 0x%llx, load: 
0x%llx, length: %d/%d\n",
+                       INFO("    %s compression, entry: 0x%llx, load: 0x%llx, 
length: %d/%d\n",
                               stage->compression == CBFS_COMPRESS_LZMA ? 
"LZMA" : "no",
                               (unsigned long long)stage->entry,
                               (unsigned long long)stage->load,
@@ -316,7 +315,7 @@ void print_cbfs_directory(const char *filename)
                                switch(payload->type) {
                                case PAYLOAD_SEGMENT_CODE:
                                case PAYLOAD_SEGMENT_DATA:
-                                       dprintf("    %s (%s compression, 
offset: 0x%x, load: 0x%llx, length: %d/%d)\n",
+                                       INFO("    %s (%s compression, offset: 
0x%x, load: 0x%llx, length: %d/%d)\n",
                                                payload->type == 
PAYLOAD_SEGMENT_CODE ? "code " : "data" ,
                                                payload->compression == 
CBFS_COMPRESS_LZMA ? "LZMA" : "no",
                                                ntohl(payload->offset),
@@ -324,16 +323,16 @@ void print_cbfs_directory(const char *filename)
                                                ntohl(payload->len), 
ntohl(payload->mem_len));
                                        break;
                                case PAYLOAD_SEGMENT_ENTRY:
-                                       dprintf("    entry (0x%llx)\n", 
(unsigned long long)ntohll(payload->load_addr));
+                                       INFO("    entry (0x%llx)\n", (unsigned 
long long)ntohll(payload->load_addr));
                                        break;
                                case PAYLOAD_SEGMENT_BSS:
-                                       dprintf("    BSS (address 0x%016llx, 
length 0x%x)\n", (unsigned long long)ntohll(payload->load_addr), 
ntohl(payload->len));
+                                       INFO("    BSS (address 0x%016llx, 
length 0x%x)\n", (unsigned long long)ntohll(payload->load_addr), 
ntohl(payload->len));
                                        break;
                                case PAYLOAD_SEGMENT_PARAMS:
-                                       dprintf("    parameters\n");
+                                       INFO("    parameters\n");
                                        break;
                                default:
-                                       dprintf("    %x (%s compression, 
offset: 0x%x, load: 0x%llx, length: %d/%d\n",
+                                       INFO("    %x (%s compression, offset: 
0x%x, load: 0x%llx, length: %d/%d\n",
                                                payload->type,
                                                payload->compression == 
CBFS_COMPRESS_LZMA ? "LZMA" : "no",
                                                ntohl(payload->offset),
@@ -387,7 +386,7 @@ int extract_file_from_cbfs(const char *filename, const char 
*payloadname, const
                }
 
                // Else, it's our file.
-               printf("Found file %.30s at 0x%x, type %.12s, size %d\n", fname,
+               LOG("Found file %.30s at 0x%x, type %.12s, size %d\n", fname,
                       current - phys_start, strfiletype(ntohl(thisfile->type)),
                       length);
 
@@ -395,25 +394,25 @@ int extract_file_from_cbfs(const char *filename, const 
char *payloadname, const
                outfile = fopen(outpath, "wb");
                if (!outfile)
                {
-                       fprintf(stderr, "E: Could not open the file %s for 
writing.\n", outpath);
+                       ERROR("Could not open the file %s for writing.\n", 
outpath);
                        return 1;
                }
 
                if (ntohl(thisfile->type) != CBFS_COMPONENT_RAW)
                {
-                       fprintf(stderr, "W: Only 'raw' files are safe to 
extract.\n");
+                       WARN("Only 'raw' files are safe to extract.\n");
                }
 
                fwrite(((char *)thisfile)
                                + ntohl(thisfile->offset), length, 1, outfile);
 
                fclose(outfile);
-               printf("Successfully dumped the file.\n");
+               LOG("Successfully dumped the file.\n");
 
                // We'll only dump one file.
                return 0;
        }
-       fprintf(stderr, "E: File %s not found.\n", payloadname);
+       ERROR("File %s not found.\n", payloadname);
        return 1;
 }
 
@@ -430,18 +429,17 @@ int add_file_to_cbfs(void *content, uint32_t contentsize, 
uint32_t location)
                    (struct cbfs_file *)phys_to_virt(current);
                uint32_t length = ntohl(thisfile->len);
 
-               dprintf("at %x, %x bytes\n", current, length);
+               DEBUG("at %x, %x bytes\n", current, length);
                /* Is this a free chunk? */
                if ((thisfile->type == CBFS_COMPONENT_DELETED)
                    || (thisfile->type == CBFS_COMPONENT_NULL)) {
-                       dprintf("null||deleted at %x, %x bytes\n", current,
+                       DEBUG("null||deleted at %x, %x bytes\n", current,
                                length);
                        /* if this is the right size, and if specified, the 
right location, use it */
                        if ((contentsize <= length)
                            && ((location == 0) || (current == location))) {
                                if (contentsize < length) {
-                                       dprintf
-                                           ("this chunk is %x bytes, we need 
%x. create a new chunk at %x with %x bytes\n",
+                                       DEBUG("this chunk is %x bytes, we need 
%x. create a new chunk at %x with %x bytes\n",
                                             length, contentsize,
                                             ALIGN(current + contentsize,
                                                   align),
@@ -454,7 +452,7 @@ int add_file_to_cbfs(void *content, uint32_t contentsize, 
uint32_t location)
                                            sizeof(struct cbfs_file);
                                        cbfs_create_empty_file(start, size);
                                }
-                               dprintf("copying data\n");
+                               DEBUG("copying data\n");
                                memcpy(phys_to_virt(current), content,
                                       contentsize);
                                return 0;
@@ -463,8 +461,7 @@ int add_file_to_cbfs(void *content, uint32_t contentsize, 
uint32_t location)
                                /* CBFS has the constraint that the chain 
always moves up in memory. so once
                                   we're past the place we seek, we don't need 
to look any further */
                                if (current > location) {
-                                       fprintf
-                                           (stderr, "E: The requested space is 
not available\n");
+                                       ERROR("The requested space is not 
available\n");
                                        return 1;
                                }
 
@@ -473,7 +470,7 @@ int add_file_to_cbfs(void *content, uint32_t contentsize, 
uint32_t location)
                                    && ((location + contentsize) <=
                                        (current + length))) {
                                        /* Split it up. In the next iteration 
the code will be at the right place. */
-                                       dprintf("split up. new length: %x\n",
+                                       DEBUG("split up. new length: %x\n",
                                                location - current -
                                                ntohl(thisfile->offset));
                                        thisfile->len =
@@ -490,8 +487,8 @@ int add_file_to_cbfs(void *content, uint32_t contentsize, 
uint32_t location)
                    ALIGN(current + ntohl(thisfile->len) +
                          ntohl(thisfile->offset), align);
        }
-       fprintf(stderr, "E: Could not add the file to CBFS, it's probably too 
big.\n");
-       fprintf(stderr, "E: File size: %d bytes (%d KB).\n", contentsize, 
contentsize/1024);
+       ERROR("Could not add the file to CBFS, it's probably too big.\n");
+       ERROR("File size: %d bytes (%d KB).\n", contentsize, contentsize/1024);
        return 1;
 }
 
@@ -546,7 +543,7 @@ int remove_file_from_cbfs(const char *filename)
 
                return 0;
        }
-       fprintf(stderr, "E: CBFS file %s not found.\n", filename);
+       ERROR("CBFS file %s not found.\n", filename);
        return 1;
 }
 
@@ -572,7 +569,7 @@ void *create_cbfs_file(const char *filename, void *data, 
uint32_t * datasize,
        }
        void *newdata = malloc(*datasize + headersize);
        if (!newdata) {
-               fprintf(stderr, "E: Could not get %d bytes for CBFS file.\n", 
*datasize +
+               ERROR("Could not get %d bytes for CBFS file.\n", *datasize +
                       headersize);
                exit(1);
        }
@@ -599,7 +596,7 @@ int create_cbfs_image(const char *romfile, uint32_t 
_romsize,
        romsize = _romsize;
        romarea = malloc(romsize);
        if (!romarea) {
-               fprintf(stderr, "E: Could not get %d bytes of memory"
+               ERROR("Could not get %d bytes of memory"
                        " for CBFS image.\n", romsize);
                exit(1);
        }
@@ -611,7 +608,7 @@ int create_cbfs_image(const char *romfile, uint32_t 
_romsize,
        bootblk = loadfile(bootblock, &bootblocksize,
                                romarea + romsize, SEEK_END);
        if (!bootblk) {
-               fprintf(stderr, "E: Could not load bootblock %s.\n",
+               ERROR("Could not load bootblock %s.\n",
                        bootblock);
                free(romarea);
                return 1;
@@ -641,8 +638,8 @@ int create_cbfs_image(const char *romfile, uint32_t 
_romsize,
                        if (*(uint32_t *)p == 0xdeadbeef)
                                break;
                        if (p >= (romarea + _romsize)) {
-                               fprintf(stderr, "E: Could not determine CBFS "
-                                       "header location.\n", bootblock);
+                               ERROR("Could not determine CBFS "
+                                     "header location.\n");
                                return 1;
                        }
                        p += (sizeof(unsigned int));
@@ -700,7 +697,7 @@ int create_cbfs_image(const char *romfile, uint32_t 
_romsize,
 
        default:
                // Should not happen.
-               fprintf(stderr, "E: You found a bug in cbfstool.\n");
+               ERROR("You found a bug in cbfstool.\n");
                exit(1);
        }
 
@@ -724,8 +721,7 @@ uint32_t cbfs_find_location(const char *romfile, uint32_t 
filesize,
 
        rom = loadrom(romfile);
        if (rom == NULL) {
-               fprintf(stderr, "E: Could not load ROM image '%s'.\n",
-                       romfile);
+               ERROR("Could not load ROM image '%s'.\n", romfile);
                return 0;
        }
 
diff --git a/util/cbfstool/common.h b/util/cbfstool/common.h
index 853e529..bb18ee1 100644
--- a/util/cbfstool/common.h
+++ b/util/cbfstool/common.h
@@ -29,6 +29,14 @@
 #define ntohll(x) (host_bigendian?(x):swab64(x))
 #define htonll(x) (host_bigendian?(x):swab64(x))
 
+/* Message output */
+extern int verbose;
+#define ERROR(x...) { fprintf(stderr, "E: " x); }
+#define WARN(x...) { fprintf(stderr, "W: " x); }
+#define LOG(x...) { fprintf(stderr, x); }
+#define INFO(x...) { if (verbose > 0) fprintf(stderr, "INFO: " x); }
+#define DEBUG(x...) { if (verbose > 1) fprintf(stderr, "DEBUG: " x); }
+
 extern void *offset;
 extern uint32_t romsize;
 extern int host_bigendian;
diff --git a/util/cbfstool/compress.c b/util/cbfstool/compress.c
index 2222dab..22f3020 100644
--- a/util/cbfstool/compress.c
+++ b/util/cbfstool/compress.c
@@ -50,7 +50,7 @@ comp_func_ptr compression_function(comp_algo algo)
                compress = lzma_compress;
                break;
        default:
-               fprintf(stderr, "E: Unknown compression algorithm %d!\n", algo);
+               ERROR("Unknown compression algorithm %d!\n", algo);
                return NULL;
        }
        return compress;

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to