intel_bios_reader: dump all sections, including unknown ones
authorJani Nikula <jani.nikula@intel.com>
Tue, 8 Oct 2013 18:15:28 +0000 (21:15 +0300)
committerRodrigo Vivi <rodrigo.vivi@gmail.com>
Mon, 21 Oct 2013 11:42:58 +0000 (09:42 -0200)
We still need to dump some of the known sections explicitly due to
dependencies on information extracted, such as LFP data pointers and
panel_type.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
tools/intel_bios_reader.c

index 121e304..19b0fd9 100644 (file)
@@ -800,13 +800,16 @@ static void dump_section(int section_id, int size)
 {
        struct dumper *dumper = NULL;
        const struct bdb_block *block;
+       static int done[256];
        int i;
 
+       if (done[section_id])
+               return;
+       done[section_id] = 1;
+
        block = find_section(section_id, size);
-       if (!block) {
-               printf("No section %d\n", section_id);
+       if (!block)
                return;
-       }
 
        for (i = 0; i < ARRAY_SIZE(dumpers); i++) {
                if (block->id == dumpers[i].id) {
@@ -944,5 +947,8 @@ int main(int argc, char **argv)
        dump_section(BDB_DRIVER_FEATURES, size);
        dump_section(BDB_EDP, size);
 
+       for (i = 0; i < 256; i++)
+               dump_section(i, size);
+
        return 0;
 }