[U-Boot] Maximum size of u-boot.imx for TBS2910 board

Tom Rini trini at konsulko.com
Fri Nov 22 03:41:38 UTC 2019


On Fri, Nov 22, 2019 at 03:56:14AM +0100, Marek Vasut wrote:
> On 11/22/19 3:53 AM, Tom Rini wrote:
> > On Fri, Nov 22, 2019 at 02:38:51AM +0100, Marek Vasut wrote:
> >> On 11/22/19 2:30 AM, Tom Rini wrote:
> >>> On Fri, Nov 22, 2019 at 02:27:16AM +0100, Marek Vasut wrote:
> >>>> On 11/22/19 1:32 AM, Tom Rini wrote:
> >>>>> On Fri, Nov 22, 2019 at 01:23:56AM +0100, Marek Vasut wrote:
> >>>>>> On 11/21/19 11:45 PM, Tom Rini wrote:
> >>>>>>> On Thu, Nov 21, 2019 at 11:01:43PM +0100, Marek Vasut wrote:
> >>>>>>>> On 11/21/19 10:59 PM, Heinrich Schuchardt wrote:
> >>>>>>>>> On 11/21/19 9:12 PM, Tom Rini wrote:
> >>>>>>>>>> On Thu, Nov 21, 2019 at 09:09:29PM +0100, Heinrich Schuchardt wrote:
> >>>>>>>>>>> Hello Soeren,
> >>>>>>>>>>>
> >>>>>>>>>>> when trying to add support for function key support in the USB keyboard
> >>>>>>>>>>> driver u-boot.imx for the TBS2910 surpassed the maximum size for
> >>>>>>>>>>> u-boot.imx.
> >>>>>>>>>>> https://travis-ci.org/marex/u-boot-usb/builds/614059004
> >>>>>>>>>>>
> >>>>>>>>>>> Do you remember why on the TBS2910 board this size is limited to
> >>>>>>>>>>> 0x5fc00? Other i.MX6 boards like the Wandboard allow a much larger
> >>>>>>>>>>> u-boot.imx.
> >>>>>>>>>>>
> >>>>>>>>>>> The limit is defined here:
> >>>>>>>>>>> include/configs/tbs2910.h:80:
> >>>>>>>>>>> #define CONFIG_BOARD_SIZE_LIMIT 392192 /* (CONFIG_ENV_OFFSET - 1024) */
> >>>>>>>>>>>
> >>>>>>>>>>> Could the value CONFIG_ENV_OFFSET=0x60000 be enlarged?
> >>>>>>>>>>>
> >>>>>>>>>>> Many i.MX6 defconfigs use CONFIG_ENV_OFFSET=0xC0000.
> >>>>>>>>>>
> >>>>>>>>>> The nature of these boards (aimed at end users) means that we just do
> >>>>>>>>>> not want to / cannot really move the stored environment.  Thanks!
> >>>>>>>>>
> >>>>>>>>> Another possibility would be to reduce the image size by using
> >>>>>>>>> CONFIG_REGEX=n which should be fine for a board with only one supported
> >>>>>>>>> network interface.
> >>>>>>>>
> >>>>>>>> But the board was fine before your patchset got applied and this is just
> >>>>>>>> a workaround for added bloat, which reduces functionality. I dislike
> >>>>>>>> trading functionality for bloat, sorry.
> >>>>>>>
> >>>>>>> One persons "bloat" is another persons "added functionality".
> >>>>>>
> >>>>>> It would seem this board did not suffer from the lack of this particular
> >>>>>> functionality before, and I would say that a board should stay at least
> >>>>>> as functional as it was when it was added. Replacing existing
> >>>>>> functionality with random unrelated new one makes no sense.
> >>>>>
> >>>>> Was it tho?  I believe we're talking about supporting some additional
> >>>>> keys via USB keyboard.  This board does in fact expect users to be at
> >>>>> the U-Boot prompt via USB keyboard.
> >>>>
> >>>> How did you reach this conclusion ? It seems to be some sort of devkit.
> >>>
> >>> It came up in one of the previous threads about this board and what we
> >>> can / cannot do about the size constraint and the board maintainers
> >>> unhappiness about the overall size growth and broken releases (until
> >>> size growth became a link error on the platform).
> >>
> >> Link please ? It sounds relevant to this thread too.
> > 
> > https://lists.denx.de/pipermail/u-boot/2019-April/365297.html
> > 
> >>>>>>> I believe
> >>>>>>> the specific changes in question that once again push this board over
> >>>>>>> fall in to that grey area.  Whatever size-trimming the board maintainer
> >>>>>>> is fine with next is fine with me, but needs to get ack'd by someone.
> >>>>>>
> >>>>>> Or, the other option is, make these new extra features configurable and
> >>>>>> disable them on this board. And so there should be no size problem.
> >>>>>
> >>>>> But that direction leads to saying every slight bit of functionality
> >>>>> requires a new Kconfig entry.  Some levels of bugfixes as well.
> >>>>
> >>>> The other option is, we will sink in bloat and suffer endless size problems.
> >>>
> >>> Yes, it is a hard balancing act.  Stepping back, perhaps a "minimal" or
> >>> "complete" choice for USB HID devices would make sense and allow us
> >>> further areas to reduce size, on the minimal portion.
> >>
> >> Or maybe there is a way to help compiler optimize that USB key code
> >> handling better.
> > 
> > Perhaps.  But my point is that every little functional change or
> > enhancement does not need a Kconfig option.
> 
> Except this leads to slow and steady accumulation of bloat, and as we
> already see for quite a while, this is problematic for more and more boards.

And "bloat" and "features" are interchangable terms.  I really am trying
to be more responsive than ever to size growth in common, rather than
board specific areas.  And I agree, some investigation in to ways that
might reduce the size of binary support for USB HID devices is good.
Figuring out if we can make this series:
http://patchwork.ozlabs.org/project/uboot/list/?series=135448
not also increase the overall size, or increase it less, is good.
Hiding the content of 2/5 behind a CONFIG option in turn brings us back
to "the code is too messy and full of #ifdef" lines.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191121/a57fabc8/attachment.sig>


More information about the U-Boot mailing list