diff options
author | David Gibson <dgibson@sneetch.(none)> | 2005-08-29 13:36:15 +1000 |
---|---|---|
committer | David Gibson <dgibson@sneetch.(none)> | 2005-08-29 13:36:15 +1000 |
commit | 6c0f36769af7e015030d033edf6b10f7ec50318c (patch) | |
tree | bb4611ff888253ac459431c4a3c9d9e15315e75f /treesource.c | |
parent | 230f253e9b187efd67787f98639aadb15916d0e9 (diff) | |
download | dtc-6c0f36769af7e015030d033edf6b10f7ec50318c.tar.gz |
Fix endian problems with handling of memreserve entries (bug pointed out
by Pantelis Antoniou). The rule is that the memreserve data in struct
boot_info is always stored big-endian.
Diffstat (limited to 'treesource.c')
-rw-r--r-- | treesource.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/treesource.c b/treesource.c index 14e9e27..a568bf7 100644 --- a/treesource.c +++ b/treesource.c @@ -168,8 +168,9 @@ void write_tree_source(FILE *f, struct boot_info *bi) bi->mem_reserve_data.val) + i; fprintf(f, "/memreserve/\t%016llx-%016llx;\n", - (unsigned long long)re->address, - (unsigned long long)re->address + re->size - 1); + (unsigned long long)be64_to_cpu(re->address), + (unsigned long long)(be64_to_cpu(re->address) + + be64_to_cpu(re->size) - 1)); } write_tree_source_node(f, bi->dt, 0); |