-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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! - -- Tom -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iQIcBAEBAgAGBQJQWnFxAAoJENk4IS6UOR1WybcQALKP61eZDe4AZCuhacsvFIiX EWpA4YLSDTA6Z419lkgN7qJoIKbm0lqOvlp8jyWGMgmkUjY/omGEbDjJdqRx3Fmy Hd937BU9VvUBB11S6qC/FcEpP6vC+yiSCHq9GgQ27q1qxFfnn2uzo5xODdV6XaiW mBZ4hzbLOJFxM3BVNlBAH2T/4OhVuRRucGYt68Su3EOgcbe3qd0YCHyTLuZl/k8Z HIDaKku5lgHa2BZT1JjDkRai/QuJhX53EBONc1n/S+fQr1IjXcvcppu8h4x65W8Q Rb8FKjDbUTuAvksCC/uqPJ59oMhctcmws2ywnRnGo5y097GKyl1zxyuqY5CZMSnu voJrzuIQpdPp48cXQuMHQx9z5kPmM+ohsDT9/s80AjXdS/2XqwQQjelWosn1krUi cgEq2IrtTqpiBqrYrEf1nidVJluf1VBKtCV4XRHYd6sSEteimrMu+qfLN/42U+CF tiFWqjMVpW2SCHUFogYUzARaQ/NXCYvDF1FFvnBmUWd/C9haiHqBUPba3HO/rlmb dsFM2RcMNX2CKeikA/Tdb4gwCB9wYsjJNQynE3h8BShaCbA04gYT6K1SRXSDiOuO LQuqrkLsNiL/DrqH3Trvxaxxsy0yGrs9jANfcyPlNbV+A4DKsJK6RX4MP8oYLKoV OzeS14a1CjZci5FyGgB/ =4cKu -----END PGP SIGNATURE----- _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot