Commit 4defe455 authored by James Hogan's avatar James Hogan Committed by Ralf Baechle

MIPS: Add uImage build target

Add a uImage build target for MIPS, which builds uImage.gz (a U-Boot
image of vmlinux.bin.gz), and then symlinks it to uImage. This allows
for the use of other compression algorithms in future, and is how a few
other architectures do it.

It's enabled conditionally on load-y >= 0xffffffff80000000 which
hopefully allows 64bit kernels to also work as long as the load and
entry address can be represented by the 32bit addresses in the U-Boot
image format.
Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5795/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 3185557d
...@@ -263,6 +263,10 @@ drivers-$(CONFIG_PM) += arch/mips/power/ ...@@ -263,6 +263,10 @@ drivers-$(CONFIG_PM) += arch/mips/power/
boot-y := vmlinux.bin boot-y := vmlinux.bin
boot-y += vmlinux.ecoff boot-y += vmlinux.ecoff
boot-y += vmlinux.srec boot-y += vmlinux.srec
ifeq ($(shell expr $(load-y) \< 0xffffffff80000000 2> /dev/null), 0)
boot-y += uImage
boot-y += uImage.gz
endif
# compressed boot image targets (arch/mips/boot/compressed/) # compressed boot image targets (arch/mips/boot/compressed/)
bootz-y := vmlinuz bootz-y := vmlinuz
...@@ -341,6 +345,8 @@ define archhelp ...@@ -341,6 +345,8 @@ define archhelp
echo ' vmlinuz.ecoff - ECOFF zboot image' echo ' vmlinuz.ecoff - ECOFF zboot image'
echo ' vmlinuz.bin - Raw binary zboot image' echo ' vmlinuz.bin - Raw binary zboot image'
echo ' vmlinuz.srec - SREC zboot image' echo ' vmlinuz.srec - SREC zboot image'
echo ' uImage - U-Boot image'
echo ' uImage.gz - U-Boot image (gzip)'
echo echo
echo ' These will be default as appropriate for a configured platform.' echo ' These will be default as appropriate for a configured platform.'
endef endef
...@@ -4,3 +4,4 @@ vmlinux.* ...@@ -4,3 +4,4 @@ vmlinux.*
zImage zImage
zImage.tmp zImage.tmp
calc_vmlinuz_load_addr calc_vmlinuz_load_addr
uImage
...@@ -40,3 +40,18 @@ quiet_cmd_srec = OBJCOPY $@ ...@@ -40,3 +40,18 @@ quiet_cmd_srec = OBJCOPY $@
cmd_srec = $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) $@ cmd_srec = $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) $@
$(obj)/vmlinux.srec: $(VMLINUX) FORCE $(obj)/vmlinux.srec: $(VMLINUX) FORCE
$(call if_changed,srec) $(call if_changed,srec)
UIMAGE_LOADADDR = $(VMLINUX_LOAD_ADDRESS)
UIMAGE_ENTRYADDR = $(VMLINUX_ENTRY_ADDRESS)
$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
targets += uImage.gz
$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
$(call if_changed,uimage,gzip)
targets += uImage
$(obj)/uImage: $(obj)/uImage.gz FORCE
@ln -sf $(notdir $<) $@
@echo ' Image $@ is ready'
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment