
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