diff --git a/ftdump.c b/ftdump.c index 0cdae81..c8f4092 100644 --- a/ftdump.c +++ b/ftdump.c @@ -6,24 +6,9 @@ #include #include #include -#include -#include #include - -#define cpu_to_be16(x) htons(x) -#define be16_to_cpu(x) ntohs(x) - -#define cpu_to_be32(x) htonl(x) -#define be32_to_cpu(x) ntohl(x) - -#if __BYTE_ORDER == __BIG_ENDIAN -#define cpu_to_be64(x) (x) -#define be64_to_cpu(x) (x) -#else -#define cpu_to_be64(x) bswap_64(x) -#define be64_to_cpu(x) bswap_64(x) -#endif +#include #define ALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1)) #define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a)))) @@ -81,15 +66,15 @@ 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); + uint32_t off_mem_rsvmap = fdt32_to_cpu(bph->off_mem_rsvmap); + uint32_t off_dt = fdt32_to_cpu(bph->off_dt_struct); + uint32_t off_str = fdt32_to_cpu(bph->off_dt_strings); struct fdt_reserve_entry *p_rsvmap = (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 version = fdt32_to_cpu(bph->version); + uint32_t totalsize = fdt32_to_cpu(bph->totalsize); uint32_t tag; char *p; char *s, *t; @@ -100,29 +85,29 @@ static void dump_blob(void *blob) depth = 0; shift = 4; - printf("// magic:\t\t0x%x\n", be32_to_cpu(bph->magic)); + printf("// magic:\t\t0x%x\n", fdt32_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)); + fdt32_to_cpu(bph->last_comp_version)); if (version >= 2) printf("// boot_cpuid_phys:\t0x%x\n", - be32_to_cpu(bph->boot_cpuid_phys)); + fdt32_to_cpu(bph->boot_cpuid_phys)); if (version >= 3) printf("// size_dt_strings:\t0x%x\n", - be32_to_cpu(bph->size_dt_strings)); + fdt32_to_cpu(bph->size_dt_strings)); if (version >= 17) printf("// size_dt_struct:\t0x%x\n", - be32_to_cpu(bph->size_dt_struct)); + fdt32_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); + addr = fdt64_to_cpu(p_rsvmap[i].address); + size = fdt64_to_cpu(p_rsvmap[i].size); if (addr == 0 && size == 0) break; @@ -131,7 +116,7 @@ static void dump_blob(void *blob) } p = p_struct; - while ((tag = be32_to_cpu(GET_CELL(p))) != FDT_END) { + while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) { /* printf("tag: 0x%08x (%d)\n", tag, p - p_struct); */ @@ -164,8 +149,8 @@ static void dump_blob(void *blob) fprintf(stderr, "%*s ** Unknown tag 0x%08x\n", depth * shift, "", tag); break; } - sz = be32_to_cpu(GET_CELL(p)); - s = p_strings + be32_to_cpu(GET_CELL(p)); + sz = fdt32_to_cpu(GET_CELL(p)); + s = p_strings + fdt32_to_cpu(GET_CELL(p)); if (version < 16 && sz >= 8) p = PALIGN(p, 8); t = p;