
Timur Tabi wrote:
Jerry Van Baren wrote:
[snip]
"UNIX was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things." – Doug Gwyn
U-Boot isn't Unix.
Indeed. However, the above quote is one of Wolfgang Denk's favorites. Don't diss it, Wolfgang will get p1ssed. ;-)
"fdt addr" (no underscore) is the subcommand that allows the user to change the fdt address
*change* the fdt address? I'm not sure that's the best way of handling it. The fdt library should simply be told where the FDT is located. Moving the FDT around in memory is probably beyond its scope.
Yes, that is what "fdt addr" does today, it tells the u-boot innards where the blob is (sets/changes the blob location). The user can download a new blob and switch to using it via the "fdt addr" command.
Your statment "The fdt library should simply be told where the FDT is located." doesn't have meaning in this context: 1) We are talking about the user command "fdt", not the C code that implements the use and manipulation of flattened device trees 2) All of the libfdt functions take the blob address as the first parameter so your statement is accurate already.
The user can use the "fdt addr" command to set/change the location of the blob. Moving blobs is not out of scope, it is what "fdt move" does. It's all in there and useful.
I think you are confusing the "fdt" command (with lots of subcommands) with the C code implementation.
Best regards, gvb