projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
firmware-tools/ptgen: fix endianness conversion for PTE .start, .length field.
[openwrt.git]
/
tools
/
firmware-utils
/
src
/
ptgen.c
diff --git
a/tools/firmware-utils/src/ptgen.c
b/tools/firmware-utils/src/ptgen.c
index
6379ed7
..
68bad6f
100644
(file)
--- a/
tools/firmware-utils/src/ptgen.c
+++ b/
tools/firmware-utils/src/ptgen.c
@@
-31,9
+31,9
@@
#include <stdint.h>
#if __BYTE_ORDER == __BIG_ENDIAN
#include <stdint.h>
#if __BYTE_ORDER == __BIG_ENDIAN
-#define cpu_to_le
16(x) bswap_16
(x)
+#define cpu_to_le
32(x) bswap_32
(x)
#elif __BYTE_ORDER == __LITTLE_ENDIAN
#elif __BYTE_ORDER == __LITTLE_ENDIAN
-#define cpu_to_le
16
(x) (x)
+#define cpu_to_le
32
(x) (x)
#else
#error unknown endianness!
#endif
#else
#error unknown endianness!
#endif
@@
-142,11
+142,11
@@
static int gen_ptable(uint32_t signature, int nr)
start = sect + sectors;
if (kb_align != 0)
start = round_to_kb(start);
start = sect + sectors;
if (kb_align != 0)
start = round_to_kb(start);
- pte[i].start = cpu_to_le
16
(start);
+ pte[i].start = cpu_to_le
32
(start);
sect = start + parts[i].size * 2;
if (kb_align == 0)
sect = round_to_cyl(sect);
sect = start + parts[i].size * 2;
if (kb_align == 0)
sect = round_to_cyl(sect);
- pte[i].length = cpu_to_le
16
(len = sect - start);
+ pte[i].length = cpu_to_le
32
(len = sect - start);
to_chs(start, pte[i].chs_start);
to_chs(start + len - 1, pte[i].chs_end);
if (verbose)
to_chs(start, pte[i].chs_start);
to_chs(start + len - 1, pte[i].chs_end);
if (verbose)