diff options
Diffstat (limited to 'arch/xtensa/boot')
-rw-r--r-- | arch/xtensa/boot/Makefile | 2 | ||||
-rw-r--r-- | arch/xtensa/boot/boot-elf/Makefile | 24 | ||||
-rw-r--r-- | arch/xtensa/boot/boot-elf/boot.lds.S | 7 | ||||
-rw-r--r-- | arch/xtensa/boot/boot-redboot/Makefile | 12 | ||||
-rw-r--r-- | arch/xtensa/boot/boot-redboot/boot.ld | 7 | ||||
-rw-r--r-- | arch/xtensa/boot/boot-redboot/bootstrap.S | 10 | ||||
-rw-r--r-- | arch/xtensa/boot/ramdisk/Makefile | 23 |
7 files changed, 12 insertions, 73 deletions
diff --git a/arch/xtensa/boot/Makefile b/arch/xtensa/boot/Makefile index 70fd1453e172..4018f8994196 100644 --- a/arch/xtensa/boot/Makefile +++ b/arch/xtensa/boot/Makefile @@ -25,7 +25,7 @@ bootdir-$(CONFIG_XTENSA_PLATFORM_ISS) += boot-elf bootdir-$(CONFIG_XTENSA_PLATFORM_XT2000) += boot-redboot boot-elf -zImage zImage.initrd Image Image.initrd: $(bootdir-y) +zImage Image: $(bootdir-y) $(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \ $(addprefix $(obj)/,$(host-progs)) diff --git a/arch/xtensa/boot/boot-elf/Makefile b/arch/xtensa/boot/boot-elf/Makefile index 08e8814f8c71..f10992b89027 100644 --- a/arch/xtensa/boot/boot-elf/Makefile +++ b/arch/xtensa/boot/boot-elf/Makefile @@ -20,34 +20,18 @@ boot-y := bootstrap.o OBJS := $(addprefix $(obj)/,$(boot-y)) -Image: vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds +vmlinux.tmp: vmlinux $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \ - vmlinux vmlinux.tmp - $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \ - --add-section image=vmlinux.tmp \ - --set-section-flags image=contents,alloc,load,load,data \ - $(OBJS) $@.tmp - $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \ - -T arch/$(ARCH)/boot/boot-elf/boot.lds \ - -o arch/$(ARCH)/boot/$@.elf $@.tmp - rm -f $@.tmp vmlinux.tmp + $^ $@ -Image.initrd: vmlinux $(OBJS) - $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \ - --add-section .initrd=arch/$(ARCH)/boot/ramdisk \ - --set-section-flags .initrd=contents,alloc,load,load,data \ - vmlinux vmlinux.tmp +Image: vmlinux.tmp $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \ --add-section image=vmlinux.tmp \ --set-section-flags image=contents,alloc,load,load,data \ $(OBJS) $@.tmp $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \ - -T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \ + -T arch/$(ARCH)/boot/boot-elf/boot.lds \ -o arch/$(ARCH)/boot/$@.elf $@.tmp - rm -f $@.tmp vmlinux.tmp - zImage: Image -zImage.initrd: Image.initrd - diff --git a/arch/xtensa/boot/boot-elf/boot.lds.S b/arch/xtensa/boot/boot-elf/boot.lds.S index 4e53b74dc44b..7b646e0a6486 100644 --- a/arch/xtensa/boot/boot-elf/boot.lds.S +++ b/arch/xtensa/boot/boot-elf/boot.lds.S @@ -33,13 +33,6 @@ SECTIONS __reloc_end = . ; - .initrd ALIGN(0x10) : - { - boot_initrd_start = . ; - *(.initrd) - boot_initrd_end = .; - } - . = ALIGN(0x10); __image_load = . ; .image 0xd0001000: diff --git a/arch/xtensa/boot/boot-redboot/Makefile b/arch/xtensa/boot/boot-redboot/Makefile index 872029b84435..25a78c6b1530 100644 --- a/arch/xtensa/boot/boot-redboot/Makefile +++ b/arch/xtensa/boot/boot-redboot/Makefile @@ -21,15 +21,17 @@ LIBS := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) -zImage: vmlinux $(OBJS) $(LIBS) +vmlinux.tmp: vmlinux $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \ - vmlinux vmlinux.tmp - gzip -vf9 vmlinux.tmp + $^ $@ + +vmlinux.tmp.gz: vmlinux.tmp + $(GZIP) $(GZIP_FLAGS) $^ > $@ + +zImage: vmlinux.tmp.gz $(OBJS) $(LIBS) $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \ --add-section image=vmlinux.tmp.gz \ --set-section-flags image=contents,alloc,load,load,data \ $(OBJS) $@.tmp $(LD) $(LD_ARGS) -o $@.elf $@.tmp $(LIBS) -L/xtensa-elf/lib $(LIBGCC) $(OBJCOPY) -S -O binary $@.elf arch/$(ARCH)/boot/$@.redboot - rm -f $@.tmp $@.elf vmlinux.tmp.gz - diff --git a/arch/xtensa/boot/boot-redboot/boot.ld b/arch/xtensa/boot/boot-redboot/boot.ld index 774db20d11f7..5bbcaf9e830d 100644 --- a/arch/xtensa/boot/boot-redboot/boot.ld +++ b/arch/xtensa/boot/boot-redboot/boot.ld @@ -31,13 +31,6 @@ SECTIONS __reloc_end = . ; - .initrd ALIGN(0x10) : - { - boot_initrd_start = . ; - *(.initrd) - boot_initrd_end = .; - } - . = ALIGN(0x10); __image_load = . ; .image 0xd0001000: AT(__image_load) diff --git a/arch/xtensa/boot/boot-redboot/bootstrap.S b/arch/xtensa/boot/boot-redboot/bootstrap.S index 5582e8cfac8f..4c316cd28a54 100644 --- a/arch/xtensa/boot/boot-redboot/bootstrap.S +++ b/arch/xtensa/boot/boot-redboot/bootstrap.S @@ -226,17 +226,7 @@ _reloc: isync - movi a5, __start - movi a3, boot_initrd_start - movi a4, boot_initrd_end - sub a3, a3, a5 - sub a4, a4, a5 - add a3, a0, a3 - add a4, a0, a4 - # a2 Boot parameter list - # a3 initrd_start (virtual load address) - # a4 initrd_end (virtual load address) movi a0, _image_start jx a0 diff --git a/arch/xtensa/boot/ramdisk/Makefile b/arch/xtensa/boot/ramdisk/Makefile deleted file mode 100644 index b12f76352438..000000000000 --- a/arch/xtensa/boot/ramdisk/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# -# Makefile for a ramdisk image -# - -BIG_ENDIAN := $(shell echo -e "\#ifdef __XTENSA_EL__\nint little;\n\#else\nint big;\n\#endif" | $(CC) -E -|grep -c big) - -ifeq ($(BIG_ENDIAN),1) -OBJCOPY_ARGS := -O elf32-xtensa-be -else -OBJCOPY_ARGS := -O elf32-xtensa-le -endif - -obj-y = ramdisk.o - -RAMDISK_IMAGE = arch/$(ARCH)/boot/ramdisk/$(CONFIG_EMBEDDED_RAMDISK_IMAGE) - -arch/$(ARCH)/boot/ramdisk/ramdisk.o: - $(Q)echo -e "dummy:" | $(AS) -o $@; - $(Q)$(OBJCOPY) $(OBJCOPY_ARGS) \ - --add-section .initrd=$(RAMDISK_IMAGE) \ - --set-section-flags .initrd=contents,alloc,load,load,data \ - arch/$(ARCH)/boot/ramdisk/ramdisk.o $@ - |