[U-Boot] [PATCH 1/2] image: Implement IH_TYPE_KERNEL_ANYLOAD

Wolfgang Denk
2011-11-10T19:27:19Z

Dear Stephen Warren,

In message <4EBC2096.905@nvidia.com> you wrote:
>
> OK, I'll rework the patch based on your desired naming.

Thanks.

> However, I do wish to point out that U-Boot's use of the term "load" for
> what is really a "copy"/"move" is incorrect according to the typically
> accepted meaning of the word "load". The extload/fatload commands use
> "load" correctly. I admit relocate is also not a correct phrase to
> describe what's happening.

I agree that these terms are often used intermixed, and few people
actually think about their meaning. [Just look up in the mailing list
how many people complained that "bootm" did not work when they
"loaded" the images to the address given in the "load adress" field.]

However, I still think that as far as "bootm" is related, the term
"load" is the correct one. Quoting for example wikipedia:

In computing, a loader is the part of an operating system that
is responsible for loading programs. It is one of the
essential stages in the process of starting a program, as it
places programs into memory and prepares them for execution.
Loading a program involves reading the contents of executable
file, the file containing the program text, into memory, and
then carrying out other required preparatory tasks to prepare
the executable for running. Once loading is complete, the
operating system starts the program by passing control to the
loaded program code.

[http://en.wikipedia.org/wiki/Program_loader]

As for extload/fatload - well, these perform "loading" functions to,
in the sense of "reading the contents of a file into memory".

I agree that these terms are often used intermixed, and few people
actually think about their meaning. [Just look up in the mailing list
how many people complained that "bootm" did not work when they
"loaded" the images to the address given in the "load adress" field.]

However, I still think that as far as "bootm" is related, the term
"load" is the correct one. Quoting for example wikipedia:

In computing, a loader is the part of an operating system that
is responsible for loading programs. It is one of the
essential stages in the process of starting a program, as it
places programs into memory and prepares them for execution.
Loading a program involves reading the contents of executable
file, the file containing the program text, into memory, and
then carrying out other required preparatory tasks to prepare
the executable for running. Once loading is complete, the
operating system starts the program by passing control to the
loaded program code.

[http://en.wikipedia.org/wiki/Program_loader]

As for extload/fatload - well, these perform "loading" functions to,
in the sense of "reading the contents of a file into memory". But I
don't think much thought was spent on these names when they were
chosen...

> > "bootm" is to boot Linux. I am not aware of any other OS that can be
> > successfully booted with the "bootm" command (and ifso, it probably
> > gould be started with "go" as well).
>
> I didn't want to burden my previous email with details, and I quite
> admit I may be wrong here since I'm not familiar with U-Boot's code, but
> what about the following in cmd_bootm.c:

Indeed, you are right. I had completely forgotten about these. Heck,
how long didn't I use any of these any more...

> Don't they allow the bootm command to boot other OSs? Those functions
> certainly appear to be called at the end of cmd_bootm() to do the actual
> kernel parameter setup and boot.

Yes, you are right. Please ignore my comment.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Remember that Beethoven wrote his first symphony in C ...