diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2008-01-03 15:48:43 +1100 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2008-01-03 07:46:29 -0600 |
commit | 3bb78bfd9758ff726ca80df2cb554a2f2df798a3 (patch) | |
tree | 3b0ee63e602bf6218aeccbc801f32f34a14b32dc | |
parent | 3e516d961a45a2a410a9dc8f61fbdd62641b5ca0 (diff) | |
download | dtc-3bb78bfd9758ff726ca80df2cb554a2f2df798a3.tar.gz |
dtc: Remove header information dumping
Currently, when used in -Idtb mode, dtc will dump information about
the input blob's header fields to stderr. This is kind of ugly, and
can get in the way of dtc's real output.
This patch, therefore, removes this. So that there's still a way of
getting this information for debugging purposes, it places something
similar to the removed code into ftdump, replacing the couple of
header fields it currently prints with a complete header dump.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | flattree.c | 15 | ||||
-rw-r--r-- | ftdump.c | 32 |
2 files changed, 26 insertions, 21 deletions
@@ -898,15 +898,6 @@ struct boot_info *dt_from_blob(FILE *f) off_mem_rsvmap = be32_to_cpu(fdt->off_mem_rsvmap); version = be32_to_cpu(fdt->version); - fprintf(stderr, "\tmagic:\t\t\t0x%x\n", magic); - fprintf(stderr, "\ttotalsize:\t\t%d\n", totalsize); - fprintf(stderr, "\toff_dt_struct:\t\t0x%x\n", off_dt); - fprintf(stderr, "\toff_dt_strings:\t\t0x%x\n", off_str); - fprintf(stderr, "\toff_mem_rsvmap:\t\t0x%x\n", off_mem_rsvmap); - fprintf(stderr, "\tversion:\t\t0x%x\n", version ); - fprintf(stderr, "\tlast_comp_version:\t0x%x\n", - be32_to_cpu(fdt->last_comp_version)); - if (off_mem_rsvmap >= totalsize) die("Mem Reserve structure offset exceeds total size\n"); @@ -916,21 +907,15 @@ struct boot_info *dt_from_blob(FILE *f) if (off_str > totalsize) die("String table offset exceeds total size\n"); - if (version >= 2) - fprintf(stderr, "\tboot_cpuid_phys:\t0x%x\n", - be32_to_cpu(fdt->boot_cpuid_phys)); - size_str = -1; if (version >= 3) { size_str = be32_to_cpu(fdt->size_dt_strings); - fprintf(stderr, "\tsize_dt_strings:\t%d\n", size_str); if (off_str+size_str > totalsize) die("String table extends past total size\n"); } if (version >= 17) { size_dt = be32_to_cpu(fdt->size_dt_struct); - fprintf(stderr, "\tsize_dt_struct:\t\t%d\n", size_dt); if (off_dt+size_dt > totalsize) die("Structure block extends past total size\n"); } @@ -81,11 +81,13 @@ static void print_data(const void *data, int len) static void dump_blob(void *blob) { struct fdt_header *bph = blob; + uint32_t off_mem_rsvmap = be32_to_cpu(bph->off_mem_rsvmap); + uint32_t off_dt = be32_to_cpu(bph->off_dt_struct); + uint32_t off_str = be32_to_cpu(bph->off_dt_strings); struct fdt_reserve_entry *p_rsvmap = - (struct fdt_reserve_entry *)(blob - + be32_to_cpu(bph->off_mem_rsvmap)); - char *p_struct = blob + be32_to_cpu(bph->off_dt_struct); - char *p_strings = blob + be32_to_cpu(bph->off_dt_strings); + (struct fdt_reserve_entry *)(blob + off_mem_rsvmap); + char *p_struct = blob + off_dt; + char *p_strings = blob + off_str; uint32_t version = be32_to_cpu(bph->version); uint32_t totalsize = be32_to_cpu(bph->totalsize); uint32_t tag; @@ -98,8 +100,26 @@ static void dump_blob(void *blob) depth = 0; shift = 4; - printf("// Version 0x%x tree\n", version); - printf("// Totalsize 0x%x(%d)\n", totalsize, totalsize); + printf("// magic:\t\t0x%x\n", be32_to_cpu(bph->magic)); + printf("// totalsize:\t\t0x%x (%d)\n", totalsize, totalsize); + printf("// off_dt_struct:\t0x%x\n", off_dt); + printf("// off_dt_strings:\t0x%x\n", off_str); + printf("// off_mem_rsvmap:\t0x%x\n", off_mem_rsvmap); + printf("// version:\t\t%d\n", version); + printf("// last_comp_version:\t%d\n", + be32_to_cpu(bph->last_comp_version)); + if (version >= 2) + printf("// boot_cpuid_phys:\t0x%x\n", + be32_to_cpu(bph->boot_cpuid_phys)); + + if (version >= 3) + printf("// size_dt_strings:\t0x%x\n", + be32_to_cpu(bph->size_dt_strings)); + if (version >= 17) + printf("// size_dt_struct:\t0x%x\n", + be32_to_cpu(bph->size_dt_struct)); + printf("\n"); + for (i = 0; ; i++) { addr = be64_to_cpu(p_rsvmap[i].address); size = be64_to_cpu(p_rsvmap[i].size); |