layerscape: armv8_64b: fix KERNEL_LOADADDR for linux >= 5.8
authorMartin Schiller <ms@dev.tdt.de>
Wed, 3 Nov 2021 09:27:04 +0000 (10:27 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 13 Dec 2021 22:22:29 +0000 (23:22 +0100)
In kernel versions newer than 5.8 the arm64 TEXT_OFFSET (0x80000) has
been set to 0x0 (and later removed). This will break Uimages with kernel
load addresses that aren't 2MiB aligned any longer. Resulting in the
kernel silently fail to boot. For layerscape armv8_64b targets this
needs to be changed to 0x80000000 (start of RAM).

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
target/linux/layerscape/image/armv8_64b.mk

index 7148a2372a696ac5fbcefc65bad5ff31b14ff2db..7ff49c6555d97f31493d282d10973e842ab7d02a 100644 (file)
@@ -8,7 +8,11 @@ define Device/Default
   FILESYSTEMS := squashfs
   KERNEL := kernel-bin | gzip | uImage gzip
   KERNEL_INITRAMFS = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ifdef CONFIG_LINUX_5_4
   KERNEL_LOADADDR := 0x80080000
+else
+  KERNEL_LOADADDR := 0x80000000
+endif
   DEVICE_DTS = freescale/$(subst _,-,$(1))
   IMAGE_SIZE := 64m
   IMAGE/sysupgrade.bin = \