]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Thumb-2: Make the uImage entry an odd number
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 24 Jul 2009 11:33:01 +0000 (12:33 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 24 Jul 2009 11:33:01 +0000 (12:33 +0100)
This allows U-Boot to branch to the kernel in Thumb-2 mode via
"mov pc, lr".

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/boot/Makefile

index da226abce2d0972c2a3cebc8a99276f294e57516..4a590f4113e2af044ea1764aeb0681ad7f50a74c 100644 (file)
@@ -61,7 +61,7 @@ endif
 
 quiet_cmd_uimage = UIMAGE  $@
       cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
-                  -C none -a $(LOADADDR) -e $(LOADADDR) \
+                  -C none -a $(LOADADDR) -e $(STARTADDR) \
                   -n 'Linux-$(KERNELRELEASE)' -d $< $@
 
 ifeq ($(CONFIG_ZBOOT_ROM),y)
@@ -70,6 +70,13 @@ else
 $(obj)/uImage: LOADADDR=$(ZRELADDR)
 endif
 
+ifeq ($(CONFIG_THUMB2_KERNEL),y)
+# Set bit 0 to 1 so that "mov pc, rx" switches to Thumb-2 mode
+$(obj)/uImage: STARTADDR=$(shell echo $(LOADADDR) | sed -e "s/.$$/1/")
+else
+$(obj)/uImage: STARTADDR=$(LOADADDR)
+endif
+
 $(obj)/uImage: $(obj)/zImage FORCE
        $(call if_changed,uimage)
        @echo '  Image $@ is ready'