summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2013-10-08 21:15:28 +0300
committerRodrigo Vivi <rodrigo.vivi@gmail.com>2013-10-21 09:42:58 -0200
commita360e3993b9a6800432d7e1b4591d2dd6bf2ddb8 (patch)
treeb11c7216272e1ca767a8759e9a17abf33126d7a8
parent419d053fd628b66fe0d838642ced6e9980f6282b (diff)
intel_bios_reader: dump all sections, including unknown ones
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>
-rw-r--r--tools/intel_bios_reader.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/intel_bios_reader.c b/tools/intel_bios_reader.c
index 121e30400..19b0fd92a 100644
--- a/tools/intel_bios_reader.c
+++ b/tools/intel_bios_reader.c
@@ -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;
}