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>
 
          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
 
 cflags-$(CONFIG_BCM47XX)       +=                                      \
                -I$(srctree)/arch/mips/include/asm/mach-bcm47xx
 load-$(CONFIG_BCM47XX)         := 0xffffffff80001000
-zload-$(CONFIG_BCM47XX)                += 0xffffffff80400000
 
 # 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
 
 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