Tom, > -----Original Message----- > From: Tom Rini [mailto:tr...@ti.com] > Sent: Thursday, September 20, 2012 9:23 AM > To: Tom Warren > Cc: José Miguel Gonçalves; Scott Wood; u-boot@lists.denx.de; ma...@denx.de; > mk7.k...@samsung.com > Subject: Re: [PATCH v4 10/11] Add u-boot-pad.bin target to the Makefile > > * PGP Signed by an unknown key > > On 09/20/12 09:01, Tom Warren wrote: > >> -----Original Message----- From: Tom Rini [mailto:tr...@ti.com] > >> Sent: Wednesday, September 19, 2012 6:29 PM To: José Miguel Gonçalves > >> Cc: Scott Wood; u-boot@lists.denx.de; ma...@denx.de; > >> mk7.k...@samsung.com; Tom Warren Subject: Re: [PATCH v4 10/11] Add > >> u-boot-pad.bin target to the Makefile > >> > >> > Old Signed by an unknown key > >> > >> On 09/19/12 17:38, José Miguel Gonçalves wrote: > >>> Tom & Scott, > >>> > >>> On 09/20/2012 12:40 AM, Tom Rini wrote: > >>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > >>>> > >>>> On 09/19/12 16:36, Scott Wood wrote: > >>>>> On 09/19/2012 06:31:29 PM, Tom Rini wrote: > >>>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > >>>>>> > >>>>>> On 09/19/12 15:39, Scott Wood wrote: > >>>>>>> On 09/19/2012 06:25:26 AM, José Miguel Gonçalves > >>>>>>> wrote: > >>>>>>>> Samsung's S3C24XX SoCs need this in order to generate a binary > >>>>>>>> image with a padded SPL concatenated with U-Boot. > >>>>>>>> > >>>>>>>> Signed-off-by: José Miguel Gonçalves <jose.goncal...@inov.pt> > >>>>>>>> --- Changes for v2: - None > >>>>>>>> > >>>>>>>> Changes for v3: - Changed new binary target name from > >>>>>>>> u-boot-ubl.bin to u-boot-pad.bin > >>>>>>>> > >>>>>>>> Changes for v4: - None --- Makefile | 11 > >>>>>>>> ++++++----- 1 file changed, 6 insertions(+), 5 > >>>>>>>> deletions(-) > >>>>>>>> > >>>>>>>> diff --git a/Makefile b/Makefile index 8738d55..86dedca 100644 > >>>>>>>> --- a/Makefile +++ b/Makefile @@ -433,14 +433,15 @@ > >>>>>>>> $(obj)u-boot.sha1: > >>>>>>>> $(obj)u-boot.bin $(obj)u-boot.dis: $(obj)u-boot > >>>>>>>> $(OBJDUMP) -d $< > $@ > >>>>>>>> > >>>>>>>> -$(obj)u-boot.ubl: $(obj)spl/u-boot-spl.bin > >>>>>>>> $(obj)u-boot.bin +$(obj)u-boot-pad.bin: > >>>>>>>> $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin $(OBJCOPY) > >>>>>>>> ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $(obj)spl/u-boot-spl > >>>>>>>> $(obj)spl/u-boot-spl-pad.bin - cat $(obj)spl/u-boot-spl-pad.bin > >>>>>>>> $(obj)u-boot.bin > > >>>>>>>> $(obj)u-boot-ubl.bin - $(obj)tools/mkimage -n > >>>>>>>> $(UBL_CONFIG) -T ublimage \ - -e > >>>>>>>> $(CONFIG_SYS_TEXT_BASE) -d $(obj)u-boot-ubl.bin > >>>>>>>> $(obj)u-boot.ubl - rm $(obj)u-boot-ubl.bin + > >>>>>>>> cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > > >>>>>>>> $(obj)u-boot-pad.bin rm $(obj)spl/u-boot-spl-pad.bin > >>>>>>> This rule lists u-boot-spl.bin as a prerequisite, but it doesn't > >>>>>>> appear to use it -- it uses u-boot-spl instead. > >>>>>>> > >>>>>>> It seems that either spl/Makefile should produce u-boot-spl > >>>>>>> rather than u-boot-spl.bin and let the toplevel Makefile deal > >>>>>>> with converting it to a binary, or spl/Makefile should take care > >>>>>>> of adding any needed padding for the target and the final rule > >>>>>>> should just be a concatenation. > >>>>>> So, if we use a weak PAD_TO value of say 0x1, we could always > >>>>>> "pad" u-boot-spl.bin out and then do the concatenation here and > >>>>>> in a few other targets as well. > >>>>> Yes, or use a variable that includes the linker option, so that it > >>>>> expands to an empty string if padding isn't required. > >>>> Yes, I don't know if say IMAGE_PAD ?= "" and having boards set that > >>>> to - --pad-to=... or just saying > >>>> --pad-to=$(PAD_SIZE) and PAD_SIZE ?= 0x1 ends up looking cleaner > >>>> once all is said and done. First one to try both and patch... :) > >>>> > >>> > >>> Please check the following patch. It seems to work for me... > >>> > >>> diff --git a/Makefile b/Makefile index 8738d55..fad8b33 100644 > >>> --- a/Makefile +++ b/Makefile @@ -433,13 +433,12 @@ > >>> $(obj)u-boot.sha1: $(obj)u-boot.bin $(obj)u-boot.dis: > >>> $(obj)u-boot $(OBJDUMP) -d $< > >>>> $@ > >>> > >>> -$(obj)u-boot.ubl: $(obj)spl/u-boot-spl.bin > >>> $(obj)u-boot.bin - $(OBJCOPY) ${OBJCFLAGS} > >>> --pad-to=$(PAD_TO) -O binary $(obj)spl/u-boot-spl > >>> $(obj)spl/u-boot-spl-pad.bin - cat > >>> $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $(obj)u-boot-ubl.bin > >>> +$(obj)u-boot-with-spl.bin: > >>> $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin + cat $^ > $@ > >>> + +$(obj)u-boot.ubl: $(obj)u-boot-with-spl.bin > >>> $(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \ - -e > >>> $(CONFIG_SYS_TEXT_BASE) -d $(obj)u-boot-ubl.bin > >>> $(obj)u-boot.ubl - rm $(obj)u-boot-ubl.bin - rm > >>> $(obj)spl/u-boot-spl-pad.bin + -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ > >>> > >>> $(obj)u-boot.ais: $(obj)spl/u-boot-spl.bin > >>> $(obj)u-boot.img $(obj)tools/mkimage -s -n /dev/null -T aisimage \ > >>> diff --git a/spl/Makefile b/spl/Makefile index > >>> f96c08e..6ea9f26 100644 --- a/spl/Makefile +++ b/spl/Makefile @@ > >>> -23,6 +23,8 @@ include $(TOPDIR)/config.mk # We want the final > >>> binaries in this directory obj := $(OBJTREE)/spl/ > >>> > >>> +PAD_TO ?= 1 + HAVE_VENDOR_COMMON_LIB := $(shell [ -f > >>> $(SRCTREE)/board/$(VENDOR)/common/Makefile ] \ && echo y || echo n) > >>> > >>> @@ -124,7 +126,7 @@ $(obj)$(BOARD)-spl.bin: > >>> $(obj)u-boot-spl.bin endif > >>> > >>> $(obj)u-boot-spl.bin: $(obj)u-boot-spl - $(OBJCOPY) > >>> $(OBJCFLAGS) -O binary $< $@ + $(OBJCOPY) ${OBJCFLAGS} > >>> --pad-to=$(PAD_TO) -O binary $< $@ > >>> > >>> GEN_UBOOT = \ UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) | \ > >> > >> Tom W, since I'd like you to upgrade the tegra rules after this > >> change goes in (since they do a u-boot-spl.bin + pad + u-boot.bin + > >> stuff), does this look good to you as well? > >> Thanks! > > > > I'm not clear what you want the final binary names to be. I seem to be > > missing segments of this discussion - maybe not CC'd on all threads? > > Sorry, I'm just asking if this way of padding u-boot-spl.bin to the required > size by default in spl/Makefile and then not doing any --pad-to in the > toplevel Makefile rules for u-boot-spl will work for your needs as well (so > update the existing rules to just concatenate spl/u-boot-spl.bin and u- > boot.bin and whatever else you need and have PAD_TO be set to > $(CONFIG_SYS_TEXT_BASE), I believe).
That may work, but let's have Allen comment, since he did all the SPL work. If there's a proposed patch, I can take it and test it. Tom > > -- > Tom > > * Unknown Key > * 0x94391D56(L) -- nvpublic _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot