aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/leon/patches/002-sparc_uimage_target.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/leon/patches/002-sparc_uimage_target.patch')
-rw-r--r--target/linux/leon/patches/002-sparc_uimage_target.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/target/linux/leon/patches/002-sparc_uimage_target.patch b/target/linux/leon/patches/002-sparc_uimage_target.patch
new file mode 100644
index 000000000..6e25ff27d
--- /dev/null
+++ b/target/linux/leon/patches/002-sparc_uimage_target.patch
@@ -0,0 +1,79 @@
+From 234ef25344b567b3b8dad62c0863ebe16377528f Mon Sep 17 00:00:00 2001
+From: Daniel Hellstrom <daniel@gaisler.com>
+Date: Tue, 14 Sep 2010 11:26:55 +0200
+Subject: [PATCH] SPARC: added U-Boot build target: uImage
+
+---
+ arch/sparc/Makefile | 3 ++-
+ arch/sparc/boot/Makefile | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 1 deletions(-)
+
+--- a/arch/sparc/Makefile
++++ b/arch/sparc/Makefile
+@@ -88,7 +88,7 @@ boot := arch/sparc/boot
+ # Default target
+ all: zImage
+
+-image zImage tftpboot.img vmlinux.aout: vmlinux
++image zImage uImage tftpboot.img vmlinux.aout: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
+
+ archclean:
+@@ -102,6 +102,7 @@ ifeq ($(ARCH),sparc)
+ define archhelp
+ echo '* image - kernel image ($(boot)/image)'
+ echo '* zImage - stripped kernel image ($(boot)/zImage)'
++ echo ' uImage - U-Boot SPARC32/LEON Image'
+ echo ' tftpboot.img - image prepared for tftp'
+ endef
+ else
+--- a/arch/sparc/boot/Makefile
++++ b/arch/sparc/boot/Makefile
+@@ -5,6 +5,7 @@
+
+ ROOT_IMG := /usr/src/root.img
+ ELFTOAOUT := elftoaout
++MKIMAGE := $(srctree)/scripts/mkuboot.sh
+
+ hostprogs-y := piggyback_32 piggyback_64 btfixupprep
+ targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
+@@ -90,5 +91,39 @@ $(obj)/tftpboot.img: $(obj)/image $(obj)
+ $(obj)/vmlinux.aout: vmlinux FORCE
+ $(call if_changed,elftoaout)
+ @echo ' kernel: $@ is ready'
++else
++
++# The following lines make a readable image for U-Boot.
++# uImage - Binary file read by U-boot
++# uImage.o - object file of uImage for loading with a
++# flash programmer understanding ELF.
++
++OBJCOPYFLAGS_image.bin := -S -O binary -R .note -R .comment
++$(obj)/image.bin: $(obj)/image FORCE
++ $(call if_changed,objcopy)
++
++$(obj)/image.gz: $(obj)/image.bin
++ $(call if_changed,gzip)
++
++# Start of Main memory
++ifndef UIMAGE_LOADADDR
++UIMAGE_LOADADDR=0x40004000
+ endif
+
++# The first sector after the U-Boot image (256k)
++ifndef UIMAGE_FLASHADDR
++UIMAGE_FLASHADDR=0x00040000
++endif
++
++quiet_cmd_uimage = UIMAGE $@
++ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
++ -C gzip -a $(UIMAGE_LOADADDR) -e 0xf0004000 -n 'Linux-$(KERNELRELEASE)' \
++ -d $< $@
++
++targets += uImage
++$(obj)/uImage: $(obj)/image.gz
++ $(call if_changed,uimage)
++ $(LD) -Tdata $(UIMAGE_FLASHADDR) -r -b binary arch/sparc/boot/uImage -o arch/sparc/boot/uImage.o
++ @echo ' Image $@ is ready'
++
++endif