Browse Source

layerscape: armv8_64b: fix KERNEL_LOADADDR for linux >= 5.8

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 <[email protected]>
Martin Schiller 4 years ago
parent
commit
82ce460ab1
1 changed files with 4 additions and 0 deletions
  1. 4 0
      target/linux/layerscape/image/armv8_64b.mk

+ 4 - 0
target/linux/layerscape/image/armv8_64b.mk

@@ -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 = \