![]() With patch #8067/1 ("zImage: ensure header in LE format for BE8 kernels") applied, it is no longer possible to determine the endianness of a compiled kernel image. This normally shouldn't matter to the boot environment, except for those cases where the selection of a ramdisk or root filesystem with a matching endianness has to be automated. Let's add a flag to the zImage header indicating the actual endianness. Four bytes from offset 0x30 can be interpreted as follows: 04 03 02 01 big endian kernel 01 02 03 04 little endian kernel Anything else should be interpreted as "unknown", in which case it is most likely that patch #8067/1 was not applied either and the zImage magic number at offset 0x24 could be used instead to determine endianness. No zImage before this patch ever produced 0x01020304 nor 0x04030201 at offset 0x30 so there is no confusion possible. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
||
---|---|---|
.. | ||
.gitignore | ||
atags_to_fdt.c | ||
big-endian.S | ||
debug.S | ||
decompress.c | ||
head-sa1100.S | ||
head-sharpsl.S | ||
head-shmobile.S | ||
head-xscale.S | ||
head.S | ||
libfdt_env.h | ||
ll_char_wr.S | ||
Makefile | ||
misc.c | ||
mmcif-sh7372.c | ||
piggy.gzip.S | ||
piggy.lz4.S | ||
piggy.lzma.S | ||
piggy.lzo.S | ||
piggy.xzkern.S | ||
sdhi-sh7372.c | ||
sdhi-shmobile.c | ||
sdhi-shmobile.h | ||
string.c | ||
vmlinux.lds.S |