[U-Boot-Users] [PATCH] Update to stand alone program feature
Jerry Van Baren
gerald.vanbaren at smiths-aerospace.com
Thu May 10 17:10:44 CEST 2007
Jeff Mann wrote:
>> Technically, you write: "function_no is defined by the enum
>> type of _exports.h, so it must be included in the stand
>> alone program."
>>
>> I will reject this patch. As the name "_exports.h" suggests,
>> it is intended to contain implementation internals that are
>> not supposed to be used by application code.
>
> Let me clearify (then I can update the doucmentation if we come up with
> a better description). As you know, the list of functions in _exports.h
> is used to create the enumerated type: XF_get_version 0, XF_getc 1,
> XF_tstc 2, ... Etc. So as long as the user has included exports.h or has
> uses some other means to identify the function's jump table inxex number
> in his/her stand along program, he can know if that function is
> available in u-boot.
>
> This is useful when, for exmaple, a company builds boards both with and
> without NAND support. A stand along program will be able to know that
> that board was loaded with a u-boot that did not incude NAND support.
[snip]
> -JM
What would be Really Cool[tm] would be to enhance the elf loading
capability to resolve unresolved link addresses for the standalone
application entry points. Then the standalone program could be loaded
by u-boot with the interfaces fixed up by the elf loader. This would
eliminate all the problems of jump tables and keeping them synchronized.
<http://www.gnu.org/software/binutils/manual/html_chapter/binutils_14.html>
<http://www.linuxjournal.com/article/1059>
<http://www.linuxjournal.com/article/1060>
Possible problems that come to mind...
* Code bloat
* The coupling between GPL u-boot and potentially proprietary standalone
programs arguably is tighter. In practical terms, I don't see this
as an issue, but it really isn't my call. I would contend this is
similar to linux loadable device drivers and the current standalone
programs have license to call back into u-boot - the same functions,
simply a different interface mechanism.
* My ignorance may be making a molehill out of a mountain of work
* So many interesting things to do, so little time :-(
Best regards,
gvb
More information about the U-Boot
mailing list