* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-16 21:03 ` Stephen Warren
0 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-16 21:03 UTC (permalink / raw)
To: Michal Marek
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch, Stephen Warren
All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
to avoid duplication.
All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
parameterized version in Makefile.lib to avoid duplication.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
---
v2:
* Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
* Fix missing ) on a variable reference in avr32 and sparc.
* Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
already set.
* The patch series is now just this single patch which removes duplication;
I've dropped the Kconfig feature to allow use of -T kernel_noload for
now, since it looks like U-Boot is gaining direct zImage support.
arch/arm/boot/Makefile | 23 +++++++++--------------
arch/avr32/boot/images/Makefile | 9 +++------
arch/blackfin/boot/Makefile | 19 ++++++++-----------
arch/microblaze/boot/Makefile | 10 +++-------
arch/sh/boot/Makefile | 8 ++------
arch/sparc/boot/Makefile | 9 +++------
arch/unicore32/boot/Makefile | 12 ++----------
scripts/Makefile.lib | 24 ++++++++++++++++++++++++
8 files changed, 54 insertions(+), 60 deletions(-)
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index fc871e7..c877087 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 1995-2002 Russell King
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
ifneq ($(MACHINE),)
include $(srctree)/$(MACHINE)/Makefile.boot
endif
@@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
clean-files := *.dtb
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-ifeq ($(CONFIG_ZBOOT_ROM),y)
-$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ifneq ($(LOADADDR),)
+ UIMAGE_LOADADDR=$(LOADADDR)
else
-$(obj)/uImage: LOADADDR=$(ZRELADDR)
+ ifeq ($(CONFIG_ZBOOT_ROM),y)
+ UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ else
+ UIMAGE_LOADADDR=$(ZRELADDR)
+ endif
endif
-$(obj)/uImage: STARTADDR=$(LOADADDR)
-
check_for_multiple_loadaddr = \
-if [ $(words $(LOADADDR)) -gt 1 ]; then \
- echo 'multiple load addresses: $(LOADADDR)'; \
+if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
+ echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
echo 'This is incompatible with uImages'; \
echo 'Specify LOADADDR on the commandline to build an uImage'; \
false; \
diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
index 1848bf0..2a3b539 100644
--- a/arch/avr32/boot/images/Makefile
+++ b/arch/avr32/boot/images/Makefile
@@ -6,8 +6,6 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
extra-y := vmlinux.bin vmlinux.gz
OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
@@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
- -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
+UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
+UIMAGE_COMPRESSION = gzip
targets += uImage uImage.srec
$(obj)/uImage: $(obj)/vmlinux.gz
diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
index 0a49279..f7d27d5 100644
--- a/arch/blackfin/boot/Makefile
+++ b/arch/blackfin/boot/Makefile
@@ -6,20 +6,17 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
-UIMAGE_OPTS-y :-UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
-UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
-
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
- -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
- -e $(shell $(NM) vmlinux | awk '$$NF = "__start" {print $$1}') \
- $(UIMAGE_OPTS-y) -d $< $@
+ifeq ($(CONFIG_RAMKERNEL),y)
+UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
+else # CONFIG_ROMKERNEL must be set
+UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
+endif
+UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF = "__start" {print $$1}')
+UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
+UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
index 0c796cf..ca76ecd 100644
--- a/arch/microblaze/boot/Makefile
+++ b/arch/microblaze/boot/Makefile
@@ -2,8 +2,6 @@
# arch/microblaze/boot/Makefile
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
obj-y += linked_dtb.o
targets := linux.bin linux.bin.gz simpleImage.%
@@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
-K _fdt_start vmlinux -o $@
-quiet_cmd_uimage = UIMAGE $@.ub
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
- -C none -n 'Linux-$(KERNELRELEASE)' \
- -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
- -d $@ $@.ub
+UIMAGE_IN = $@
+UIMAGE_OUT = $@.ub
+UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
$(obj)/simpleImage.%: vmlinux FORCE
$(call if_changed,cp,.unstrip)
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index e4ea31a..58592df 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -8,8 +8,6 @@
# Copyright (C) 1999 Stuart Menefy
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
#
# Assign safe dummy values if these variables are not defined,
# in order to suppress error message.
@@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
$(KERNEL_MEMORY) + \
$(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
- -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(KERNEL_LOAD)
+UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index 9205416..d56d199 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -5,7 +5,6 @@
ROOT_IMG := /usr/src/root.img
ELFTOAOUT := elftoaout
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
hostprogs-y := piggyback btfixupprep
targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
@@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
$(obj)/image.gz: $(obj)/image.bin
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
- -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
- -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
- -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
+UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
+UIMAGE_COMPRESSION = gzip
quiet_cmd_uimage.o = UIMAGE.O $@
cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
index 79e5f88..ec7fb70 100644
--- a/arch/unicore32/boot/Makefile
+++ b/arch/unicore32/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 2001~2010 GUAN Xue-tao
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := Image zImage uImage
$(obj)/Image: vmlinux FORCE
@@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
@echo ' Kernel: $@ is ready'
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-$(obj)/uImage: LOADADDR=0x0
-
-$(obj)/uImage: STARTADDR=$(LOADADDR)
+UIMAGE_ARCH = unicore
+UIMAGE_LOADADDR = 0x0
$(obj)/uImage: $(obj)/zImage FORCE
$(call if_changed,uimage)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 00c368c..0be6f11 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
(rm -f $@ ; false)
+# U-Boot mkimage
+# ---------------------------------------------------------------------------
+
+MKIMAGE := $(srctree)/scripts/mkuboot.sh
+
+# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
+# the number of overrides in arch makefiles
+UIMAGE_ARCH ?= $(SRCARCH)
+UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
+UIMAGE_OPTS-y ?+UIMAGE_TYPE ?= kernel
+UIMAGE_LOADADDR ?= arch_must_set_this
+UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
+UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
+UIMAGE_IN ?= $<
+UIMAGE_OUT ?= $@
+
+quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
+ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
+ -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
+ -T $(UIMAGE_TYPE) \
+ -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
+ -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
+
# XZ
# ---------------------------------------------------------------------------
# Use xzkern to compress the kernel image and xzmisc to compress other things.
--
1.7.0.4
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-16 21:03 ` Stephen Warren
0 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-16 21:03 UTC (permalink / raw)
To: Michal Marek
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch, Stephen Warren
All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
to avoid duplication.
All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
parameterized version in Makefile.lib to avoid duplication.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
---
v2:
* Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
* Fix missing ) on a variable reference in avr32 and sparc.
* Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
already set.
* The patch series is now just this single patch which removes duplication;
I've dropped the Kconfig feature to allow use of -T kernel_noload for
now, since it looks like U-Boot is gaining direct zImage support.
arch/arm/boot/Makefile | 23 +++++++++--------------
arch/avr32/boot/images/Makefile | 9 +++------
arch/blackfin/boot/Makefile | 19 ++++++++-----------
arch/microblaze/boot/Makefile | 10 +++-------
arch/sh/boot/Makefile | 8 ++------
arch/sparc/boot/Makefile | 9 +++------
arch/unicore32/boot/Makefile | 12 ++----------
scripts/Makefile.lib | 24 ++++++++++++++++++++++++
8 files changed, 54 insertions(+), 60 deletions(-)
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index fc871e7..c877087 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 1995-2002 Russell King
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
ifneq ($(MACHINE),)
include $(srctree)/$(MACHINE)/Makefile.boot
endif
@@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
clean-files := *.dtb
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-ifeq ($(CONFIG_ZBOOT_ROM),y)
-$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ifneq ($(LOADADDR),)
+ UIMAGE_LOADADDR=$(LOADADDR)
else
-$(obj)/uImage: LOADADDR=$(ZRELADDR)
+ ifeq ($(CONFIG_ZBOOT_ROM),y)
+ UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ else
+ UIMAGE_LOADADDR=$(ZRELADDR)
+ endif
endif
-$(obj)/uImage: STARTADDR=$(LOADADDR)
-
check_for_multiple_loadaddr = \
-if [ $(words $(LOADADDR)) -gt 1 ]; then \
- echo 'multiple load addresses: $(LOADADDR)'; \
+if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
+ echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
echo 'This is incompatible with uImages'; \
echo 'Specify LOADADDR on the commandline to build an uImage'; \
false; \
diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
index 1848bf0..2a3b539 100644
--- a/arch/avr32/boot/images/Makefile
+++ b/arch/avr32/boot/images/Makefile
@@ -6,8 +6,6 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
extra-y := vmlinux.bin vmlinux.gz
OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
@@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
- -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
+UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
+UIMAGE_COMPRESSION = gzip
targets += uImage uImage.srec
$(obj)/uImage: $(obj)/vmlinux.gz
diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
index 0a49279..f7d27d5 100644
--- a/arch/blackfin/boot/Makefile
+++ b/arch/blackfin/boot/Makefile
@@ -6,20 +6,17 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
-UIMAGE_OPTS-y :=
-UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
-UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
-
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
- -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
- -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
- $(UIMAGE_OPTS-y) -d $< $@
+ifeq ($(CONFIG_RAMKERNEL),y)
+UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
+else # CONFIG_ROMKERNEL must be set
+UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
+endif
+UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}')
+UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
+UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
index 0c796cf..ca76ecd 100644
--- a/arch/microblaze/boot/Makefile
+++ b/arch/microblaze/boot/Makefile
@@ -2,8 +2,6 @@
# arch/microblaze/boot/Makefile
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
obj-y += linked_dtb.o
targets := linux.bin linux.bin.gz simpleImage.%
@@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
-K _fdt_start vmlinux -o $@
-quiet_cmd_uimage = UIMAGE $@.ub
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
- -C none -n 'Linux-$(KERNELRELEASE)' \
- -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
- -d $@ $@.ub
+UIMAGE_IN = $@
+UIMAGE_OUT = $@.ub
+UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
$(obj)/simpleImage.%: vmlinux FORCE
$(call if_changed,cp,.unstrip)
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index e4ea31a..58592df 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -8,8 +8,6 @@
# Copyright (C) 1999 Stuart Menefy
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
#
# Assign safe dummy values if these variables are not defined,
# in order to suppress error message.
@@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
$(KERNEL_MEMORY) + \
$(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
- -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(KERNEL_LOAD)
+UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index 9205416..d56d199 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -5,7 +5,6 @@
ROOT_IMG := /usr/src/root.img
ELFTOAOUT := elftoaout
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
hostprogs-y := piggyback btfixupprep
targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
@@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
$(obj)/image.gz: $(obj)/image.bin
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
- -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
- -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
- -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
+UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
+UIMAGE_COMPRESSION = gzip
quiet_cmd_uimage.o = UIMAGE.O $@
cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
index 79e5f88..ec7fb70 100644
--- a/arch/unicore32/boot/Makefile
+++ b/arch/unicore32/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 2001~2010 GUAN Xue-tao
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := Image zImage uImage
$(obj)/Image: vmlinux FORCE
@@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
@echo ' Kernel: $@ is ready'
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-$(obj)/uImage: LOADADDR=0x0
-
-$(obj)/uImage: STARTADDR=$(LOADADDR)
+UIMAGE_ARCH = unicore
+UIMAGE_LOADADDR = 0x0
$(obj)/uImage: $(obj)/zImage FORCE
$(call if_changed,uimage)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 00c368c..0be6f11 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
(rm -f $@ ; false)
+# U-Boot mkimage
+# ---------------------------------------------------------------------------
+
+MKIMAGE := $(srctree)/scripts/mkuboot.sh
+
+# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
+# the number of overrides in arch makefiles
+UIMAGE_ARCH ?= $(SRCARCH)
+UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
+UIMAGE_OPTS-y ?=
+UIMAGE_TYPE ?= kernel
+UIMAGE_LOADADDR ?= arch_must_set_this
+UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
+UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
+UIMAGE_IN ?= $<
+UIMAGE_OUT ?= $@
+
+quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
+ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
+ -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
+ -T $(UIMAGE_TYPE) \
+ -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
+ -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
+
# XZ
# ---------------------------------------------------------------------------
# Use xzkern to compress the kernel image and xzmisc to compress other things.
--
1.7.0.4
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-16 21:03 ` Stephen Warren
0 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-16 21:03 UTC (permalink / raw)
To: linux-arm-kernel
All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
to avoid duplication.
All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
parameterized version in Makefile.lib to avoid duplication.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
---
v2:
* Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
* Fix missing ) on a variable reference in avr32 and sparc.
* Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
already set.
* The patch series is now just this single patch which removes duplication;
I've dropped the Kconfig feature to allow use of -T kernel_noload for
now, since it looks like U-Boot is gaining direct zImage support.
arch/arm/boot/Makefile | 23 +++++++++--------------
arch/avr32/boot/images/Makefile | 9 +++------
arch/blackfin/boot/Makefile | 19 ++++++++-----------
arch/microblaze/boot/Makefile | 10 +++-------
arch/sh/boot/Makefile | 8 ++------
arch/sparc/boot/Makefile | 9 +++------
arch/unicore32/boot/Makefile | 12 ++----------
scripts/Makefile.lib | 24 ++++++++++++++++++++++++
8 files changed, 54 insertions(+), 60 deletions(-)
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index fc871e7..c877087 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 1995-2002 Russell King
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
ifneq ($(MACHINE),)
include $(srctree)/$(MACHINE)/Makefile.boot
endif
@@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
clean-files := *.dtb
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-ifeq ($(CONFIG_ZBOOT_ROM),y)
-$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ifneq ($(LOADADDR),)
+ UIMAGE_LOADADDR=$(LOADADDR)
else
-$(obj)/uImage: LOADADDR=$(ZRELADDR)
+ ifeq ($(CONFIG_ZBOOT_ROM),y)
+ UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
+ else
+ UIMAGE_LOADADDR=$(ZRELADDR)
+ endif
endif
-$(obj)/uImage: STARTADDR=$(LOADADDR)
-
check_for_multiple_loadaddr = \
-if [ $(words $(LOADADDR)) -gt 1 ]; then \
- echo 'multiple load addresses: $(LOADADDR)'; \
+if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
+ echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
echo 'This is incompatible with uImages'; \
echo 'Specify LOADADDR on the commandline to build an uImage'; \
false; \
diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
index 1848bf0..2a3b539 100644
--- a/arch/avr32/boot/images/Makefile
+++ b/arch/avr32/boot/images/Makefile
@@ -6,8 +6,6 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
extra-y := vmlinux.bin vmlinux.gz
OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
@@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
- -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
+UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
+UIMAGE_COMPRESSION = gzip
targets += uImage uImage.srec
$(obj)/uImage: $(obj)/vmlinux.gz
diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
index 0a49279..f7d27d5 100644
--- a/arch/blackfin/boot/Makefile
+++ b/arch/blackfin/boot/Makefile
@@ -6,20 +6,17 @@
# for more details.
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
-UIMAGE_OPTS-y :=
-UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
-UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
-
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
- -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
- -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
- $(UIMAGE_OPTS-y) -d $< $@
+ifeq ($(CONFIG_RAMKERNEL),y)
+UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
+else # CONFIG_ROMKERNEL must be set
+UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
+endif
+UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}')
+UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
+UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
index 0c796cf..ca76ecd 100644
--- a/arch/microblaze/boot/Makefile
+++ b/arch/microblaze/boot/Makefile
@@ -2,8 +2,6 @@
# arch/microblaze/boot/Makefile
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
obj-y += linked_dtb.o
targets := linux.bin linux.bin.gz simpleImage.%
@@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
-K _fdt_start vmlinux -o $@
-quiet_cmd_uimage = UIMAGE $@.ub
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
- -C none -n 'Linux-$(KERNELRELEASE)' \
- -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
- -d $@ $@.ub
+UIMAGE_IN = $@
+UIMAGE_OUT = $@.ub
+UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
$(obj)/simpleImage.%: vmlinux FORCE
$(call if_changed,cp,.unstrip)
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
index e4ea31a..58592df 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -8,8 +8,6 @@
# Copyright (C) 1999 Stuart Menefy
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
#
# Assign safe dummy values if these variables are not defined,
# in order to suppress error message.
@@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
$(KERNEL_MEMORY) + \
$(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
- -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
+UIMAGE_LOADADDR = $(KERNEL_LOAD)
+UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index 9205416..d56d199 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -5,7 +5,6 @@
ROOT_IMG := /usr/src/root.img
ELFTOAOUT := elftoaout
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
hostprogs-y := piggyback btfixupprep
targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
@@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
$(obj)/image.gz: $(obj)/image.bin
$(call if_changed,gzip)
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
- -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
- -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
- -d $< $@
+UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
+UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
+UIMAGE_COMPRESSION = gzip
quiet_cmd_uimage.o = UIMAGE.O $@
cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
index 79e5f88..ec7fb70 100644
--- a/arch/unicore32/boot/Makefile
+++ b/arch/unicore32/boot/Makefile
@@ -11,8 +11,6 @@
# Copyright (C) 2001~2010 GUAN Xue-tao
#
-MKIMAGE := $(srctree)/scripts/mkuboot.sh
-
targets := Image zImage uImage
$(obj)/Image: vmlinux FORCE
@@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
@echo ' Kernel: $@ is ready'
-quiet_cmd_uimage = UIMAGE $@
- cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
- -C none -a $(LOADADDR) -e $(STARTADDR) \
- -n 'Linux-$(KERNELRELEASE)' -d $< $@
-
-$(obj)/uImage: LOADADDR=0x0
-
-$(obj)/uImage: STARTADDR=$(LOADADDR)
+UIMAGE_ARCH = unicore
+UIMAGE_LOADADDR = 0x0
$(obj)/uImage: $(obj)/zImage FORCE
$(call if_changed,uimage)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 00c368c..0be6f11 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
(rm -f $@ ; false)
+# U-Boot mkimage
+# ---------------------------------------------------------------------------
+
+MKIMAGE := $(srctree)/scripts/mkuboot.sh
+
+# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
+# the number of overrides in arch makefiles
+UIMAGE_ARCH ?= $(SRCARCH)
+UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
+UIMAGE_OPTS-y ?=
+UIMAGE_TYPE ?= kernel
+UIMAGE_LOADADDR ?= arch_must_set_this
+UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
+UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
+UIMAGE_IN ?= $<
+UIMAGE_OUT ?= $@
+
+quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
+ cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
+ -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
+ -T $(UIMAGE_TYPE) \
+ -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
+ -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
+
# XZ
# ---------------------------------------------------------------------------
# Use xzkern to compress the kernel image and xzmisc to compress other things.
--
1.7.0.4
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-16 21:03 ` Stephen Warren
(?)
@ 2012-03-16 21:47 ` Nicolas Pitre
-1 siblings, 0 replies; 24+ messages in thread
From: Nicolas Pitre @ 2012-03-16 21:47 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
On Fri, 16 Mar 2012, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
>
> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> index fc871e7..c877087 100644
> --- a/arch/arm/boot/Makefile
> +++ b/arch/arm/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 1995-2002 Russell King
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> ifneq ($(MACHINE),)
> include $(srctree)/$(MACHINE)/Makefile.boot
> endif
> @@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
>
> clean-files := *.dtb
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -ifeq ($(CONFIG_ZBOOT_ROM),y)
> -$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> +ifneq ($(LOADADDR),)
> + UIMAGE_LOADADDR=$(LOADADDR)
> else
> -$(obj)/uImage: LOADADDR=$(ZRELADDR)
> + ifeq ($(CONFIG_ZBOOT_ROM),y)
> + UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> + else
> + UIMAGE_LOADADDR=$(ZRELADDR)
> + endif
> endif
>
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> -
> check_for_multiple_loadaddr = \
> -if [ $(words $(LOADADDR)) -gt 1 ]; then \
> - echo 'multiple load addresses: $(LOADADDR)'; \
> +if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
> + echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
> echo 'This is incompatible with uImages'; \
> echo 'Specify LOADADDR on the commandline to build an uImage'; \
> false; \
> diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
> index 1848bf0..2a3b539 100644
> --- a/arch/avr32/boot/images/Makefile
> +++ b/arch/avr32/boot/images/Makefile
> @@ -6,8 +6,6 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> extra-y := vmlinux.bin vmlinux.gz
>
> OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
> @@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
> $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
> - -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
> +UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
> +UIMAGE_COMPRESSION = gzip
>
> targets += uImage uImage.srec
> $(obj)/uImage: $(obj)/vmlinux.gz
> diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
> index 0a49279..f7d27d5 100644
> --- a/arch/blackfin/boot/Makefile
> +++ b/arch/blackfin/boot/Makefile
> @@ -6,20 +6,17 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
> extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
>
> -UIMAGE_OPTS-y :> -UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
> -UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
> -
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
> - -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
> - -e $(shell $(NM) vmlinux | awk '$$NF = "__start" {print $$1}') \
> - $(UIMAGE_OPTS-y) -d $< $@
> +ifeq ($(CONFIG_RAMKERNEL),y)
> +UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
> +else # CONFIG_ROMKERNEL must be set
> +UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
> +endif
> +UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF = "__start" {print $$1}')
> +UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
> +UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
> index 0c796cf..ca76ecd 100644
> --- a/arch/microblaze/boot/Makefile
> +++ b/arch/microblaze/boot/Makefile
> @@ -2,8 +2,6 @@
> # arch/microblaze/boot/Makefile
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> obj-y += linked_dtb.o
>
> targets := linux.bin linux.bin.gz simpleImage.%
> @@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
> cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
> -K _fdt_start vmlinux -o $@
>
> -quiet_cmd_uimage = UIMAGE $@.ub
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
> - -C none -n 'Linux-$(KERNELRELEASE)' \
> - -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
> - -d $@ $@.ub
> +UIMAGE_IN = $@
> +UIMAGE_OUT = $@.ub
> +UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
>
> $(obj)/simpleImage.%: vmlinux FORCE
> $(call if_changed,cp,.unstrip)
> diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
> index e4ea31a..58592df 100644
> --- a/arch/sh/boot/Makefile
> +++ b/arch/sh/boot/Makefile
> @@ -8,8 +8,6 @@
> # Copyright (C) 1999 Stuart Menefy
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> #
> # Assign safe dummy values if these variables are not defined,
> # in order to suppress error message.
> @@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
> $(KERNEL_MEMORY) + \
> $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
> - -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(KERNEL_LOAD)
> +UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
> index 9205416..d56d199 100644
> --- a/arch/sparc/boot/Makefile
> +++ b/arch/sparc/boot/Makefile
> @@ -5,7 +5,6 @@
>
> ROOT_IMG := /usr/src/root.img
> ELFTOAOUT := elftoaout
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
>
> hostprogs-y := piggyback btfixupprep
> targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
> @@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
> $(obj)/image.gz: $(obj)/image.bin
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
> - -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
> - -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
> - -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
> +UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
> +UIMAGE_COMPRESSION = gzip
>
> quiet_cmd_uimage.o = UIMAGE.O $@
> cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
> diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
> index 79e5f88..ec7fb70 100644
> --- a/arch/unicore32/boot/Makefile
> +++ b/arch/unicore32/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 2001~2010 GUAN Xue-tao
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := Image zImage uImage
>
> $(obj)/Image: vmlinux FORCE
> @@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
> $(call if_changed,objcopy)
> @echo ' Kernel: $@ is ready'
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -$(obj)/uImage: LOADADDR=0x0
> -
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> +UIMAGE_ARCH = unicore
> +UIMAGE_LOADADDR = 0x0
>
> $(obj)/uImage: $(obj)/zImage FORCE
> $(call if_changed,uimage)
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 00c368c..0be6f11 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
> lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
> (rm -f $@ ; false)
>
> +# U-Boot mkimage
> +# ---------------------------------------------------------------------------
> +
> +MKIMAGE := $(srctree)/scripts/mkuboot.sh
> +
> +# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
> +# the number of overrides in arch makefiles
> +UIMAGE_ARCH ?= $(SRCARCH)
> +UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
> +UIMAGE_OPTS-y ?> +UIMAGE_TYPE ?= kernel
> +UIMAGE_LOADADDR ?= arch_must_set_this
> +UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
> +UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
> +UIMAGE_IN ?= $<
> +UIMAGE_OUT ?= $@
> +
> +quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
> + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
> + -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
> + -T $(UIMAGE_TYPE) \
> + -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
> + -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
> +
> # XZ
> # ---------------------------------------------------------------------------
> # Use xzkern to compress the kernel image and xzmisc to compress other things.
> --
> 1.7.0.4
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-16 21:47 ` Nicolas Pitre
0 siblings, 0 replies; 24+ messages in thread
From: Nicolas Pitre @ 2012-03-16 21:47 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
On Fri, 16 Mar 2012, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
>
> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> index fc871e7..c877087 100644
> --- a/arch/arm/boot/Makefile
> +++ b/arch/arm/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 1995-2002 Russell King
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> ifneq ($(MACHINE),)
> include $(srctree)/$(MACHINE)/Makefile.boot
> endif
> @@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
>
> clean-files := *.dtb
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -ifeq ($(CONFIG_ZBOOT_ROM),y)
> -$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> +ifneq ($(LOADADDR),)
> + UIMAGE_LOADADDR=$(LOADADDR)
> else
> -$(obj)/uImage: LOADADDR=$(ZRELADDR)
> + ifeq ($(CONFIG_ZBOOT_ROM),y)
> + UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> + else
> + UIMAGE_LOADADDR=$(ZRELADDR)
> + endif
> endif
>
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> -
> check_for_multiple_loadaddr = \
> -if [ $(words $(LOADADDR)) -gt 1 ]; then \
> - echo 'multiple load addresses: $(LOADADDR)'; \
> +if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
> + echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
> echo 'This is incompatible with uImages'; \
> echo 'Specify LOADADDR on the commandline to build an uImage'; \
> false; \
> diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
> index 1848bf0..2a3b539 100644
> --- a/arch/avr32/boot/images/Makefile
> +++ b/arch/avr32/boot/images/Makefile
> @@ -6,8 +6,6 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> extra-y := vmlinux.bin vmlinux.gz
>
> OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
> @@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
> $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
> - -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
> +UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
> +UIMAGE_COMPRESSION = gzip
>
> targets += uImage uImage.srec
> $(obj)/uImage: $(obj)/vmlinux.gz
> diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
> index 0a49279..f7d27d5 100644
> --- a/arch/blackfin/boot/Makefile
> +++ b/arch/blackfin/boot/Makefile
> @@ -6,20 +6,17 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
> extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
>
> -UIMAGE_OPTS-y :=
> -UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
> -UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
> -
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
> - -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
> - -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
> - $(UIMAGE_OPTS-y) -d $< $@
> +ifeq ($(CONFIG_RAMKERNEL),y)
> +UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
> +else # CONFIG_ROMKERNEL must be set
> +UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
> +endif
> +UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}')
> +UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
> +UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
> index 0c796cf..ca76ecd 100644
> --- a/arch/microblaze/boot/Makefile
> +++ b/arch/microblaze/boot/Makefile
> @@ -2,8 +2,6 @@
> # arch/microblaze/boot/Makefile
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> obj-y += linked_dtb.o
>
> targets := linux.bin linux.bin.gz simpleImage.%
> @@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
> cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
> -K _fdt_start vmlinux -o $@
>
> -quiet_cmd_uimage = UIMAGE $@.ub
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
> - -C none -n 'Linux-$(KERNELRELEASE)' \
> - -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
> - -d $@ $@.ub
> +UIMAGE_IN = $@
> +UIMAGE_OUT = $@.ub
> +UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
>
> $(obj)/simpleImage.%: vmlinux FORCE
> $(call if_changed,cp,.unstrip)
> diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
> index e4ea31a..58592df 100644
> --- a/arch/sh/boot/Makefile
> +++ b/arch/sh/boot/Makefile
> @@ -8,8 +8,6 @@
> # Copyright (C) 1999 Stuart Menefy
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> #
> # Assign safe dummy values if these variables are not defined,
> # in order to suppress error message.
> @@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
> $(KERNEL_MEMORY) + \
> $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
> - -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(KERNEL_LOAD)
> +UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
> index 9205416..d56d199 100644
> --- a/arch/sparc/boot/Makefile
> +++ b/arch/sparc/boot/Makefile
> @@ -5,7 +5,6 @@
>
> ROOT_IMG := /usr/src/root.img
> ELFTOAOUT := elftoaout
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
>
> hostprogs-y := piggyback btfixupprep
> targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
> @@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
> $(obj)/image.gz: $(obj)/image.bin
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
> - -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
> - -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
> - -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
> +UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
> +UIMAGE_COMPRESSION = gzip
>
> quiet_cmd_uimage.o = UIMAGE.O $@
> cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
> diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
> index 79e5f88..ec7fb70 100644
> --- a/arch/unicore32/boot/Makefile
> +++ b/arch/unicore32/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 2001~2010 GUAN Xue-tao
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := Image zImage uImage
>
> $(obj)/Image: vmlinux FORCE
> @@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
> $(call if_changed,objcopy)
> @echo ' Kernel: $@ is ready'
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -$(obj)/uImage: LOADADDR=0x0
> -
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> +UIMAGE_ARCH = unicore
> +UIMAGE_LOADADDR = 0x0
>
> $(obj)/uImage: $(obj)/zImage FORCE
> $(call if_changed,uimage)
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 00c368c..0be6f11 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
> lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
> (rm -f $@ ; false)
>
> +# U-Boot mkimage
> +# ---------------------------------------------------------------------------
> +
> +MKIMAGE := $(srctree)/scripts/mkuboot.sh
> +
> +# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
> +# the number of overrides in arch makefiles
> +UIMAGE_ARCH ?= $(SRCARCH)
> +UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
> +UIMAGE_OPTS-y ?=
> +UIMAGE_TYPE ?= kernel
> +UIMAGE_LOADADDR ?= arch_must_set_this
> +UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
> +UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
> +UIMAGE_IN ?= $<
> +UIMAGE_OUT ?= $@
> +
> +quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
> + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
> + -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
> + -T $(UIMAGE_TYPE) \
> + -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
> + -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
> +
> # XZ
> # ---------------------------------------------------------------------------
> # Use xzkern to compress the kernel image and xzmisc to compress other things.
> --
> 1.7.0.4
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-16 21:47 ` Nicolas Pitre
0 siblings, 0 replies; 24+ messages in thread
From: Nicolas Pitre @ 2012-03-16 21:47 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, 16 Mar 2012, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
>
> diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
> index fc871e7..c877087 100644
> --- a/arch/arm/boot/Makefile
> +++ b/arch/arm/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 1995-2002 Russell King
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> ifneq ($(MACHINE),)
> include $(srctree)/$(MACHINE)/Makefile.boot
> endif
> @@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y))
>
> clean-files := *.dtb
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -ifeq ($(CONFIG_ZBOOT_ROM),y)
> -$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> +ifneq ($(LOADADDR),)
> + UIMAGE_LOADADDR=$(LOADADDR)
> else
> -$(obj)/uImage: LOADADDR=$(ZRELADDR)
> + ifeq ($(CONFIG_ZBOOT_ROM),y)
> + UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
> + else
> + UIMAGE_LOADADDR=$(ZRELADDR)
> + endif
> endif
>
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> -
> check_for_multiple_loadaddr = \
> -if [ $(words $(LOADADDR)) -gt 1 ]; then \
> - echo 'multiple load addresses: $(LOADADDR)'; \
> +if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \
> + echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \
> echo 'This is incompatible with uImages'; \
> echo 'Specify LOADADDR on the commandline to build an uImage'; \
> false; \
> diff --git a/arch/avr32/boot/images/Makefile b/arch/avr32/boot/images/Makefile
> index 1848bf0..2a3b539 100644
> --- a/arch/avr32/boot/images/Makefile
> +++ b/arch/avr32/boot/images/Makefile
> @@ -6,8 +6,6 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> extra-y := vmlinux.bin vmlinux.gz
>
> OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
> @@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE
> $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \
> - -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS)
> +UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS)
> +UIMAGE_COMPRESSION = gzip
>
> targets += uImage uImage.srec
> $(obj)/uImage: $(obj)/vmlinux.gz
> diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
> index 0a49279..f7d27d5 100644
> --- a/arch/blackfin/boot/Makefile
> +++ b/arch/blackfin/boot/Makefile
> @@ -6,20 +6,17 @@
> # for more details.
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip
> extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
>
> -UIMAGE_OPTS-y :=
> -UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD)
> -UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x
> -
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
> - -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \
> - -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
> - $(UIMAGE_OPTS-y) -d $< $@
> +ifeq ($(CONFIG_RAMKERNEL),y)
> +UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
> +else # CONFIG_ROMKERNEL must be set
> +UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
> +endif
> +UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}')
> +UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
> +UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/microblaze/boot/Makefile b/arch/microblaze/boot/Makefile
> index 0c796cf..ca76ecd 100644
> --- a/arch/microblaze/boot/Makefile
> +++ b/arch/microblaze/boot/Makefile
> @@ -2,8 +2,6 @@
> # arch/microblaze/boot/Makefile
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> obj-y += linked_dtb.o
>
> targets := linux.bin linux.bin.gz simpleImage.%
> @@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@
> cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \
> -K _fdt_start vmlinux -o $@
>
> -quiet_cmd_uimage = UIMAGE $@.ub
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \
> - -C none -n 'Linux-$(KERNELRELEASE)' \
> - -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \
> - -d $@ $@.ub
> +UIMAGE_IN = $@
> +UIMAGE_OUT = $@.ub
> +UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR)
>
> $(obj)/simpleImage.%: vmlinux FORCE
> $(call if_changed,cp,.unstrip)
> diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
> index e4ea31a..58592df 100644
> --- a/arch/sh/boot/Makefile
> +++ b/arch/sh/boot/Makefile
> @@ -8,8 +8,6 @@
> # Copyright (C) 1999 Stuart Menefy
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> #
> # Assign safe dummy values if these variables are not defined,
> # in order to suppress error message.
> @@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \
> $(KERNEL_MEMORY) + \
> $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \
> - -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> +UIMAGE_LOADADDR = $(KERNEL_LOAD)
> +UIMAGE_ENTRYADDR = $(KERNEL_ENTRY)
>
> $(obj)/vmlinux.bin: vmlinux FORCE
> $(call if_changed,objcopy)
> diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
> index 9205416..d56d199 100644
> --- a/arch/sparc/boot/Makefile
> +++ b/arch/sparc/boot/Makefile
> @@ -5,7 +5,6 @@
>
> ROOT_IMG := /usr/src/root.img
> ELFTOAOUT := elftoaout
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
>
> hostprogs-y := piggyback btfixupprep
> targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout
> @@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE
> $(obj)/image.gz: $(obj)/image.bin
> $(call if_changed,gzip)
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \
> - -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \
> - -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \
> - -d $< $@
> +UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR)
> +UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR)
> +UIMAGE_COMPRESSION = gzip
>
> quiet_cmd_uimage.o = UIMAGE.O $@
> cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \
> diff --git a/arch/unicore32/boot/Makefile b/arch/unicore32/boot/Makefile
> index 79e5f88..ec7fb70 100644
> --- a/arch/unicore32/boot/Makefile
> +++ b/arch/unicore32/boot/Makefile
> @@ -11,8 +11,6 @@
> # Copyright (C) 2001~2010 GUAN Xue-tao
> #
>
> -MKIMAGE := $(srctree)/scripts/mkuboot.sh
> -
> targets := Image zImage uImage
>
> $(obj)/Image: vmlinux FORCE
> @@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
> $(call if_changed,objcopy)
> @echo ' Kernel: $@ is ready'
>
> -quiet_cmd_uimage = UIMAGE $@
> - cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \
> - -C none -a $(LOADADDR) -e $(STARTADDR) \
> - -n 'Linux-$(KERNELRELEASE)' -d $< $@
> -
> -$(obj)/uImage: LOADADDR=0x0
> -
> -$(obj)/uImage: STARTADDR=$(LOADADDR)
> +UIMAGE_ARCH = unicore
> +UIMAGE_LOADADDR = 0x0
>
> $(obj)/uImage: $(obj)/zImage FORCE
> $(call if_changed,uimage)
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 00c368c..0be6f11 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \
> lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
> (rm -f $@ ; false)
>
> +# U-Boot mkimage
> +# ---------------------------------------------------------------------------
> +
> +MKIMAGE := $(srctree)/scripts/mkuboot.sh
> +
> +# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces
> +# the number of overrides in arch makefiles
> +UIMAGE_ARCH ?= $(SRCARCH)
> +UIMAGE_COMPRESSION ?= $(if $(2),$(2),none)
> +UIMAGE_OPTS-y ?=
> +UIMAGE_TYPE ?= kernel
> +UIMAGE_LOADADDR ?= arch_must_set_this
> +UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
> +UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
> +UIMAGE_IN ?= $<
> +UIMAGE_OUT ?= $@
> +
> +quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT)
> + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
> + -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
> + -T $(UIMAGE_TYPE) \
> + -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \
> + -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT)
> +
> # XZ
> # ---------------------------------------------------------------------------
> # Use xzkern to compress the kernel image and xzmisc to compress other things.
> --
> 1.7.0.4
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-16 21:03 ` Stephen Warren
(?)
@ 2012-03-19 0:42 ` Mike Frysinger
-1 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-19 0:42 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
[-- Attachment #1: Type: Text/Plain, Size: 390 bytes --]
On Friday 16 March 2012 17:03:55 Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
seems to build for Blackfin systems.
Tested-by: Mike Frysinger <vapier@gentoo.org>
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 0:42 ` Mike Frysinger
0 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-19 0:42 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
[-- Attachment #1: Type: Text/Plain, Size: 390 bytes --]
On Friday 16 March 2012 17:03:55 Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
seems to build for Blackfin systems.
Tested-by: Mike Frysinger <vapier@gentoo.org>
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 0:42 ` Mike Frysinger
0 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-19 0:42 UTC (permalink / raw)
To: linux-arm-kernel
On Friday 16 March 2012 17:03:55 Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
seems to build for Blackfin systems.
Tested-by: Mike Frysinger <vapier@gentoo.org>
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120318/491a1de7/attachment.sig>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-16 21:03 ` Stephen Warren
(?)
@ 2012-03-19 6:46 ` Michal Simek
-1 siblings, 0 replies; 24+ messages in thread
From: Michal Simek @ 2012-03-19 6:46 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
No problem for Microblaze.
Tested-by: Michal Simek <monstr@monstr.eu>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 6:46 ` Michal Simek
0 siblings, 0 replies; 24+ messages in thread
From: Michal Simek @ 2012-03-19 6:46 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
No problem for Microblaze.
Tested-by: Michal Simek <monstr@monstr.eu>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 6:46 ` Michal Simek
0 siblings, 0 replies; 24+ messages in thread
From: Michal Simek @ 2012-03-19 6:46 UTC (permalink / raw)
To: linux-arm-kernel
Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
> arch/arm/boot/Makefile | 23 +++++++++--------------
> arch/avr32/boot/images/Makefile | 9 +++------
> arch/blackfin/boot/Makefile | 19 ++++++++-----------
> arch/microblaze/boot/Makefile | 10 +++-------
> arch/sh/boot/Makefile | 8 ++------
> arch/sparc/boot/Makefile | 9 +++------
> arch/unicore32/boot/Makefile | 12 ++----------
> scripts/Makefile.lib | 24 ++++++++++++++++++++++++
> 8 files changed, 54 insertions(+), 60 deletions(-)
No problem for Microblaze.
Tested-by: Michal Simek <monstr@monstr.eu>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-16 21:03 ` Stephen Warren
(?)
@ 2012-03-19 9:05 ` Guan Xueao
-1 siblings, 0 replies; 24+ messages in thread
From: Guan Xueao @ 2012-03-19 9:05 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Michal Simek, Paul Mundt,
David S. Miller, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 03/17/2012 05:03 AM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren<swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
>
Tested on unicore32.
Tested-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 9:05 ` Guan Xueao
0 siblings, 0 replies; 24+ messages in thread
From: Guan Xueao @ 2012-03-19 9:05 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Mike Frysinger, Michal Simek, Paul Mundt,
David S. Miller, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 03/17/2012 05:03 AM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren<swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
>
Tested on unicore32.
Tested-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-19 9:05 ` Guan Xueao
0 siblings, 0 replies; 24+ messages in thread
From: Guan Xueao @ 2012-03-19 9:05 UTC (permalink / raw)
To: linux-arm-kernel
On 03/17/2012 05:03 AM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
>
> Signed-off-by: Stephen Warren<swarren@wwwdotorg.org>
> ---
> v2:
> * Fix blackfin's UIMAGE_LOADADDR in the ROMKERNEL case.
> * Fix missing ) on a variable reference in avr32 and sparc.
> * Only set those UIMAGE_* variables that the arch-specific Makefile hasn't
> already set.
> * The patch series is now just this single patch which removes duplication;
> I've dropped the Kconfig feature to allow use of -T kernel_noload for
> now, since it looks like U-Boot is gaining direct zImage support.
>
>
Tested on unicore32.
Tested-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-16 21:03 ` Stephen Warren
(?)
@ 2012-03-22 18:40 ` Stephen Warren
-1 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-22 18:40 UTC (permalink / raw)
To: Michal Marek
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 03/16/2012 03:03 PM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
Michal,
Does this change look reasonable? It has acks from people working on 4
of the 7 affected architectures; would you prefer acks from all?
Thanks.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-22 18:40 ` Stephen Warren
0 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-22 18:40 UTC (permalink / raw)
To: Michal Marek
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 03/16/2012 03:03 PM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
Michal,
Does this change look reasonable? It has acks from people working on 4
of the 7 affected architectures; would you prefer acks from all?
Thanks.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-22 18:40 ` Stephen Warren
0 siblings, 0 replies; 24+ messages in thread
From: Stephen Warren @ 2012-03-22 18:40 UTC (permalink / raw)
To: linux-arm-kernel
On 03/16/2012 03:03 PM, Stephen Warren wrote:
> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> to avoid duplication.
>
> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> parameterized version in Makefile.lib to avoid duplication.
Michal,
Does this change look reasonable? It has acks from people working on 4
of the 7 affected architectures; would you prefer acks from all?
Thanks.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-22 18:40 ` Stephen Warren
(?)
@ 2012-03-22 20:53 ` Mike Frysinger
-1 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-22 20:53 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
[-- Attachment #1: Type: Text/Plain, Size: 552 bytes --]
On Thursday 22 March 2012 14:40:38 Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
> > All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> > to avoid duplication.
> >
> > All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> > parameterized version in Makefile.lib to avoid duplication.
>
> Does this change look reasonable? It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
isn't that what linux-next is for ? ;)
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-22 20:53 ` Mike Frysinger
0 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-22 20:53 UTC (permalink / raw)
To: Stephen Warren
Cc: Michal Marek, Russell King, nico, Haavard Skinnemoen,
Hans-Christian Egtvedt, Michal Simek, Paul Mundt,
David S. Miller, Guan Xuetao, linux-kernel, linux-kbuild,
linux-arm-kernel, uclinux-dist-devel, microblaze-uclinux,
linux-sh, sparclinux, linux-arch
[-- Attachment #1: Type: Text/Plain, Size: 552 bytes --]
On Thursday 22 March 2012 14:40:38 Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
> > All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> > to avoid duplication.
> >
> > All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> > parameterized version in Makefile.lib to avoid duplication.
>
> Does this change look reasonable? It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
isn't that what linux-next is for ? ;)
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-22 20:53 ` Mike Frysinger
0 siblings, 0 replies; 24+ messages in thread
From: Mike Frysinger @ 2012-03-22 20:53 UTC (permalink / raw)
To: linux-arm-kernel
On Thursday 22 March 2012 14:40:38 Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
> > All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
> > to avoid duplication.
> >
> > All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
> > parameterized version in Makefile.lib to avoid duplication.
>
> Does this change look reasonable? It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
isn't that what linux-next is for ? ;)
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120322/ceac9709/attachment.sig>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
2012-03-22 18:40 ` Stephen Warren
(?)
@ 2012-03-26 13:48 ` Michal Marek
-1 siblings, 0 replies; 24+ messages in thread
From: Michal Marek @ 2012-03-26 13:48 UTC (permalink / raw)
To: Stephen Warren
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 22.3.2012 19:40, Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
>> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
>> to avoid duplication.
>>
>> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
>> parameterized version in Makefile.lib to avoid duplication.
>
> Michal,
>
> Does this change look reasonable?
Absolutely.
> It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
I will apply it now.
Michal
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-26 13:48 ` Michal Marek
0 siblings, 0 replies; 24+ messages in thread
From: Michal Marek @ 2012-03-26 13:48 UTC (permalink / raw)
To: Stephen Warren
Cc: Russell King, nico, Haavard Skinnemoen, Hans-Christian Egtvedt,
Mike Frysinger, Michal Simek, Paul Mundt, David S. Miller,
Guan Xuetao, linux-kernel, linux-kbuild, linux-arm-kernel,
uclinux-dist-devel, microblaze-uclinux, linux-sh, sparclinux,
linux-arch
On 22.3.2012 19:40, Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
>> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
>> to avoid duplication.
>>
>> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
>> parameterized version in Makefile.lib to avoid duplication.
>
> Michal,
>
> Does this change look reasonable?
Absolutely.
> It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
I will apply it now.
Michal
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions
@ 2012-03-26 13:48 ` Michal Marek
0 siblings, 0 replies; 24+ messages in thread
From: Michal Marek @ 2012-03-26 13:48 UTC (permalink / raw)
To: linux-arm-kernel
On 22.3.2012 19:40, Stephen Warren wrote:
> On 03/16/2012 03:03 PM, Stephen Warren wrote:
>> All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
>> to avoid duplication.
>>
>> All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
>> parameterized version in Makefile.lib to avoid duplication.
>
> Michal,
>
> Does this change look reasonable?
Absolutely.
> It has acks from people working on 4
> of the 7 affected architectures; would you prefer acks from all?
I will apply it now.
Michal
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2012-03-26 13:48 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-16 21:03 [PATCH] Kbuild: centralize MKIMAGE and cmd_uimage definitions Stephen Warren
2012-03-16 21:03 ` Stephen Warren
2012-03-16 21:03 ` Stephen Warren
2012-03-16 21:47 ` Nicolas Pitre
2012-03-16 21:47 ` Nicolas Pitre
2012-03-16 21:47 ` Nicolas Pitre
2012-03-19 0:42 ` Mike Frysinger
2012-03-19 0:42 ` Mike Frysinger
2012-03-19 0:42 ` Mike Frysinger
2012-03-19 6:46 ` Michal Simek
2012-03-19 6:46 ` Michal Simek
2012-03-19 6:46 ` Michal Simek
2012-03-19 9:05 ` Guan Xueao
2012-03-19 9:05 ` Guan Xueao
2012-03-19 9:05 ` Guan Xueao
2012-03-22 18:40 ` Stephen Warren
2012-03-22 18:40 ` Stephen Warren
2012-03-22 18:40 ` Stephen Warren
2012-03-22 20:53 ` Mike Frysinger
2012-03-22 20:53 ` Mike Frysinger
2012-03-22 20:53 ` Mike Frysinger
2012-03-26 13:48 ` Michal Marek
2012-03-26 13:48 ` Michal Marek
2012-03-26 13:48 ` Michal Marek
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.