From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnout Vandecappelle Date: Thu, 14 Mar 2013 07:36:04 +0100 Subject: [Buildroot] [PATCH v1] Add a load address option for building uImage on 3.7+ multi-platform kernels. In-Reply-To: <1363209204-3604-1-git-send-email-julien.boibessot@free.fr> References: <1363209204-3604-1-git-send-email-julien.boibessot@free.fr> Message-ID: <51416FD4.6010602@mind.be> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On 03/13/13 22:13, julien.boibessot at free.fr wrote: > From: Julien Boibessot > > Signed-off-by: Julien Boibessot Acked-by: Arnout Vandecappelle (Essensium/Mind) (visual inspection only) > --- > Changes since RFC: > * Took Daniel Price and Arnout Vandecappelle remarks into account to be more > explicit in the description of the option + add ARM dependancy. > * Changed the way option is used in linux.mk to prevent empty LOADADDR= > > linux/Config.in | 13 +++++++++++++ > linux/linux.mk | 5 +++++ > 2 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/linux/Config.in b/linux/Config.in > index 94ce951..a44880f 100644 > --- a/linux/Config.in > +++ b/linux/Config.in > @@ -213,6 +213,19 @@ config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME > Specify the kernel make target to build the kernel that you > need. > > +config BR2_LINUX_KERNEL_UIMAGE_LOADADDR > + string "load address (for 3.7+ multi-platform image)" > + depends on BR2_arm || BR2_armeb > + depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE > + help > + If your ARM system's Linux kernel is configured with the new (3.7+) > + multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your > + kernel config), then it is necessary to specify a kernel load address > + when building the uImage. This should be a hexadecimal string > + beginning with 0x, for example: 0x00008000. > + > + If unsure, let this option empty. > + > config BR2_LINUX_KERNEL_DTS_SUPPORT > bool "Device tree support" > help > diff --git a/linux/linux.mk b/linux/linux.mk > index 0352acd..c8f7b57 100644 > --- a/linux/linux.mk > +++ b/linux/linux.mk > @@ -95,6 +95,11 @@ LINUX_IMAGE_NAME=vmlinuz > endif > endif > > +LINUX_KERNEL_UIMAGE_LOADADDR=$(call qstrip,$(BR2_LINUX_KERNEL_UIMAGE_LOADADDR)) > +ifneq ($(LINUX_KERNEL_UIMAGE_LOADADDR),) > +LINUX_MAKE_FLAGS+=LOADADDR=$(LINUX_KERNEL_UIMAGE_LOADADDR) I would put quotes around the value, just in case the user was so stupid to insert a space. Alternatively, add an explicit check here: ifneq ($(words $(LINUX_KERNEL_UIMAGE_LOADDR)),1) $(error Multiple load addresses specified, please check \ BR2_LINUX_KERNEL_UIMAGE_LOADADDR) endif But honestly I think that is going a bit too far. > +endif > + Coding style question: the rest of the linux.mk doesn't comply with the buildroot coding style to put spaces around assignment operators. Should patches against linux.mk follow the buildroot coding style or the local linux.mk coding style? Or maybe even accept whatever the contributor fancies? I have no preference either way, I guess it's just Peter's executive decision. Regards, Arnout > ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y) > LINUX_IMAGE_TARGET=zImage > else > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F