
bootm usb_stop
This is "usb stop"
So this case is easy since its a compile time choice.
bootm disable_caches
This is "icache off && dcache off"
I assume you are suggesting new toplevel cache commands.
"load_os" stays as is.
Decompresses to a destination address? I didn't see a gunzip/bz2 command in my brief search. I would rather have a "decompress" general purpose command (perhaps it is/should be part of the "image" (im*) command set?).
This is orthogonal to the bootm discussion. We can refactor the code to allow for such a toplevel command and reuse the code. But the bootm commands CAN NOT require control flow in the scripting lang. Thus the desire to decompress or not, and what type has to be hidden inside a command like "load_os". I'm ok w/providing and optional argument to the command to override the desired dest addr.
"load_fdt" could be: bootm load_fdt
This is probably "fdt move"? (which is a misnomer: it actually is a copy - my bad) The fdt source and destination addresses need to be determined (source from the image or "fdt address", malloc/lmb the destination?). I would advocate an "image" (iminfo?) command that sets, as a side effect env variables or the image header structure you identified previously.
Obviously, I have not thought through this very carefully.
Some of this can be dealt with in a second pass.
bootm boardsetup_fdt
Use "fdt boardsetup"
We can't use it directly. Remember the unconditionality/control issues.
bootm fdt_resize
"fdt move" with a size will do a resize. Perhaps a new "fdt resize" command to make it more obvious. Do we really need to resize, can we just make the fdt blob "big enough" (at the source or when we do the "fdt move") and not worry about it? Note that I addressed this previously with the "-S" dtc flag (now deprecated, use -p instead) and forced the problem on whoever built the blob originally. Not 100% satisfactory, but making it SEP is very effective. ;-)
Andy providing a patch that makes -S/-p not needed anymore. I'd prefer to keep that functionality. So we should have resize support.
The key to remember is in the first pass we have to be able to do all the steps in order and it work regardless of the input differences.. thus mimicking the current bootm functionality. This means no (if..than..else) which means we can't use any of the current commands directly.
- k