MIPS: new Kconfig option ZBOOT_LOAD_ADDRESS
authorYunQiang Su <yunqiang.su@cipunited.com>
Wed, 22 Dec 2021 13:43:46 +0000 (13:43 +0000)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Sun, 2 Jan 2022 13:17:30 +0000 (14:17 +0100)
If this option is not 0x0, it will be used for zboot load address.
Otherwise, the result of calc_vmlinuz_load_addr will be used.

The zload-y value for generic are also removed then, as the current
value breaks booting on qemu -M boston.
The result of calc_vmlinuz_load_addr works well for most of cases.

The default value of bcm47xx keeps as it currently.

Signed-off-by: YunQiang Su <yunqiang.su@cipunited.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/Kconfig
arch/mips/bcm47xx/Platform
arch/mips/boot/compressed/Makefile
arch/mips/generic/Platform

index f1c8f7e..46b093e 100644 (file)
@@ -2115,6 +2115,16 @@ config MIPS_VA_BITS_48
 
          If unsure, say N.
 
+config ZBOOT_LOAD_ADDRESS
+       hex "Compressed kernel load address"
+       default 0xffffffff80400000 if BCM47XX
+       default 0x0
+       depends on SYS_SUPPORTS_ZBOOT
+       help
+         The address to load compressed kernel, aka vmlinuz.
+
+         This is only used if non-zero.
+
 choice
        prompt "Kernel page size"
        default PAGE_SIZE_4KB
index 833b204..fe6daba 100644 (file)
@@ -4,4 +4,3 @@
 cflags-$(CONFIG_BCM47XX)       +=                                      \
                -I$(srctree)/arch/mips/include/asm/mach-bcm47xx
 load-$(CONFIG_BCM47XX)         := 0xffffffff80001000
-zload-$(CONFIG_BCM47XX)                += 0xffffffff80400000
index f27cf31..85d5082 100644 (file)
@@ -89,6 +89,10 @@ HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE)
 # Calculate the load address of the compressed kernel image
 hostprogs := calc_vmlinuz_load_addr
 
+ifneq (0x0,$(CONFIG_ZBOOT_LOAD_ADDRESS))
+zload-y        = $(CONFIG_ZBOOT_LOAD_ADDRESS)
+endif
+
 ifneq ($(zload-y),)
 VMLINUZ_LOAD_ADDRESS := $(zload-y)
 else
index d7c8cff..0c03623 100644 (file)
@@ -13,7 +13,6 @@ cflags-$(CONFIG_MACH_INGENIC_SOC)     += -I$(srctree)/arch/mips/include/asm/mach-ing
 cflags-$(CONFIG_MIPS_GENERIC)  += -I$(srctree)/arch/mips/include/asm/mach-generic
 
 load-$(CONFIG_MIPS_GENERIC)    += 0xffffffff80100000
-zload-$(CONFIG_MIPS_GENERIC)   += 0xffffffff81000000
 all-$(CONFIG_MIPS_GENERIC)     += vmlinux.gz.itb
 
 its-y                                  := vmlinux.its.S